8月17日,Linus Torvalds正式发布Linux 7.2内核。他此前坦言,此次合并的修复数量超出预期。数据显示,7.2是内核历史上开发周期最繁忙的阶段之一,新增代码近60万行。回顾相关统计,有助于洞察内核社区的最新演变。

提交量与开发者规模双增

7.2版本包含16,418个非合并提交,略低于6.7版本,但超过7.1版本,成为内核历史上第二繁忙的版本。与6.7版本主要由bcachefs文件系统合并驱动不同,7.2的增量分布更为广泛均衡。

参与提交的开发者达2,652人,较7.1版本的2,479人显著增长。历史数据显示,每个版本的贡献者数量呈上升趋势,且近期增速明显加快。

按提交数计,Uwe Kleine-König以151次提交居首,主要涉及驱动子系统清理;Rosen Penev贡献了大量由大语言模型(LLM)生成的错误修复补丁;Ian Rogers和Arnaldo Carvalho de Melo聚焦用户空间perf工具;Johan Hovold则改进了SPI和USB子系统。

按变更行数计,Matthew Stewart和Hawking Zhang因添加大型机器生成的amdgpu头文件位列前茅;Miguel Ojeda引入了Rust zerocopy crate;Darren Ye添加了MediaTek mt8196声音驱动。

审查趋势与新力量涌入

在7.2的所有提交中,仅略超8%带有“Tested-by”标签,48%包含“Reviewed-by”标签。近期审查标签比例呈现轻微下降趋势,但这是否意味着实际审查工作减少尚不明确。Dan Wheeler仍是检测人数最多的开发者;Konrad Dybcio和Dmitry Baryshkov则在审查方面表现活跃,两人均专注于Qualcomm设备驱动及设备树文件。

7.2版本获得249家可识别雇主的支持。值得注意的是,未知归属关系的开发者数量大幅增加,反映出新人正不断涌入内核社区。

LLM深刻影响开发生态

7.2版本再次刷新单版本新开发者人数纪录,共有613名此前未出现过的贡献者。其中最活跃的新人Bryam Vargas提交了43个补丁,涵盖输入、NVMe、网络等十余个子系统。鉴于其补丁未携带“Assisted-by”标签,推测该工作未在LLM协助下完成。对于新人而言,跨如此多子系统提交高质量补丁颇为罕见。

总体而言,7.2中有1,111个变更(占比不足7%)带有“Assisted-by”标签,较7.1版本的301个显著增加。然而,实际受LLM辅助的补丁数量可能远高于此,部分原因是开发者未遵循标签规则或维护者主动剥离标签。准确追踪LLM辅助开发仍具挑战,社区对此的重视程度亦有待提升。

LLM的影响还体现在漏洞发现上。7.2中有252个补丁归功于Sashiko审查系统,另有568个提交在变更日志中提及Sashiko。其他LLM工具也被证实能有效发现内核漏洞。

此外,7.2版本包含4,830个带有“Fixes”标签的提交,用于修复先前引入的漏洞。历史图表显示,自5.9版本以来,修复的漏洞数量理论上已超过新增漏洞,但随着时间推移,这一曲线仍在变化。近期“Fixes”标签数量的急剧增加,可能与大量人员利用LLM挖掘现有软件漏洞有关。

漏洞数量不可能无限增长,随着存量漏洞被修复及LLM审查减少新漏洞产生,检测和修复速度预计将最终放缓。但若这一趋势未发生,则意味着LLM可能使不具备相应能力的开发者提交了难以理解的代码,从而积累技术债务。

Linux内核面向生产环境,而非实验场。当前,内核开发流程正经历一场大规模实验。尽管社区在35年历史中多次成功吸纳新工具,但此次转型并非毫无波澜。目前,linux-next仓库中仍有近14,000个非合并变更集等待纳入7.3版本,其中超1,100个带有“Assisted-by”标签。高活跃度态势短期内恐难结束。