Linux 是世界上最大的软件开发项目

Linux 是世界上最大的软件开发项目

GregKroah-Hartman是Linux内核社区的二号人物(第一位明显是LinusTorvalds),他在装备驱动方面做了许多工作,他也是当前Linux内核稳定分支的负责人。

在本周柏林举行的CoreOSFest上,Kroah-Hartman做了一场报告介绍了Linux内核项目是如何的巨大。以后我找了个机会约请他聊了聊内核和安全方面的话题。

我们的话题先从代码方面开始,Kroah-Hartman说刚刚于两个月前发布4.5版已包括了万行代码!

可能很多人觉得在那末小的装备上运行这么多的代码有点夸大,事实上,并不是所有的万行代码都运行在他们的装备上,只有需要的部份才会运行在里面。正如Kroah-Hartman说的,“你不会全部用到它们。在内核里面包括了各种硬件的驱动。我的笔记本上运行的内核代码大概有万行,而你的可能运行了万行代码。”

这里面,内核的核心部份是一定算在其中的,而它只占全部Linux内核代码的5%,而剩下的还有35%是络部份,40%是装备驱动。

比代码范围更让人印象深入的是它的参与人数范围,去年就有大约名开发人员参与了开发,最少个公司向内核提交了贡献,这使得Linux成为了世界上最大的软件项目!Kroah-Hartman说:“这是计算机有史以来最大的软件开发项目,无论是使用它的人数、开发它的人数,还是与之相干的公司数量,范围都很大。”

GregKroah-Hartman在CoreOSFest,Berlin的报告

每天,平均有超过行的代码增加,行代码被删除,并且还有行代码被修改,也就是说每秒钟都有超过8行代码的变化!

这是非常大的数量,这意味着Linux内核不像其它的技术,它在不断的变化,变得越来越好。

Kroah-Hartman说,“当我第一次参与这个项目时,我们每一个小时可以完成2.5个变更。每个人都这么说,‘哦,天哪,我们不可能更快了,那不现实’。微软和苹果也说,‘你赢了’,他们1字一顿的说,‘我们比不上,你们干的比任何人都要快,我们是望尘莫及啊’。而我们的开发速度愈来愈快,我们每次都会更快一些。”

但是,如果你的公司的发展依托着Linux,那这个变化速度看起来就很可怕。Kroah-Hartman解释了为何会有这么多变更:“我们提交了很多变更,但是不是由于我们为变更而变更的,那可需要很多的工作。我们其实很懒,我们做这么多的变更的缘由是由于我们必须做,是由于这个世界不断变化而需要我们做这么多的变更。那种‘你做了个东西,然后啥也不用管,将它丢在一边就好了’的模式已不可行了,由于这个东西已连通了世界,而世界每时每刻在变化。事物都在相互作用,所以你必须随着进化。如果你的操作系统不能改变,那它就没用了,这毋庸置疑。如果你的装备不能随着与之互动的世界变化,那它一样也没用,这也毋庸置疑。所以,你可以看看那些不能与时俱进的操作系统,根本没有人用它们。”

为了做到这些变更,Linux内核社区需要做到两点。首先,我们要有个按时间进行的发布计划。其次,我们需要小步快跑。我们完成一个发布就要开始下一个发布的开发。下一个发布的第一个RC版本里面就要包括进去所有开发人员丢进去的各种东西,包括各种新的东西、新的功能,而且它们需要经过严格考验。当所有的东西都测试良好,我们才会放出第一个RC版本,以后的RC版本就是各种问题的修复。这样,我们就能在一个分支的个RC版本以后赶走所有发现的问题。

当我们准备好发布一个新的内核发布版本时,它已经过了详实的测试。但是依然有问题时,人们使用的稳定版怎样修复问题呢,他们可不想在产品环境中使用RC版本,那末他们怎样修复问题?在15年前,内核社区就找到了解决方案,而这就是Kroah-Hartman的任务,他会对稳定版本进行分支,比如说4.2版,它的问题修复版本会以4.2.1、4.2.2、4.2.3等等发布。

“这个版本规则就是它必须是一个问题修复版,而且它必须是一个正确的版本号或是新的装备ID,它必须出现在Linux内核代码树上。在我将它放到稳定分支之前,它就必须出现在Linux内核代码树上。这可以确保人们运行我们的稳定内核时,如果跳到一个新的分支版本时,不会产生中断,没有甚么不一样的变化。这就是规则,而且一直以来运作良好。”Kroah-Hartman说。

而当下一个新的分支(4.3)出来时,Kroah-Hartman就会从当前的分支(4.2)离开而去保护4.3。这样内核社区就完善的保证了当新的版本发布时任何事情都很联贯。

“每一个版本我每周都会做一次发布,每周会对稳定分支打到个补钉。这很多,许多东西都变化了,也修复了许多东西。而这就是我们做的——稳定的分支。当4.3发布时,最好的事情是我摆脱了,我说,‘啊!4.2,我再也不要见到你了’,然后我就跑到新的分支了,由于我们的工作,这一切都可以继续发展下去,所有人都很满意。”

推荐文章

点击标题或输入文章ID直达该文章GNU宣言发表三十周年

为何主线内核不能运行在我的上?

用Python打造你的Eclipse

将文章分享给朋友是对我们最好的赞美!

赞美

人赞美









































白癜风初期症状和图片
北京治疗白癜风方法



转载请注明:http://www.zjiaren.com/fzgc/fzgc/730.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了