对企业和开发人员来说,开源贡献具有重要意义。它能帮助企业建立自己的开源标准,同时能够吸引多样化人才,可以帮助开发人员丰富开发经验,提升个人能力。但事实上,如此明显的优势并没有吸引更多的开发人员从事这个行业。
开源软件可能会成为主导未来驱动云计算、人工智能等的软件,但目前只有一小部分开发人员负责主要的代码编写。虽然对于任何固定的开源项目来说,绝大多数核心贡献都来自于一群忠诚的开发人员,但是未来消费开源的趋势可能会转变为编写开源程序。
这看起来只是时间问题。
开源***制,但开源贡献有很多限制
开源贡献者的职业收益很可观,但令人惊讶的是参与开源贡献的人并不多。根据Stack Overflow最近的 一项调查显示,仅有12.4%的开发者每月至少贡献一次,另有23.1%的开发者表示他们每年至少贡献一次,但还达不到每月一次的程度。
接受调查的开发人员中,有80.2%的人表示他们将编码作为业余爱好。虽然有孩子的开发人员不太可能花时间编写代码,但仍有很大比例的开发人员在空闲时间编写代码。那么为什么他们不选择为开源项目做贡献呢?
Mathew Lodge指出,开源项目并不那么欢迎开发人员的贡献:“任何开源项目都不欢迎陌生人的一次性贡献,而且他们的贡献被接受也有非常大的困难。”换句话说,为开源项目贡献的权限并不那么容易获得,而且开发人员可能不愿意花费太多业余时间说服项目维护者,以获得为开源项目贡献的权限。
开源项目维护者不愿意接受一次性贡献并非没有道理,正如 Mark Callaghan所强调的那样:“即使我了解开源贡献者,也会对他们的一次性贡献保持警惕。”
此外,Ross Gardler表示,开源贡献的***方案是是开发共享组件。数据显示,开发人员的大部分时间都花在了规划、粘合代码、测试、协调上。有时还要说服项目维护者自己的贡献是有价值的。换句话说,开发人员贡献的每一行代码都需要进行大量的幕后准备工作。
如果你是靠写开源软件赚钱的,这并不是什么大问题。然而,大多数人只是将其作为业余爱好。
“没有时间”和“免费贡献”
虽然开发人员喜欢在业余时间编写代码,但很少有人有足够的空闲时间将其用于真正的开源贡献。正如Drupal创始人 Dries Buytaert所说的那样,“开源社区经常误以为每个人都可以做出贡献。然而,不是每个人都有足够的空闲时间来进行开源贡献。” 开源社区的不平等使得业余开源贡献人员难以拥有为开源做出贡献的“空闲时间”。因此,在开源社区中实行精英管理的想法有点不切实际。
Tobie Langel也对相关话题发表了观点:
开源很大程度上是建立在工程师的空闲时间上的,但是他们并非时时都有空闲时间。那些工作忙碌、需要照顾老人与孩子或者由于住房成本而长途通勤的人们,只是没有时间来做贡献。科技行业的性别失衡已经相当严重:女性只占劳动力的12%至24%,这项数据具体到开源行业中还要更低。
开源为那些有权参与的人提供了经验、曝光度和平台,它导致了工资和职位得差距扩大化。实际上,GitHub调查中,过半的受访者声称,开源在某些方面对他们目前的角色有非常重要的影响。由于受访者大多为男性,因此很容易看出谁从中受益。
因此,Langel建议使开源专业化,即付钱给开发人员让他们为开源做出贡献。许多软件(或软件服务)供应商已经在这样做,并取得了良好的效果,但在软件的主流用户(如银行、零售商等)中,这种情况仍然非常少见。目前还不清楚出现这种情况的原因。Langel认为,一个成熟的开源战略可以帮助公司改善和推动关键项目的进行,丰富其企业文化,并使公司吸引更加多样化的人才。
依靠开发人员个人是无法解决这个问题的,原因是前文提到的“没有时间”和通过开源软件的人不需要解决此类问题。但是,通过开源贡献获益的企业(而不仅仅是消费开源),可以尝试解决开源市场固有的不公平问题。