排异反应——当开源世界开始集体拒绝 AI 写的代码
2026 年上半年,一件几乎不可能发生的事,接连发生了:全世界最重要的一批开源项目,开始把"AI 写的代码"挡在门外。
GCC、QEMU、Godot、curl、Ghostty、tldraw……这些名字撑起了半个软件世界的地基。它们不约而同地竖起高墙,理由却出奇一致:不是 AI 写得不好,而是没人审得过来。
当一台机器可以在三秒内生成一个看起来无懈可击的 Pull Request,而一个人类维护者需要三个小时才能证明它是错的——这场战争,从一开始就不公平。
一、一份平淡无奇的公告,炸开了整个社区
2026 年 6 月 30 日,开源游戏引擎 Godot Foundation 发布了一则公告。
标题平平无奇,内容却毫不含糊:**全面禁止 AI 生成的代码贡献,禁止 vibe coding,禁止 AI Agent 提交 PR,禁止 AI 生成的文本出现在社区沟通中。**唯一被允许的,只有代码补全、正则替换这类"琐事"。
消息一出,社交媒体瞬间炸开。
有意思的是,人们震惊的点,不是"Godot 居然这么做",而是——它终于这么做了。
早在 2026 年 2 月,Godot 核心维护者 Rémi Verschelde 就已经在 Bluesky 上公开喊话,说涌进来的 AI PR 正变得 "increasingly draining and demoralizing"(越来越令人心力交瘁、士气崩溃)。那条帖子获得了广泛共鸣,无数维护者在底下附和。可五个月过去,问题没有好转,反而更糟。
于是,忍无可忍的 Godot,把那道憋了半年的闸门,重重关上了。
而 Godot 不是第一个,也远不会是最后一个。
二、一张正在变长的"封杀名单"
如果把 2026 年上半年开源世界对 AI 代码的反应画成一张时间表,你会发现这根本不是某个项目的一时冲动,而是一场结构性的集体退守:
项目 | 时间 | 核心措施 |
tldraw | 2026-01 | 不分 AI 与否,直接关闭全部外部 PR(业界称之为"核选项") |
curl | 2026-01 | 全面关停运行了 6 年的漏洞赏金计划(确认漏洞比例从 15%+ 暴跌到不足 5%) |
Ghostty | 2026-01 | 仅允许"现有贡献者"针对"预批准议题"提交 AI 辅助 PR,其余一律即时关闭 |
QEMU | 2026-05 | 全面禁止 AI 代码生成器的贡献,后逐步考虑放宽 20 行以内的机械性修改 |
Godot | 2026-06 | 禁止实质性 AI 代码、自主 Agent 的 PR 自动封禁,琐碎辅助须披露 |
GCC | 2026-07 | 拒收任何具有"法律意义"的 LLM 生成代码,仅对测试用例网开一面 |
这些名字意味着什么?
- GCC,GNU 编译器套件,几乎所有 Linux 发行版、嵌入式系统、基础软件生态的底座;
- QEMU,撑起了全球云计算虚拟化的模拟器;
- curl,被内置进 Windows、macOS 和几乎所有 Linux,是这个星球上部署最广的网络工具之一;
- Godot,全球最主流的开源游戏引擎之一。
这不是一群边缘玩家在闹脾气,而是软件世界最坚硬的地基,开始出现集体性的排异反应。
更值得注意的是,各家的"药方"完全不同:tldraw 选择了最激进的核选项,宁可错杀不可放过;Ghostty 设了"预批准议题"这道关卡,在允许 AI 的同时遏制无节制的提交;QEMU 起初一刀切,如今又从"20 行以内机械修改"这类低风险地带小心翼翼地重新开放。
业界标准没有收敛成统一模式,每个项目都在按自己的资源和风险承受能力,各自摸索平衡点。这恰恰说明:他们面对的不是一个有标准答案的技术问题,而是一场没有先例的生存危机。
三、真正崩溃的,不是代码,是审查
要理解这场排异反应,先得抛掉一个直觉性的误解——
很多人以为,开源项目封杀 AI,是因为"AI 写的代码质量差"。
错了。真正崩溃的,是审查环节。
Godot 团队在公告里说了一句极其精准的话:
"生成一个 PR 所需的工作量下降了(PR 数量随之飙升),但审查 PR 的工作量和审查人数纹丝未动。这个审查者短缺问题一直存在,但我们过去成功地忽视了它。现在再也忽视不了了。"
这句话,道破了整件事的底层逻辑。
传统开源协作有一个隐含的平衡:**写代码是有成本的。**一个贡献者要读懂架构、理解上下文、写出补丁、测试通过,才敢提交一个 PR。这个成本,天然过滤掉了大量低质量、不认真的贡献。写的人少,审的人也少,供需大致平衡。
AI 一来,这个平衡被彻底击穿。
写代码的成本,被打到了趋近于零。任何人,哪怕完全不懂引擎架构,也能让 Claude Code 或 Cursor 在几秒内吐出一个看起来像模像样的 PR,然后一键提交。
但审查代码的成本,一分没降。
它甚至更高了——因为 AI 生成的代码往往"看着对,一跑就出坑",维护者必须打起十二分精神,逐行确认那些精心措辞、逻辑自洽的代码里,到底藏着什么。
于是,开源项目的核心瓶颈,在一夜之间完成了迁移:
从"没人写代码",变成了"没人审代码"。
四、最致命的,是那个"不对称"
如果只是数量变多,问题还没那么可怕。真正杀死维护者的,是一种残酷的不对称结构:
生成只需数秒,反驳却需数小时。
一个人用 AI 生成一份漏洞报告或一个 PR,成本几乎为零、时间以秒计。但一个维护者要严肃地证明"这个漏洞不存在"或"这段代码是错的",却需要通读代码、复现场景、查阅历史、撰写解释——动辄几个小时。
攻守双方的成本,差了几个数量级。
这不是拼质量的战争,这是一场用零成本弹药进行的消耗战。哪怕 100 份 AI 提交里有 99 份最终被拒,维护者也已经被那 99 份耗尽了心力。
而维护者是谁?在绝大多数开源项目里,他们是一小撮不拿钱、靠热爱在支撑的志愿者。
curl 创始人 Daniel Stenberg 在宣布关停赏金计划时,说了一句让整个社区沉默的话:
"我们只是一个小小的开源项目,只有少数几个活跃的维护者。我们没有能力去改变所有这些人和他们的'废话机器'(slop machines)的运作方式。我们必须采取行动,来确保我们的生存,和完好无损的心理健康。"
"完好无损的心理健康"——当一位写了几十年代码的顶级工程师,需要用这样的措辞来解释一个技术决策时,你就知道,这早已不是一个技术问题了。
五、curl 的故事:从"AI 垃圾"到"高质量混乱"
curl 的经历,是这场危机里最值得细读的一个样本,因为它揭示了一个反直觉的真相:问题的根源,从来不是"质量差"。
第一幕,2026 年 1 月。
curl 的漏洞赏金计划(运行了整整 6 年)被 AI 生成的虚假报告淹没。Stenberg 举了个例子:仅一周内,团队就在 16 小时里收到 7 份 HackerOne 报告,到 1 月下旬累计达 20 份。这些报告"语言严谨、结构完整、表面专业",但逐一验证后发现——漏洞根本不存在。
这就是那个被反复提及的词:AI Slop(AI 废话)——看似合理、实则无效的冗余内容。
有一份报告里,AI 编造了一个叫curl_easy_setopt的代码片段,可那个函数签名根本对不上,连编译都过不了。curl 团队成员回复:"我觉得你是 LLM 幻觉的受害者。"当提交者还在坚持"这个漏洞很危险"时,Stenberg 亲自下场:"你被一个 AI 骗了,还以为那是真的。"
于是 curl 在 2 月 1 日彻底关停了赏金计划,理由很直接:移除经济诱因,让那些不做研究、只靠 AI 批量生成的投机者无利可图。
但真正精彩的,是第二幕。
2026 年 4 月,Stenberg 发了一篇博客,标题叫《High-Quality Chaos》(高质量混乱)。
关停赏金、转回 HackerOne 之后,他本以为洪水会退去。结果呢?
- 提交频率不降反升,达到了 2025 年的两倍;
- 但这一次,质量却大幅提升了——被确认为真实安全问题的比例,从早期跌到 5% 的谷底,强劲反弹到接近 16%,甚至超过了 AI 出现前 2024 年的水平。
这组数据背后,藏着一条更惊悚的曲线。Stenberg 统计了"两次漏洞报告之间的间隔时间":
- 2020–2024 年:平均每 100 小时才有一次提交;
- 2025 年:缩短到 50 小时以内;
- 2026 年:跌破 25 小时。
维护者几乎每天都要处理新报告,工作量呈指数级增长。他预计,curl 在 2026 年可能要发布接近 50 个 CVE——一个史无前例的记录。
看懂这里的悖论了吗?
第一阶段的"AI 垃圾",你还可以用"质量差"来拒绝。但到了"高质量混乱"阶段,报告都是真的、都有效、都值得修——可它们来得太快、太多了。当每一份都值得认真对待时,维护者反而被彻底压垮。
Stenberg 还发现,这早已不是 curl 一家的困境。他在 Mastodon 上随手做了个调查,确认有同样趋势的项目包括:Apache httpd、BIND、Django、Firefox、git、glibc、Linux kernel、Python、Ruby、Wireshark、GnuTLS、OpenLDAP……
他写道:"我打赌这份名单只是碰巧看到我提问的一小撮项目。你还能找到更多正在经历这一切的项目。"
这不是某个项目的伤口,这是整个开源肌体的系统性发炎。
六、表面是版权,骨子里是"责任的消失"
如果说 curl 面对的是"数量的洪水",那 GCC 和 QEMU 守的,是另一道防线:法律与责任。
2026 年 7 月,GCC 指导委员会正式采纳新政策:拒收任何具有"法律意义"的、由 AI/LLM 生成或派生的代码贡献,只对测试用例网开��面。
QEMU 更早,2026 年 5 月,维护者 Daniel Berrangé 提交的政策文档写得很清楚:
"迄今为止,尚未形成关于代码生成器输出结果的许可影响的普遍认可的法律解释……鉴于对 AI 代码生成器输出许可问题的共识缺失,若补丁包含此类生成代码,则声称符合 DCO 条款被视为不可信。"
这里的关键词是DCO(Developer Certificate of Origin,开发者原创声明)。
在传统开源世界里,你提交一个补丁,本质上是在签一份声明:**我有权贡献这段代码,我为它的来源负责。**这是整个开源信任体系的地基。
可当代码是 AI 生成的,这份声明就悬空了——训练数据里有没有 GPL 代码?有没有侵犯版权的片段?没人说得清。于是"我为它负责"这句话,也就失去了根基。
Godot 说得更直白:
"AI 不能承担责任,我们也不能指望过分依赖 AI 的用户能充分理解他们的代码并能进行修正。"
看到了吗?所有这些政策,绕来绕去,最终都指向同一个词——责任(accountability)。
传统开源开发依赖一个朴素的原则:**提交代码的人,不只是作者,也是责任承担者。**过去一个开发者提交 GCC 补丁,意味着他读过代码、理解逻辑、愿意接受维护者的审查与追问,并在出问题时回来修。
但 AI 时代出现了一种新的提交方式:**人用自然语言让模型生成代码,简单扫一眼,就提交了。**当维护者追问"这里为什么这么写",提交者答不上来——因为他自己也不知道。
责任链,在这里断掉了。
七、这不是"反 AI",这是"反不负责任"
必须澄清一个巨大的误读:这些项目封杀的,不是 AI,而是"无人负责的批量提交"。
如果只看标题,你会以为 Godot 是"因为讨厌 AI 而禁止"。但看它的实际政策就会发现——**代码补全、正则替换这类常规 AI 用法,全都允许。**真正被禁的,是提交者自己都读不懂的大批量代码,和无人介入的自主 Agent PR。
标准从来不是"你是否用了 AI",而是**"你能不能为你提交的东西负责"。**
有意思的是,这条标准在 AI 出现之前,本就是开源界的潜规则。只不过 AI 大规模地、批量地制造出了违反这条潜规则的案例,逼得大家不得不把潜规则写成明文。
curl 的 Stenberg 就是最好的证明——他并不一概反对 AI 辅助的报告。
2025 年 9 月,他曾公开赞扬一位叫 Joshua Rogers 的研究者,此人用一套 AI 驱动的代码分析工具(主要是 ZeroPath)提交了"一大串" bug,当时直接促成了 22 个 bug 的修复。Stenberg 的评价是:
"一个聪明人,用了一个强大的工具。"
他真正批判的,是另一类人:"我相信我们收到的最糟糕的报告,都来自那些只会去问 AI 机器人、既不关心也不理解它报告了什么的人。"
区别,一目了然。
**同样是 AI,一个是"人驾驭工具",一个是"人被工具驾驭"。**前者放大了人的能力,后者只是把不负责任规模化了。开源社区筑起的墙,挡的是后者。
而 QEMU 从"全面禁止"到"重新开放 20 行以内机械修改"的松动,也说明了同一件事:社区并非要与 AI 为敌,他们只是在为"责任"重新划定一条可执行的边界。
八、更深的裂缝:一份靠信任维系的社会契约
如果我们把镜头再拉远一点,会看到这场排异反应背后,一道更深的裂缝正在扩大。
开源,本质上是一份基于信任的社会契约。
它从来没有真正的"警察"。GPL 也好、DCO 也好,靠的不是强制执行,而是全球开发者之间一种心照不宣的默契:我贡献真实的、我负责的东西;你审查它、信任它、把它合并进去。整个体系的运转,建立在"绝大多数人是认真的"这个假设之上。
AI 击穿的,正是这个假设。
最棘手的一点是——不可检测性。
你无法可靠地判断一段代码是不是 AI 写的。Godot 说要"禁止 AI 生成的代码",但它凭什么检测?它靠的依然是那份信任:贡献者主动披露、为自己的提交负责。换句话说,这些政策本身,也只是在给一份正在瓦解的信任契约打补丁。
当生成内容的成本趋近于零、当责任可以被轻易甩给一个不具人格的模型、当"我不知道它怎么工作的"成了一句可以坦然说出口的话——支撑开源三十年的那份信任,正在被稀释。
curl 用户在赏金关停后曾抱怨:这是"治标不治本",是在处理症状而非病因。Stenberg 基本同意,但他也无可奈何——因为病因,是整个行业级的激励结构和成本结构,一个小项目根本无力扭转。
这才是最让人不安的地方:每一个项目的自救,都是理性的;但所有理性自救叠加起来,可能正在改变开源协作本身的形态。
九、排异之后,开源会走向何方?
那么,这场排异反应,会把开源带向哪里?
一种可能,是"贵族化"。
当外部贡献的信噪比崩溃,项目会本能地收缩信任半径——只信任已经建立声誉的老贡献者(Ghostty 的"现有贡献者"门槛),或者干脆关闭外部 PR(tldraw 的核选项)。开源那扇"任何人都能贡献"的大门,正在悄悄变窄。这对一个靠"人人可参与"起家的运动来说,是根上的转变。
另一种可能,是"工具进化"。
如果说 AI 制造了洪水,那也许只有 AI 能筑起堤坝。未来的开源基础设施,很可能需要一套 AI 驱动的"预审系统"——在 PR 到达人类维护者之前,先自动过滤、复现、验证。curl 表扬的 ZeroPath 就是一个雏形:用 AI 对抗 AI 的滥用,用工具的进化去修复工具带来的失衡。
还有一种可能,是"契约重写"。
DCO、CLA 这些沿用了几十年的协作契约,可能需要为 AI 时代彻底重写:明确的 AI 使用披露、可追溯的责任链、乃至某种"贡献者信誉分"机制。GCC、QEMU 现在写的那些政策文档,也许正是这场重写的第一批草稿。
尾声:免疫系统的觉醒
生物学上,"排异反应"是免疫系统识别到异物后的自我保护——它有时会误伤,有时会过度,但它的存在本身,说明这个肌体还活着,还在努力分辨"什么属于自己,什么不属于"。
2026 年开源世界的这场集体排异,本质上也是如此。
它不完美。tldraw 的"核选项"可能误伤了真诚的贡献者;GCC 的法律红线可能过于保守;这些政策的可执行性,全都建立在摇摇欲坠的信任之上。
但它至少说明了一件事:**面对 AI 带来的、成本趋近于零的内容洪水,人类协作系统正在长出自己的免疫力。**它在艰难地重新回答那个最古老的问题——
在一个任何人都能瞬间生成"看起来正确"的东西的世界里,我们到底该信任谁?
curl 的 Daniel Stenberg 在博客结尾,留下了一个没有答案的问题:
"Where does it end?(这一切将在哪里结束?)"
没有人知道。但可以肯定的是:那道已经竖起来的墙,短期内不会拆掉。而墙的另一边,那些一天生成成千上万个 PR 的"废话机器",正变得越来越强。
这场排异反应,才刚刚开始。
本文基于 2026 年 1–7 月公开报道与一手资料整理,主要信源包括:Daniel Stenberg 个人博客《High-Quality Chaos》(2026-04-22)、Ars Technica、IT之家、Godot Foundation 官方公告(2026-06-30)、GCC 指导委员会声明(2026-07)、QEMU 贡献政策文档(2026-05)、钛媒体、OSCHINA 等。文中数据与引述均来自上述来源。