Linux基金会发布了内核开发年度报告(PDF)。
过去的一年,Linux开发人员继续以快速的步伐推出新内核。但根据Linux基金会发布的一份报告显示,在过去的一年里,新代码的提交步调明显变慢了。该报告还指出,Linux内核开发的杰出贡献者也在发生变化,越来越多的移动开发人员加入到Linux内核开发队伍,这是Linux基金会第三次年度“谁在写Linux”报告,总结了过去一年来Linux内核的进展情况。 过去一年,Linux内核增加了150万行代码,平均每天加入9,058行,移除4,495行,修改1,978行代码,风雨无阻。从2005年的Kernel 2.6.11到2010年的2.6.35,平均81天发布一个新内核版本。过去5年半中,Top10开发者贡献了10%的内核变动,Top30开发者贡献了22%的内核改动,前三位开发者是David S. Miller(2,533)、Ingo Molnar(2,273)和Al Viro(2,238)。Linus Torvalds没有进入Top30,他的贡献是无法通过内核变动衡量。 超过70%的内核开发是由全职开发者完成的,其中 RedHat (12.4%),Novell(7.0%),IBM(6.9%),Intel(5.8%),consultants(2.6%),Oracle(2.3%),Linux 基金会(1.3%),诺基亚(1.0%),Google(0.8%),NetApp(0.7%)等。 根据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内核代码贡献企业也发生了细微的变化。 1. 贡献最多的仍然要数Red Hat,2.6.30内核有12%的代码变化都是Red Hat贡献的 2. 英特尔次之,贡献了7.8% 3. Novell贡献了5% 4. 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位”。 |