在支持开源软件一文中,我讨论了更好地支持开源项目贡献者的迫切需要。现在,Quo Vadis,开源?Michael Dorner、Maximian Capraro和Ann Barcomb所著的“开源增长的极限”(Limits Of Open Source Growth)提供了统计证据,表明这个问题正在影响开源环境的活力。请跟我到下面的折叠处了解详细情况。他们的摘要写道(我强调的):开放源码软件在软件行业中扮演着重要的角色。以前的工作描述了开放源码正在以多项式甚至指数的方式增长。然而,在资源有限的情况下,这样的增长不可能无限持续。在这项研究中,我们给出了过去25年来考虑到超过224,000个开源项目的四个关于开源规模和增长的累积测量的结果。对于这些项目中的每一个,我们随着时间的推移测量了代码行、提交、贡献者和生命周期状态,这复制和复制了三个经常被引用的研究的测量结果。我们发现,自2016年以来,活跃的开源项目数量一直在减少,贡献者和提交数量从2013年的峰值下降。开源--尽管最初是以指数级的速度增长--现在已经不再增长了。我们认为它已经达到饱和。
作者观察到(图4),每月承诺率在2010年之前呈指数级增长,在2013年达到峰值,然后下降,直到2019年与2007年的比率持平。我认为,这是W·布莱恩·亚瑟(W.Brian Arthur)科技经济模型的应用。当一个新的利基市场被发现时,将开始许多努力来解决它。随着时间的推移,不断增加的规模回报(网络效应)将推动其中几家,或许只有一家主导利基市场。获胜者可能会通过快速添加功能(提交)来主导利基市场。失败者将无法跟上,因此他们的提交率将下降,他们将变得不活跃,然后被放弃。随着优胜者竞争的减少,他们添加的功能将会减少。他们的承诺将越来越多地是错误修复,或解决漏洞,因此他们的比率也会下降,但会以较低但不变的速度稳定下来。请注意,此模型不适用于少数大型聚合项目,如Linux内核。也许最有趣的图表是图6,它显示了处于不同生命周期阶段的开放源码项目的数量。作者们观察到:我们能够确认到2013年,所有可用的项目都呈指数级增长,而大多数项目都是不活跃的--他们在给定的月份内没有收到承诺(原文如此)。..。大多数不活跃的项目再也不会收到捐款了-它们被放弃了。
还有:在积极开发的开放源码项目中,在一个月内至少收到一份贡献的那部分很少,并且随着时间的推移几乎是恒定的。
如果我是对的,活跃的项目组将包括那些大型项目,通常是基础设施项目,以及一组仍在竞争主导其利基市场的较小项目。按照年龄和规模对多纳等人的活跃项目数据进行分层将是非常有趣的。人们预计会有两组人:请注意,不活动的较小项目可能会被广泛使用。它主宰了它的利基市场,获得了所有重要的功能,并摆脱了所有容易找到的漏洞。一小部分较小的项目可能会保持这种成熟状态,直到被淘汰。作者观察到(图7)每月活跃贡献者的数量与每月提交的数量相似的行为。它在2010年之前呈指数级增长,在2013年达到顶峰,然后下降,直到2019年,与2007年的增长率持平。当然,如果所有的贡献者都有同等的生产力,这是人们所期望的。它们不是;众所周知,程序员的生产力是一个长尾分布。但想必这种分布不会随时间变化太多,所以平均生产率和中值生产率之间的差异相对稳定,导致了相同的结果。作者对他们观察到的开源饱和现象提出了一些可能的解释:愿意自愿的开发人员减少了,付费开发工作没有相应的增加。
由于公司资源管理,从志愿者向付费捐款的转变减少了每个参与者的有效缴费时间。
一代人的转变(2005年贡献者的平均年龄是31岁,2017年是30岁[17,18]),从集体志愿服务到反射性志愿服务[21],也许是为了应对开源参与在职业发展中日益增长的作用。
增加软件项目的正规化,需要开发人员付出大量努力来遵守提交或基础指导方针。
捐款质量下降,因此捐款接受率较低,总体上
这些似乎都有道理,但我想再加一个,同样是基于W·布莱恩·亚瑟(W.Brian Arthur)的模型。随着时间的推移,新开盘的利基市场与现有赢家相邻的可能性会增加。因此,对新功能的需求越来越有可能通过它的一个常规贡献者向现有项目添加少量的承诺来满足,而不是几个新的贡献者为开始一个新项目而做出更多的承诺。这类似于没有反垄断执法的情况下,科技寡头可以压制来自新创业公司的竞争。向格林·穆迪(Glyn Moody)致敬,他总结道:这项新的研究可能表明,几十年来无私奉献的开源社区正显示出利他主义疲惫的迹象。现在是公司开始回馈社会的好时机,对开源项目的支持力度要比目前大得多。