Linux 内核主线刚合入了一份新文件:Documentation/process/coding-assistants.rst。这份文件干了一件以前没人干过的事——给 AI 参与内核开发立了正式规矩。消息传到 Hacker News里,直接 413 次投票冲上热搜首页。
Linux 内核是全球最大的开源项目,跑在绝大多数服务器、安卓手机、嵌入式设备上,开发者遍布全球。它的开发流程规范在整个开源世界有标杆效应。之前各种开源项目对"AI 写的代码算谁的"这件事,基本各说各话,没有统一做法。现在 Linux 内核第一个把规矩写进了官方流程文档。
规矩有两条,都很强硬。
第一条:AI agent 不许添加 Signed-off-by 标签。Signed-off-by 是 Linux 内核的法律签名,意思是"我以个人名义担保这段代码符合开源许可证要求"。这个签名背后对应的是 DCO(Developer Certificate of Origin),是一份有法律效力的声明。只有人类能签,因为只有人类是法律主体。AI 不是,签了也不算数。
第二条:所有 AI 辅助的贡献,必须用一个新的标签格式标注。格式长这样:
Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]
AGENT_NAME 是 AI 工具名,MODEL_VERSION 是具体模型版本,后面方括号里可以选填用到的专业分析工具,比如 coccinelle、sparse、smatch 这些。像 git、gcc、make 这些基础开发工具不用标。文件里直接给了示例:
Assisted-by: Claude:claude-3-opus coccinelle sparse
没写 GPT,没写 Gemini,示例只写了 Claude。这不是打广告——是Claude 在内核社区里确实有使用基础,之前就有开发者拿它做代码审查和 coccinelle 规则生成。所以客观上来看,Claude 成了第一个被写进 Linux 内核官方文档的 AI 模型名字。
此外,这篇文件还把责任链写死了。AI 生成的代码,人类提交者必须自己审查,确认符合 GPL-2.0-only 许可证,加上自己的 Signed-off-by,并且对这段贡献承担全部责任。也就是说,AI 写的代码出了问题,背锅的是提交它的人,不是模型,也不是模型背后的公司。"AI 写的我不管"这条退路,在 Linux 内核这里被堵死了。
这份文件一共没多少字,规则也就两条,但它确立的东西很清楚:AI 可以参与开源开发,但它的身份是工具,不是贡献者;它的产出需要被标注,但责任由人类承担;它可以出现在 commit message 里,但不能签名。后面大概率会有一批开源项目参考这套做法。毕竟在 AI 写代码越来越日常的今天,"谁写的、谁负责、怎么标"这三个问题,总有人在思考怎么回答。这次Linux 先交出了一份行业标准化的答卷。
参考来源:Linux 内核主线 Documentation/process/coding-assistants.rst;Hacker News 首页讨论