no regressions
搜索文档
4000万行的Linux怎么管?Linus爆料:两周合并1.2万次提交、7周专门抓Bug,“我不是世界之王,只能给内核定规矩”
猿大侠· 2026-01-04 12:11
Linux内核开发流程与管理 - 公司每9周发布一个新版本,其中包含一个为期两周的合并窗口期,在此期间需要处理大约12,000次提交,合并后的提交量在11,000到13,000次之间 [1][13][15] - 在合并窗口期后的7周内,工作重点转向查找并修复bug,并发布每周的候选版本,直至最终版本发布 [1][16] - 公司对长期支持版本有明确规划,通常每年指定一个版本作为LTS,旨在为各类企业提供一个可长期依赖的标准版本 [9][10] - 公司通过灵活的合并窗口机制减轻开发压力,代码在准备好时被合并,而非设定绝对截止日期,若错过一个版本,9周后即可进入下一个周期 [13] - 项目掌舵者目前的核心职责是保持对整体项目的高层次理解,合并不同团队的代码,并处理代码冲突,而非亲自编写代码 [15][17][18] 代码质量与维护原则 - 公司坚持一条核心铁律:不允许出现功能倒退、回退性问题或破坏向后兼容性的回归 [2][22] - 维护过程中最不能接受的行为是开发者不愿意承认自己引入了bug,正确的态度应是承认错误并修复 [3][21] - 为确保质量,掌舵者会在自己的所有机器上运行每一个即将发布的内核版本,并经常能发现本应在测试阶段被捕获的bug [20][21] - 坚持“不允许回归”原则在技术上极具挑战,因为某些行为改变可能在数年后才被发现,此时修复可能影响已适应新行为的程序,因此公司有时会采取让内核对不同程序表现出不同行为的极端方案 [30][31][32] - 公司在引入新功能时,会创建新的接口,同时确保旧接口保持可工作状态,以维护向后兼容性 [33] 对人工智能技术的看法与应用 - 公司掌舵者直言讨厌“AI”一词,主要因其被过度炒作,而非讨厌技术本身 [3][24] - 认为AI与几十年前编译器的出现本质相同,都是重要的工具革新,不应期待AI会突然彻底改变编程 [3][27] - 更看好AI在代码审查和维护方面的应用价值,而非仅仅用于生成代码,已有多个相关项目在推进,并希望明年能将其深度集成到工作流程中 [24][25][26] - 认可AI工具在审查代码时能发现连专家都未注意到的问题,这证明了其实际价值 [26] - 指出AI的优势在于提供了更高的抽象层,允许用更高级的语言表达意图,从而提升效率,这与需要明确底层细节的编译器工作方式不同 [29]