课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
开源软件是开发世界的重中之重。不仅每种开发工具都有相应的开源方案,而且某些领域完全由开源产品主导。此外,开源社区的协作本质体现了共享代码、知识和最佳实践的价值,而这是开发人员文化的核心。
在开发人员的世界中,开源软件无处不在,但并非每个开发人员都是开源人员。该报告探讨了哪些开发人员为开源软件做过贡献,他们愿意做贡献的原因,以及他们希望从各个公司获得哪些开源支持。
图:59%的开发人员曾为开源软件做贡献
59%这个数字本身就让很多人非常吃惊,这代表了在数百万开发人员中,只有五分之二没有为开源软件做过贡献。下面让我们来看看为开源做出过贡献的开发人员与那些没有做出贡献的开发人员之间有什么区别。
总体来看,开源贡献者比非贡献者更年轻。为开源做出过贡献的开发人员中,三分之一(33%)的人不到24岁,而非贡献者中只有26%。但并不是说他们都是没有经验的程序员。41%的开源贡献者拥有1-5年的开发经验,甚至比非贡献者高4%。
然而出人意料的是,开源贡献者不一定是专业人员。实际上,他们与非贡献者一样都是业余爱好者。即便是非软件行业的从业者也可以参与开源软件的开发,并为之做出贡献。
开源贡献者涉猎多个开发领域的比例高于非贡献者。但是,开源贡献者更倾向于参与新兴领域,例如机器学习/AI以及AR / VR,这些领域的创新主要由开源工具推动。
最后,我们可以通过开源托管网站Github上的活动,洞悉开发人员对开源软件做出贡献的可能性。这种关联性非常明显。在非贡献者之中,有三分之二(67%)没有个人公开的Github代码库,而近一半的贡献者(48%)拥有两个或多个公共代码库。我们通过Stack Overflow也发现了相似的关联性。非贡献者中不使用该网站的比例更高,或虽然访问该网站却没有账号。另一方面,在开源贡献者中,至少获得了一枚奖章的开发人员是非贡献者的两倍(30%与15%)。从事开源项目有助于推动开发人员积极地通过问答网站与同行互动。
以上我们分析了为开源软件项目做出了贡献的开发人员。下面我们来深入探讨这些开发人员为开源做贡献的原因。
三分之一的开发人员致力于开源软件是为了提高编程技术
推动开发人员为开源项目做出贡献的最大动力在于提高编程技术(29%),以及相信开源带来的好处(26%)。
此外,22%的开发人员为开源软件做贡献是因为觉得开源项目很有趣,或者是为了解决开源软件项目现有的问题,例如修复bug或创建新功能。
相比之下,金钱上的资助是最不重要的动机:只有3%的开发人员可以通过开源项目的工作而获得报酬。事实证明,开发人员更倾向于通过开源项目建立自己的口碑(14%)或培养人际关系(11%),而不是直接获得经济收益。此外,与在其他原因的推动下为开源做贡献的开发人员相比,以获得报酬为目标的开发人员认为开源有趣的比例低了20%。通过开源获得报酬的开发人员在意识形态上也不太相信开源是自由之源。
通常,开发人员为开源做贡献的动机并不唯一,他们往往会受到多种因素的激励。例如,在为开源代码做出贡献的目的是为了提高编程技术的开发人员之中,有一半的人也认为这项工作很有趣;同时为了培养人际关系的贡献者之中,56%的人还认为这项工作让他们有归属感。
图:29%的开发人员为开源软件贡献代码的目的是为了提高编程技术
将近一半的开源贡献者希望各个公司支持开源社区并为之做贡献
该报告还询问开发人员他们希望各个公司提供哪些开源支持。在没有为开源软件做出过贡献的开发人员中,有33%的人对各个公司没有任何期望,而在开源贡献者之中只有15%的人不抱期望。尽管如此,三分之二的非贡献者仍然认为各个公司应当参与其中,并为开源软件运动提供支持。他们明白开源的重要性,并相信各大公司都应该参与开源。
另一方面,44%的开源贡献者希望各个公司支持开源社区并为之做出贡献。另外,希望为解决实际问题做贡献的开发人员比例高达55%。
许多贡献者(44%)希望获得有关如何在公司产品或服务上使用开源软件的完整文档。这对于通过开源获得报酬的开发人员来说尤为重要(53%)。
有趣的是,开源开发人员并不一定希望公司基于开源软件来构建产品和服务(39%)。就对开源软件的支持而言,开发人员在这方面对各个公司的期望最低。
开源软件贡献者的构成包含形形色色的人群。他们的贡献动机非常广泛,包括学习、享受乐趣、建立口碑以及培养人际关系。总而言之,开发人员为开源做贡献的理由各种各样,而且他们希望各个公司能够提供支持。