QGIS 正式禁止 AI 贡献:开源社区的”信任契约”保卫战
QGIS 正式禁止 AI 贡献:开源社区的”信任契约”保卫战
QGIS——全球最大的开源地理信息系统——在 10 月 7 日合并了 QEP428 提案,将 AI 贡献政策从”人在回路”升级为严格的”不允许”。这个决定在 Hacker News 上获得 361 分,评论区罕见地几乎一边倒支持。维护者的理由不是”AI 生成的代码质量差”,而是一个更根本的问题:AI 正在破坏开源社区最核心的资产——人与人之间的信任网络。
从”人在回路”到”全面禁止”
QGIS 之前不是完全禁止 AI。旧政策是”Human in the loop”——你可以用 AI 辅助,但最终提交必须是人类审核过的。QEP428 把这条线画到了最极端的位置:任何 AI 辅助的贡献都不允许。QEP 的提案人是 QGIS 的核心维护者 Nyall Dawson,他在 PR 描述中只写了一句话:”This formally changes the AI policy to a strict ‘NOT ALLOWED’ policy.”——没有长文,没有辩解,就这一句。
另一个维护者 Tim Lin 的评论点出了这种简洁的用意:”Hopefully having a short paragraph like this rather than a long essay cut out any confusion!”——用一段简短的话而不是长篇大论,消除一切歧义。没有”AI 辅助但人类审核可以”的灰色地带,没有”只用于安全审查可以”的例外条款。
维护者的真实困境:审查带宽被 AI 冲垮
维护者 Even Rouault(haubourg)给出了最完整的理由,值得逐条拆解。第一,外部贡献者的 AI 使用对维护者造成了”巨大且不可承受的”压力——这些维护者在 LLM 时代之前就已经有繁重的工作了。第二,AI 贡献的流速远远超过人类审查能认真处理的数量,结果要么是越来越长的未审查 PR 列表,要么是审查不充分的代码和质量问题——”这两样都不是我们想要的”。第三,自由软件社区建立在人类网络之上。QGIS 被组织信任,是因为他们知道可以回馈贡献、可以雇佣贡献者做支持/培训/功能开发。作为社区项目,他们要保护这一点,保持足够带宽对人类贡献者友好。
这三个理由的共同点不是”AI 代码不好”,而是”AI 贡献的规模超出了人类社区的处理能力”。这是一个带宽问题,不是一个质量问题。即使 AI 生成的代码 100% 正确,只要它的提交量是人类的 10 倍,审查系统就会崩溃。
贡献者的忏悔:AI 给了”我能修 bug”的幻觉
评论区最打动我的是贡献者 Amalvir 的自述。他承认自己提交了两个 AI 辅助的 bug 修复 PR,”当时没有意识到这对 QGIS 已经脆弱的审查者社区造成了多大的伤害”。他说:”我显然还没有足够的技能来修复 QGIS 这么复杂项目中的 bug,但 LLM 给了你一种’这是可能的’的幻觉。几个 token 之后,bug 就修好了。通过这样做,我们打破了审查者和贡献者之间的信任契约——那个契约是:要在这么大的项目中贡献,你得知道自己在做什么。”
他还指出了一个更深层的问题:使用 AI 的贡献者”几乎什么都没学到,没有建立项目技能”。”他们永远没希望真正变成审查者,社区就停滞了。”这段话揭示了一个残酷的事实:AI 辅助贡献可能不是在”增加社区贡献”,而是在”稀释社区能力”。一个用 AI 修了 10 个 bug 的贡献者,和一个真正理解了代码库、能独立修复 bug 的贡献者,对社区的长期价值是完全不同的。
“扔掉了洗澡水里的婴儿”
反对声也有,但非常少。贡献者 kannes 提出了一个技术层面的质疑:这个政策是否会禁止”使用 LLM 进行代码审查、审计和安全目的”?他用 LLM 来发现代码中”额外的、不明显的上下文”,”它们经常是错的,但我坚信结果可以被人类用来更深入地理解代码”。他还用 LLM 做”审查者模拟”——把代码丢给 LLM 审查,得到一份列表,丢弃垃圾部分,看剩下的,”也许找到一个实际问题,修好它,然后拿着一个稍微好一点的 PR 去找你的同事”。
Even Rouault 的回复很直接:”yes, we are aware we might throw the baby with the bathwater, but the baby might be non-viable, so…”——是的,我们知道可能扔掉了洗澡水里的婴儿,但婴儿可能本身就不 viable。然后他补充了一句被广泛引用的话:”Two years ago the world sucked less than today, so there’s no reason to allow it without fully understanding the consequences. We might have to wait for the burst of the AI bubble to fully understand what a fair AI use might be.”——两年前的世界比现在好受,所以在完全理解后果之前,没有理由允许它。我们可能得等 AI 泡沫破裂,才能理解什么是公平的 AI 使用。
这不是反 AI,是反”不可审查的规模”
QGIS 的决定不是”AI 是邪恶的”。haubourg 在评论中明确说他想另开一个话题讨论”LLM 用于审查、审计和安全目的”,但”那是一个完全不同的线程,我们会在用户大会前先处理这个 QEP”。rouault-on-strike 的措辞更精准:”This QEP is a stop gap measure”——这是一个权宜之计。不是永久禁令,是在 AI 泡沫未破裂之前,先停下来。
这个决定的真正含义是:开源社区的治理工具(PR 审查、issue 讨论、维护者带宽)是为人类规模设计的。当 AI 把贡献量放大 10 倍时,这些工具就失效了。QGIS 选择的是”保护社区”而不是”最大化贡献量”。在 AI 贡献者”什么都不学就提交代码”的模式没有改变之前,全面禁止是一个合理的保护性措施。
对开发者来说,这个决定的实际影响是:如果你想在 QGIS 中贡献代码,你得用”传统方式”——自己读代码、自己理解 bug、自己写修复。AI 可以用来学习(”让我用 LLM 解释这段代码在做什么”),但不能用来生成(”帮我写一个修复这个 bug 的 patch”)。这条线在哪里?QGIS 的答案是:不画线,全面禁止。因为”AI 辅助但人类审核”的验证成本太高了。
核心观点:QGIS 的禁令不是”反 AI”,是”反不可审查的规模”。开源社区的核心资产不是代码,是人与人之间的信任网络和技能传承。当 AI 贡献的流速超过人类审查带宽时,社区会退化——不是因为代码质量下降,而是因为”贡献者→审查者”的成长路径被切断了。如果其他大型开源项目(Linux 内核、GCC、PostgreSQL)跟进,AI 辅助贡献的”灰色地带”将大幅收窄。
— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn