为什么您的公司应该为开源做贡献

还没有读者喜欢这个。
Chat

Opensource.com

经过近三十年的发展,开源软件已经稳固地进入主流应用。各大公司都明白通过开放社区开发的软件所带来的独特价值,并欢迎在整个企业的关键任务环境中采用开源软件。

采用开源的公司处于为他们所依赖的开源社区做出贡献的有利位置。例如,大多数 Linux 内核是由 IBM 和 RedHat 这样的公司的员工开发和维护的。然而,许多公司(尤其是小型企业)的企业文化往往严格倾向于消费开源,而远离贡献。例如,在 最近对 Liferay 社区的调查中,我们发现近 75% 的受访公司不奖励或鼓励开源贡献。

我们社区的传闻证据表明,公司不积极参与他们所依赖的开源社区主要有两个原因。首先,公司认为花时间为开源做贡献就是花时间远离为公司目标做贡献。其次,人们担心参与开源意味着放弃有竞争力的知识产权。

这些担忧在协作开源软件创造的独特氛围中迅速消散,原因如下

参与开源 = 免费在职培训

在响应老板关于网站速度慢的投诉并实施大型供应商链门户网站重新设计之后,计算机工作人员没有太多空闲时间来处理雇主可能认为是必须“在工作时间之外”完成的“个人项目”。 

这些公司未能意识到的是,参与开源是一种免费的在职培训形式。当然,修复错误或实现新功能、对其进行测试、准备代码提交以及与核心开发团队合作将更改合并到代码库中需要时间。好消息是,在完成这些任务的过程中,员工正在学习关于健全的软件工程实践、质量保证、领导力、沟通技巧和团队合作(通常跨越地域和文化界限)——这对公司及其员工来说是典型的双赢。

此外,每次成功的贡献都减少了公司在未来升级期间必须支持的一件事。最后,随着员工通过参与开发专业知识,他们在使用软件时变得更加高效,并降低了增量功能开发和未来维护的成本。公司可以通过与项目相关的增值服务来销售这些专业知识。

没有人想要您的知识产权

突发新闻:您的竞争对手 宁愿失败 也不愿承认您的专业知识并使用您的知识产权追随您的脚步。他们不想要您的 IP,因为它是毫无价值的,他们对此深信不疑。因此,贡献对您的业务如此重要的新功能很可能不会在您的竞争对手总部引起任何轰动,但仍然会让您获得上述好处。

此外,整个开源项目将更好地了解您的业务,并且很可能会找到您从未考虑过的创新改进。

当然,制定明确的公司政策来参与和贡献开源是必须的,特别是如果公司与公共部门相关。这些政策的制定应以公司的核心目标为指导,但一点常识和对贡献的间接好处的考虑可以大大有助于吸引和留住那些愿意更进一步做出一点贡献的热情员工。

参与开源给潜在客户和员工留下深刻印象

公司决定是否与其他公司开展业务,不仅仅基于底线。与您所依赖的开源社区建立深厚的关系,向您当前和潜在的客户发出强烈的信号,表明您愿意投资于开源的互惠互利,并且您也同样愿意与他们这样做。高技能的求职者也大量参与开源项目,并寻找在职场上有活跃表现的公司作为潜在雇主,因此深入与您的业务相关的核心社区是有回报的。

那么公司如何开始在开源社区中留下印记呢?公司不必全力以赴地进行开源贡献(尽管这样做肯定没有错!)。传统的手段,如错误报告、论坛、补丁、功能、文档和翻译都很棒。但公司还可以通过其他重要方式做出贡献

  • 撰写关于开源采用和贡献的博客(例如,Netflix)。
  • 与开源项目合作进行案例研究。
  • 在技术会议上发表演讲。
  • 主动为项目举办聚会。
  • 捐赠或参与与项目相关的基金会(例如,OSIOuterCurveEclipse 基金会等)。

鼓励开源参与文化不需要花费太多精力,但会对公司、员工及其贡献的开源社区产生持久的积极影响。

标签
James Falkner's picture
技术传播者、教师、学习者、作者,致力于开源和开放计算。我在红帽公司担任红帽开源产品组合的技术传播者,热爱我们的工作以及向他人学习,偶尔也在会议上授课。

