2010年度报告:是谁在编写Linux内核?

Linux开发人员继续以快速的步伐推出新内核,但根据Linux基金会最近发布的一份报告显示,在过去的一年里,新代码的提交步调明显变慢了。该报告还指出,Linux内核开发的杰出贡献者也在发生变化,越来越多的移动开发人员加入到Linux内核开发队伍,这是Linux基金会第三次年度“谁在写Linux”报告,总结了过去一年来Linux内核的进展情况。

根据2010年“谁在写Linux”报告显示,提交给2.6.35内核的代码量比去年发布的2.6.30内核的代码量少18%,过去一年来提交的内核代码减少的原因很多,包括阶段代码新的提交流程。

Linux基金会市场营销和开发计划副总裁,报告的合著者Amanda McPherson说:“我认为阶段树不是简单的代码增加,也不是在以前的版本上简单的膨胀”。

报告解释了从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位”。

原文链接:http://os.51cto.com/art/201012/236379.htm

相关阅读:

参加IE9开发大赛 赢取现金大奖

微软最顶级平台技术会议PDC10全程视频播放

Microsoft Web平台——优秀项目展示

Windows Phone 7 MSDN开发中心

微软Web平台优秀项目精选推荐:

世界顶级论坛、社区程序:bbsmax论坛

世界上最大的自承载博客工具:WordPress

架站必备之开源内容管理系统(CMS):Joomla!

快速构建Web程序之内容管理系统:Umbraco CMS

开放源代码ASP.NET博客项目:BlogEngine.NET

专门构建Web课程的学习管理系统(LMS):Moodle

快速构建动态公众网站的内容管理系统:Acquia Drupal

构建、管理和共享wiki的开源系统:ScrewTurn Wiki 3.0  

基于Microsoft ASP.NET构建网站的开源框架:DotNetNuke Community Edition

时间: 2024-09-30 00:18:05

2010年度报告:是谁在编写Linux内核?的相关文章

Ubuntu中为Android系统上编写Linux内核驱动程序实现方法_Android

        在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Android系统逐步扩大市场占有率,终端设备的多样性亟需更多的移动开发人员的参与.据业内统计,Android研发人才缺口至

在Ubuntu上为Android系统编写Linux内核驱动程序

在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Android系统逐步扩大市场占有率,终端设备的多样性亟需更多的移动开发人员的参与.据业内统计,Android研发人才缺口至少30万.目前,

Ubuntu中为Android系统上编写Linux内核驱动程序实现方法

在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Android系统逐步扩大市场占有率,终端设备的多样性亟需更多的移动开发人员的参与.据业内统计,Android研发人才缺口至少30万.目前,

在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序

  在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法.简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中.接着,在Ubuntu上为Android系统编写Linux内核驱动程序一文中举例子说明了如何在Linux内核编写驱动程序.在这一篇文章中,我们将继续介绍Android系统硬件驱动程序的另一方面实现,即如何在硬件抽象层中增加硬件模块来和内核驱动程序交互.在这篇文章中,我们还将学习到如何

在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序

   在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序.在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello.proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val.进一步,还通过cat命令来直接访问/proc/hello和/sys/class/hello/hello/val文件来,以验证驱动程序的正确性.在这一篇文章

Ubuntu中为Android系统上实现内置C可执行程序测试Linux内核驱动程序_Android

在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序.在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello.proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val.进一步,还通过cat命令来直接访问/proc/hello和/sys/class/hello/hello/val文件来,以验证驱动程序的正确性.在这一篇文章里,我

Ubuntu中为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序

在Ubuntu Android简单介绍硬件抽象层(HAL)一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法.简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中.接着Ubuntu Android系统上编写Linux内核驱动程序实现方法一文中举例子说明了如何在Linux内核编写驱动程序.在这一篇文章中,我们将继续介绍Android系统硬件驱动程序的另一方面实现,即如何在硬件抽象层中增加硬件模块来和内核驱动程序交互.在这篇文章中,我们还将学习到

《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #3 如何编写内核模块

HACK #3 如何编写内核模块 本节将介绍向Linux内核中动态添加功能的结构-内核模块的编写方法. 内核模块 Linux内核是单内核(monolithic kernel),也就是所有的内核功能都集成在一个内核空间内.但是内核具有模块功能,可以将磁盘驱动程序.文件系统等独立的内核功能制作成模块,并动态添加到内核空间或者删除. 内核模块是可以动态添加到Linux内核空间的二进制文件,文件扩展名为ko. 内核模块的编写方法大致有两种.一种是将内核源码树带有的功能编写为模块的方法(参考Hack #2

linux内核代码的编写初步以及makefile的配置

在linux内核代码开发中,头文件不能包含标准C头文件,只能采用GNC标准 而且内核开发中没有main函数,只有init 和 exit ,这是每个内核模块中必须要包含的函数模块. 在GNU C标准中,打印信息采用printk函数,printk函数有8种级别. 内核模块的编译采用Makefile来编译,利用内核的module中的makefile来编译 #include <linux/init.h> #include <module.h> //GPL是一种开源协议,这个必须要添加 MO