---
layout: post.njk
source: https://yage.ai/share/open-source-ai-code-responsibility-20260709.html
speaker: yage.ai
title: 开源项目开始拒绝没人负责的 AI 代码
date: '2026-07-11'
summary: 文章探讨了开源社区在引入 AI 代码生成能力后，对代码责任和贡献链的重新定义。核心观点是，尽管 AI 提高了代码产出效率，但维护者依然要求人类开发者承担最终的责任，通过明确披露使用痕迹、进行深度理解和愿意为后续问题负责等方式，来构建清晰可追责的贡献链。
area: tech-engineering
category: ai-application
tags:
  - code-responsibility
  - open-source-contribution
  - ai-usage-disclosure
  - human-verification
people: []
companies_orgs: []
products_models: []
media_books: []
draft: true
status: evergreen
---

当你用 AI 修复了一个困扰已久的开源库
bug，并跑通本地测试准备向上游提交拉取请求（PR）时，可能会遇到全新的情况。在过去，项目维护者往往只关注代码能不能跑通，测试是否完备。然而，现在当你提交代码时，系统可能会先弹出一个提示框，要求你做出几项明确的披露与声明。

维护者需要你详细说明：AI
具体用在了哪里？你是否逐行理解了其中的逻辑？你是否愿意为后续可能带来的问题负责？这并非某个开源项目在故意刁难，在这些改动背后，整个开源世界的信任规则正在悄然改变。

有人觉得这是开源社区在抗拒新技术，实际上他们是在保护一条可以追责的贡献链。开源社区开始拒绝没人负责的代码，即便这些代码是用
AI 生成的。项目接受的从来不只是一段
diff，而是一条清晰可追责的贡献链：谁编写、谁理解、谁有权提交、谁能回应日常审阅，以及谁会为之后的缺陷、版权和维护成本负责。AI
降低了代码产出的门槛，但也让这种责任变得稀缺，导致开源项目必须收紧责任入口。

开源贡献的新门槛：代码可以由 AI
写，责任必须由人承担

## 代码不再稀缺，而信任依然需要人类来锚定

为了保护脆弱的责任链，一些开源社区选择了严厉的限制。在 Zig Code of Conduct
里，官方写明了极具约束力的 AI 禁令。Zig 不仅禁止提交 AI
生成的代码，还禁止利用大模型进行翻译、润色文本和编写文档，甚至寻找漏洞或进行头脑风暴也被列入禁区。在这种环境下，社区和论坛中的
AI 自动回复同样属于违规行为。

这一决策立足于项目的长远发展，而非单纯拒绝技术。维护者不愿为低成本生成的自动化代码做义务测试，更希望通过代码审阅来发掘和培养开发者。每一次代码审阅都是一次深度的对话，维护者需要以此观察贡献者的理解力，确认他们是否理解了项目的核心设计哲学。如果所有提交都由模型代劳，人类只充当传声筒，维护者就无法判断贡献者的真实水平，项目也将失去自我造血的能力。

也有社区在全盘封锁之外，寻找人与工具之间的平衡。Godot
Pull Request Guidelines 就展现了温和而务实的态度。虽然官方不鼓励使用
AI
辅助贡献，且会直接拒绝完全由模型自动生成的拉取请求，但如果开发者只是让
AI
辅助思考，并在提交前做了完整的校对与改进，只要在提交时诚实披露，项目依然会予以接收。

为了消除开发者的顾虑，Godot
甚至明确指出，日常使用的单行代码补全或单纯的翻译软件并不在限制范围内。这种机制说明社区并没有工具洁癖，他们支持合规地使用开发工具，但底线是必须有一个具体的贡献者站出来，为每一行提交的代码负责。

## 从防范未知版权到过滤审阅噪音的实操防线

对于一些处于底层的系统级项目，对 AI
代码的防守态势极为严密，其核心担忧在于安全和版权。Gentoo
Council AI policy
明确禁止贡献由大语言模型辅助创建的内容。大模型生成的代码如同黑盒，缺乏足够的可解释性，加之训练数据来源复杂，极易带来版权和合规纠纷。

虚拟化底层项目 QEMU 在 QEMU
Code provenance 中规定，凡是判定为 AI
生成或衍生的内容，一律直接退回。他们要求代码必须有明确的来源，避免因为知识产权背景模糊而给社区带来后续的法律风险。浏览器引擎
Servo
AI contributions policy 同样选择将 AI
编写的代码、问题报告以及讨论挡在门外，因为对于容错率极低的基础设施项目，任何隐患都会引发严重的后果。

在数据科学与 Web 开发等中层生态中，NumPy、pandas 和 Django
则是通过更细致的披露机制来绑定责任。在 NumPy AI Policy
中，开发者可以在工作流中引入 AI
助手，但必须在提交描述中详尽说明哪些部分使用了工具。若试图隐瞒使用痕迹，一旦被发现，项目组会直接予以拒绝。pandas
automated contributions policy
则强调人工校正的价值，只接受经过人类重写、测试和验证的逻辑，AI
可以生成初稿，但最终提交的内容必须由人类深度确认。

Django
AI-assisted contributions 在此基础上，进一步划定了一条防线。Django
允许使用 AI 辅助编写代码并进行诚实披露，但绝对禁止使用 AI
工具自动进行拉取请求的审阅。在维护者看来，自动生成的审阅意见往往包含大量的信息噪音与幻觉，会极大地消耗维护者的有限精力，因此守门的权力必须完好地保留在人类手中。

## 用最古老的签名机制守护现代代码供应链

面对更复杂的商业和技术生态，顶级的开源基金会和巨型基础项目选择通过成熟的制度，将法律与质量责任落实到人。阿帕奇软件基金会（ASF）在
ASF
Generative Tooling Guidance
中给出了系统性的指引。他们避开了一刀切的粗暴做法，将焦点放在工具服务条款、第三方材料合规性以及开源许可的兼容性上，建议开发者在满足这些合规条件时进行贡献，并使用标记来说明来源。

作为开源世界基石的 Linux 内核，则展现了更纯粹的契约精神。在 Linux
kernel AI Coding Assistants
指南中，内核社区明确表示不限制开发者使用何种 AI
编程助手，但死死卡住了开发者原创证书（DCO）这一底线。任何向内核提交补丁的人，都必须附上
Signed-off-by
的签名。这一签名不仅是技术标记，更是一份庄严的法律声明，代表提交者对代码的版权和质量承担全部责任。

由于 AI
助手并非法律实体，无法承担责任，因而绝不能在内核中签字。这意味着所有的潜在侵权风险、安全漏洞和维护成本，最终都必须归结到具体的自然人身上。正是凭借这条坚固的责任链条，Linux
内核得以在不排斥 AI 工具的前提下，依然确保庞大项目的安全与合规运转。

## 在点击发送之前，请准备好你的责任凭证

这股规则重塑的浪潮，给所有开发者和工程团队带来了明确的信号。习惯了在本地用
AI
快速写好代码、跑通测试便直接提交的开发者，需要调整自己的工作习惯。在未来的开源协作中，开发者提交的不仅是一段跑得通的代码，还有一份沉甸甸的责任凭证。在点击发送之前，我们需要准备好完备的测试记录，写清详尽的修改逻辑，诚实披露
AI 的使用痕迹，并证明自己具备持续回应审阅的能力。

大模型确实解放了生产力，能用极低的成本填满编辑器，但它永远无法在贡献证书上签字，也无法为代码后续的表现买单。将代码的生成交给工具，将代码的责任留给自己。AI
可以写出每一行代码，但真正能向社区做出承诺并承担后果的，永远只有屏幕前的人。