Linux Kernel 开发报告 25 周年版

Linux 基金会发布 2016 年度 Linux 内核开发报告,这次恰逢 Linux 内核 25 周年,所以相比往年又更多的回顾性内容,值得一读。

Linux 内核开发报告 2016 版

一些有趣的信息:

  • 自 3.18 内核以来,合并自内核的新功能覆盖面更为广泛,且涉及安全性的新功能越来越多
  • 4.0 系列的引入仅仅是由于 Linus 觉得小版本号已经超越正常人手指和脚趾数量的总和了。每一个内核版本发布都是传统意义上的大版本发布,编号方式已经不再重要了
  • 发布周期比较稳定的为 9 周,偶尔的 10 周也主要是由于诸如 Linus 休假或者公共假期等外部因素
  • 尽管 4.6 版本的 13517 个变化相当大,但相比 3.5 版本的 13722 还是差了一点点
  • 内核 4.9 版本将是继 4.4 之后的下一个长期支持版本
  • 截止 4.7 版本,Linux 内核包含有 21,724,632 行代码 54,391 个文件
  • 版本 4.2 的开发有史上最多来自商业公司的支持,有 251 家不同企业贡献为其提交了代码
  • 独立开发者贡献的代码提交数量并不多,自 2.6.11 版本以来,前 30 名独立开发者加起来也仅占总提交数的 16%
  • 来自公司资助的开发者提交的数量占到总数的 80%,而独立开发者数量已经下降到 7.7%。导致这种情况的原因恐怕是内核开发者短缺,有能力的都不愁找不到工作。
  • Intel 为 Linux 内核内核开发引入了最多的新人,达 205 人
  • 长达 25 年的经验教训一:快速发布,短发布周期很重要
  • 长达 25 年的经验教训二:流程的扩展性需要分布式层级状的开发模式,全靠 Linus 一个会死人,职责分工明确才能提高效率
  • 长达 25 年的经验教训三:工具很重要,迁移到 BitKeeper 颠覆性的改善了工作方式,而至 Git 的迁移则进一步提升了工作效率
  • 长达 25 年的经验教训四:认同性原则很重要。若某个改动有一个有经验受尊敬的开发者反对,那么便不会合并。这保证了不会有任何变动会以牺牲某个用户群体为代价。
  • 长达 25 年的经验教训五:没有 Regression 原则很重要。尽管偶尔实践的不完美,但是保证了用户不会为内核升级而特别担忧。

Read More: