如今,个人和组织对于为开源作贡献有着前所未有的激情。据 Black Duck 第10期年度开源调查报告显示,有 65% 的受访企业表示正参与到开源项目,67% 的企业正积极鼓励员工开展自己的开源项目。由 Linux 基金会发布的 “Who Writes Linux” 报告也显示,自2005年以来总共有 13594 名开发者为该项目贡献代码。
创建和维护那些被广泛使用的开源项目每年可能需要耗费数千小时,为什么开发者会愿意花费时间和精力编写这些免费公开的代码?为什么企业会愿意让他们的员工编写代码,开源让其他公司甚至是竞争对手都可以使用?
以下总结了九个参与开源的最常见的动机。如果你之前没有参与过,看完或许会有兴趣去尝试一下。
1、改进代码&改善功能
大多数的组织和个人首先参与的是他们正在使用的开源项目,主要目的是想让项目/软件变得更完善,更便于自己使用。
当然,开发者也可以自由修改自己需要的功能,而无需将代码反馈给整个社区。然而,许多人会发现,将这部分的工作继续分享才是能让利益最大化的方式。因为如果他们没有贡献这部分功能的代码,会有一个风险是,当项目发布新版本,这些功能可能不再工作,需重新调试。
2、获取竞争优势&提升品牌形象
许多组织和企业参与开源以获取竞争优势。这听起来似乎有点不合常理,因为将代码开源给任何人都可以,怎么会有优势? 然而,实际情况是,当他们的开发人员为项目编写代码后,会比那些只使用的人更加了解该项目。而且有一些公司还能够利用这些专业知识来获得利润。
此外,这种行为也有助于提高组织和企业的声誉,提升品牌形象,特别是在开发者之间的口碑。带来的好处就是利于招聘和留住人才。
3、降低开发成本
在 Black Duck 2015年的调查中,组织表示他们贡献开源的首要原因就是为了降低开发成本。虽然到2016年,降低开发成本已在调查结果中降至第三,但这仍然十分重要。
当组织开源一个内部项目时,他们能够接触到更大的开发者群体。不再仅仅依靠自己的团队成员,从许多不同的人那里获得的贡献,都能让项目变得更好。通过加入开源社区,企业可以得到由数百或数千个开发者完成并提交过来的工作成果,远比自己团队的几个人或几十个人高效的多。
4、支持开源信仰
有些企业会将开源和自由软件的承诺放在其核心价值观之中,甚至将其包括在使命或愿景中。与公司使命和价值观保持一致,也是开发者为开源项目作贡献的一大理由。
有些 leader 认为,开放和自由会让产品,甚至让世界更美好。 如前所述,这种价值观有时会给企业带来额外的好处,比如更强的品牌声誉,更好的招聘和留住员工等等。
5、促进行业标准
许多企业已经发现,行业技术标准就像是载舟而起的水,当做出来的产品符合行业标准时,他们实现了与市场上的相关产品更好的互操作性,这可以使他们的产品对用户更具吸引力。
整个技术行业已经有数十个组织致力于创建和维护开放标准,许多科技巨头也都在积极带领和资助这些组织,目的就是为了改进整个行业使用的核心技术。
6、让项目更易用
不是只有开发者才能对开源项目作出贡献。项目还需要技术撰稿人创建文档,翻译人员将文本转换为其他语言,设计人员使界面更直观、更具吸引力等等。 事实上,许多开源项目都在积极寻找有这些技能的贡献者。
以这些方式作出贡献可以使项目更易用。更好的可用性通常意味着更大的用户群,吸引更多的贡献者,这也意味着能让项目长期保持高质量。
7、为更好的职业生涯而奋斗
据 Linux 基金会2016年发布的报告显示,有86%的专业技术人员表示开源对他们的职业生涯有所帮助。 许多公司都希望聘用具有与指定开源项目相关技能的人才,实际为项目贡献过的代码能更好的展示你的能力。
此外,在开源项目上的工作也可以帮助快速提高个人技能;通过与社区其他成员的密切互动,还可以扩宽你的人脉,这些都能给自己的职业生涯带来帮助。
8、回馈开源
回馈,也是许多开发者在被问及为什么要贡献代码的时候的答案。他们曾将别人开源的代码用在自己的项目当中,节省了大量的时间和精力。重复造轮子没有意义,大部分的工作已由他人做好。所以从开源中获益的开发者通常愿意“向前付费”,以便未来其他程序员可以体验到类似的好处。
9、享受乐趣
最后但并非最不重要的一点是,许多开发者参与开源项目,是因为他们觉得这件事情很快乐。 事实上,在 Linus Torvalds 写的讲述了他如何创建 Linux 的书中,他称此为“Just for Fun”。
许许多多的流行开源项目最开始都是源于创作者的喜好,他们也很享受这种能够创造任何自己想要的项目的自由。 确实,许多人长期参与开源不也是为了这种愉悦感吗。
原文:9 Reasons to Contribute to an Open Source Project
编译:开源中国