3 条评论

我完全同意这篇文章。越来越多的公司开始关注开源,以了解如何处理他们的产品。公司还会关注员工是否参与开源项目以进行招聘。通过这种方式,他们将知道未来的员工是否投入且自主。

没有人想要您的知识产权:这是本文所有观点中最正确的一点。我自己是 GaiaEHR(电子病历)和 Matcha(Sencha 的双向 microORM)这两个项目的贡献者,这两个项目都是开源的,我们甚至不会关注其他专有产品来告诉我们该怎么做,大多数时候我们从社区(潜在用户)那里获取想法。这是显而易见的选择,有时我们会分析这些想法,并选择实施哪些,不实施哪些。这条道路将始终超越专有道路,原因很合乎逻辑,他们有愿景,而且通常这种愿景会被给予他们的人的中心愿景所缩短。

参与开源给潜在客户和员工留下深刻印象:是的,这给人们留下了深刻的印象,而且也是一个很棒的公关(公共关系)。

即便如此,这就是自然!人类天生就是有创造力并创造新事物。你不觉得吗?
做一件事的方法有很多种,对吧?

这些论点不是很令人信服。

认为从事开源软件是“免费在职培训”的想法是无稽之谈。首先,这远非免费,因为员工正在使用公司的时间和资源来做与公司需求无关的工作。其次,更好的“在职培训”是从事公司自己的软件,这才是员工理应“培训”要做的事情,而不是一些无关的软件。这不仅是“在职培训”,而且直接为公司带来利益。

这里有一个类比:假设我在一家汽车修理厂工作。附近还有其他几家店。有时我喜欢在工作时间走过去在其他人的店里做一些工作。我不明白我的老板为什么反对;毕竟,这是“免费在职培训”。我学习了健全的汽车维修实践,学习了沟通技巧、团队合作等等。

“没有人想要您的知识产权”——确实,大多数公司不会费心研究竞争对手发布的开源代码。更重要的是,消费者自己将可以访问代码,这使得黑客(他们没有现有软件,也没有既得利益)能够构建免费的竞争产品。

我在计算机行业工作了 30 多年,我从未见过任何证据表明开源贡献会给任何人留下深刻印象,除了可能一些刚毕业的大学生,他们对现实世界几乎没有经验。在我的职业生涯中,我可能面试过 100 多名工程职位候选人,但从未有人提出过参与开源的话题。公司 A 因为参与开源而更愿意与公司 B 合作的想法是荒谬的。公司之间的合作是出于自身利益,而不是意识形态。

很棒的文章,我对这个主题的看法与吉诺·里维拉相同。

我是 Clinovo 背后 ClinCapture® 开发团队的一员,ClinCapture® 是一个开源电子数据采集系统,该系统是从 OpenClinica 分叉出来的。我们的系统定位为专有昂贵系统或用于进行临床试验的低效且容易出错的纸质解决方案的替代方案。我们将 ClinCapture® 的开源视为提高代码库整体质量的最佳方法之一,因为有大量人员对其进行审查和工作。

我们所有的社区成员都具有提交代码的能力(并受到鼓励)。补丁由其他开发人员审查,如果他们认为补丁符合要求的标准且不会破坏现有功能,则会将代码提交到存储库。任何人都可以请求功能、记录错误票证或提出增强建议,所有提交的代码都组织到一个里程碑中,该里程碑通常以两周为时限,最终形成每两周发布一次的发布计划。我们的社区也面向用户,正如吉诺所说,我们从用户和潜在用户的社区中获取想法。

就 ClinCapture® 而言,我会犹豫是否将其称为“免费在职培训”。此外,我们吸引了许多可能希望在其当前公司使用该系统并提出更改、改进功能或修复错误的开发人员。从这个意义上说,他们在为系统造福的同时,也为雇主节省了资金。

顺便提一下,如果有人有兴趣了解我们的社区,请随时访问:http://www.clinovo.com/clincapture/community

知识共享许可协议本作品根据知识共享署名-相同方式共享 3.0 未本地化许可协议获得许可。
© . All rights reserved.