谁在使用的内核背后是谁?
早在 2008 年 4 月,Linux 基金会 发布了一份小型报告,这份报告颠覆了许多关于 Linux 开发的看法。现在,他们又一次这样做了。
这份名为Linux 内核开发:速度有多快,谁在做,他们在做什么,以及谁在赞助?的报告揭示了许多关于 Linux 内核的事情。内核的总代码行数达到 8,859,683 行,以每年约 10% 的速度增长,平均每天增加约 3,621 行代码,同时删除 1,550 行,更改 1,425 行。然而,可能最有趣的数字是关于这些变化背后的面孔。
根据报告,最新的版本——在撰写时——由 3,678 位开发者编写,个人开发者在短短三年内增加了百分之五十。报告还发现,内核 15% 的工作是由排名前十的开发者完成的,每人贡献了超过 1% 的代码,有些人贡献的代码甚至接近 2%。有趣的是——尽管考虑到他作为最高维护者的角色,这并不令人惊讶——首席开发者 Linus Torvalds 排名第 27 位,贡献了 0.6%。
也许,报告中最具启发性的部分是企业的参与程度。开源项目似乎有一种神秘感,一种普遍的观念认为它们是数百名个人贡献者在业余时间辛勤工作的成果。基金会的报告打破了这种看法,发现 75% 的工作是由参与的前十个团体贡献的。其中排名前两位的——“无”和“未知”——负责了大量工作,尽管“未知”组完全由在过去三年中贡献少于十次的开发者组成。根据报告,即使假设“未知”组中的每位开发者都是非关联的——极不可能——那些受雇贡献的人所做的工作仍然占所有内核开发的 70% 以上。对于那些每个人总是想摆脱的公司来说,这还不错。
可悲的是,这份报告已经过时了——正如它自己所表明的那样,内核开发以惊人的速度加速,使得一份一年半前的报告变得过时。正是出于这个原因,Linux 基金会 今天宣布,更新后的报告已可供下载,由原作者 Jonathan Corbet 和 Greg Kroah-Hartman 以及基金会副总裁 Amanda McPherson 撰写。
正如可能预期的那样,新报告发现内核增长仍然强劲,2.6.30 内核包含 11,560,971 行代码,在过去一年半中增加了 2,701,288 行。报告称,随着 linux-next 树的加入,增长呈指数级增长,补丁在提交到主内核树之前会在该树中进行暂存。在过去四年半中,平均每天添加 6,422 行代码,删除 3,285 行,更改 1,687 行——这比原始报告中每日添加和删除的数量增加了百分之五十。
新报告发现,在过去三年中,个人开发者社区增长了约百分之五十,共有 1,150 名开发者参与了 2.6.30 内核的开发。尽管如此,顶尖贡献者之所以顶尖是有原因的。提交补丁的开发者中,约 33%——总共近 400 人——只做了一件事:提交了一个补丁。排名前十的开发者贡献了略低于 12% 的代码,而排名前三十的开发者可以声称贡献了 25%。目前的个人顶级贡献者 David S. Miller 以 1.5% 的贡献率位居原始报告中的第二位,贡献率为 1.8%。报告指出,Linus 跌出了前三十名,这是一个“有趣的”启示,考虑到他更偏向于管理角色,这并不令人意外。报告接着指出,“合并提交”不计入报告中,而 Linus 负责大量的合并提交。
当然,还有赞助部分。“无”仍然保持首位,占总贡献的 18.%——然而,“未知”下滑至第三位,从之前的 12.9% 降至 7.6%。第二名被 Red Hat 夺走——在之前的报告中排名第三——从之前的 11.2% 上升至目前的 12.3%。再次强调,内核上超过 70% 的开发工作是由那些受雇从事这项工作的人完成的。报告还指出,“无”组贡献的跃升部分是由于更好的识别——“未知”组的下降代表了对其隶属关系或缺乏隶属关系的识别,许多人随后转移到“无”类别。
当然,两份报告都包含大量其他数据,包括审查和批准变更的数据——对于任何有兴趣揭开幕布,了解内核开发中真正发生的事情的人来说,这份完整的十七页报告都值得一读。
两份报告的全文均可从 Linux 基金会获取——2009 年的报告为 PDF 格式。
- Linux 内核开发:速度有多快,谁在做,他们在做什么,以及谁在赞助(2008 年 4 月)
- Linux 内核开发:速度有多快,谁在做,他们在做什么,以及谁在赞助(2009 年 8 月)