正文
虽然我们现在尚未完全认识清楚Linux内核成功的所有关键原因,但目前还是有一些经验值得拿出来分享的。
1. 更短的发布周期很重要
在Linux项目的早期阶段,内核的每个主版本需要好几年发布一次,这意味着用户需要等待很长时间才能享受到新功能,这对于用户和经销商来说是相当令人沮丧的。而且,更重要的是,这么长的周期意味着需要一下子集成大量的代码。把这么多代码合入一个版本里,压力也是很大的。
更短的周期可以解决所有这些问题。新代码能够在更短时间内合入到稳定版中。将新代码集成到几乎稳定不变的基线版本上,使得能够在对系统产生极小影响的情况下引入根本性的变化。开发人员知道,如果他们错过了这个发布周期,两个月内还会有另外一个,所以他们很少会过早地合入代码。
2. 流程的扩展需要一个分布式的分层开发模型
很久以前,所有的变更需求都会直接转到Linus Torvalds手中,但这很快就被证明是不合适的,因为没有哪个人可以全面掌握像操作系统内核这么复杂的项目。很早的时候,内核不同领域的维护者们就提出了一个想法,就是把内核的其中一部分分配给熟悉该领域的人。例如,网络、无线、像PCI或USB这样的驱动程序子系统、或者像ext2或vfat这样的文件系统。然后再扩展到由数百名维护人员负责代码审查和整合,从而使得能够在不牺牲产品质量的情况下,在每个发布的版本中都包含成千上万的变更。
3. 工具的重要性