Linux开发人员继续以快速的步伐推出新内核,但根据Linux基金会最近发布的一份报告显示,在过去的一年里,新代码的提交步调明显变慢了。该 报告还指出,Linux内核开发的杰出贡献者也在发生变化,越来越多的移动开发人员加入到Linux内核开发队伍,这是Linux基金会第三次年度“谁在 写Linux”报告(报告PDF下载地址),总结了过去一年来Linux内核的进展情况。
根据2010年“谁在写Linux”报告显示,提交给2.6.35内核的代码量比去年发布的2.6.30内核的代码量少18%,过去一年来提交的内核代码减少的原因很多,包括阶段代码新的提交流程。
Linux基金会市场营销和开发计划副总裁,报告的合著者Amanda McPherson说:“我认为阶段树不是简单的代码增加,也不是在以前的版本上简单的膨胀”。(51CTO编辑注:树/tree是软件开发过程中的一个 常用语。尤其在开源项目中,由于代码来自很多开发者,因此就有一个代码层层加入主代码库的过程,感觉好像树一样的结构)
报告解释了从2.6.28内核开始的代码阶段树。最初的状态树启动了一个进程,将大量树外的代码合并到主Linux内核中。根据今年的报告显示, 从 2.6.31开发周期可以看出,因积压下来的大量代码需要处理,这一进程就放慢了。报告还指出,新的驱动程序经由阶段树源源不断进入主Linux内核。
虽然新代码的提交步伐和去年相比不在同一水平,但整体来看进展还是不错。报告指出,自2.6.30内核开始,每天有9058行代码添加到Linux内核,包括周末和节假日。
过去五年半以来,从2005年的2.6.11内核到2010年的2.6.35内核,平均每一小时就会有4.02个补丁应用到内核树上。
内核发布后,就进入维护期,根据需要更新补丁。有些版本的内核更新补丁会多一点,如2.6.32内核是过去五年来更新补丁最多的一个版本(报告指 出 2.6.32内核总共有1793个修复补丁)。McPherson指出,Linux 2.6.32内核经过长时间的补丁修复,现在正稳定更新中。
McPherson说:“2.6.32内核已经用在RHEL 6,SLES11中,如果我没记错的话,有一个Ubuntu LTS发行版也使用了它,因此这个版本的内核得到了大家持续的关爱,2.6.32现在仍然在更新,而比它高一个版本的2.6.33-35已停止更新”。
谁是内核贡献者?
正如最近五个内核版本提交的代码数量下降一样,为Linux内核贡献代码的企业数量也在下降。2.6.30内核已知的代码贡献企业是245家,但到2.6.35版本时,贡献代码的企业数量就下降到184了。
一些知名的Linux内核代码贡献企业也发生了细微的变化。
贡献最多的仍然要数Red Hat,2.6.30内核有12%的代码变化都是Red Hat贡献的
英特尔次之,贡献了7.8%
Novell贡献了5%
IBM贡献了4.8%
McPherson说:“今年报告中的数字正如我们预料的一样,我很高兴地看到赞助内核开发的顶级企业发生了变化,移动/嵌入式开发公司表现得越来越活跃”。
从2.6.30内核开始,诺基亚贡献了2.3%的代码,德克萨斯仪器提交了1.5%的代码,无线厂商Atheros添加了1.4%的Linux内核代码。
相反,Ubuntu Linux背后的Canonical在最近五个Linux内核版本中所做的贡献却很少。
McPherson说:“如果你仔细查看日志,就会发现Canonical从2.6.30内核以来,总共提交了109个补丁,占总量的0.2%,排在所有贡献企业的第62位”。