Linux 应用商店 Flathub 将禁止新提交应用使用 AI 生成代码,维护者直言“我受够了”
维护者不再忍耐:AI 代码让审核变成“替罪羊”
Flathub 的维护者近日公开表达了对大量 AI 生成代码涌入的疲惫。这些代码往往由大模型自动生成,缺乏对底层系统机制的理解,例如对 D-Bus 等总线协议的误用。D-Bus 的理念是让应用程序、服务及实体暴露方法与属性,供其他应用集中发现资源,但 AI 生成的代码常忽略正确的总线注册与权限管理,导致运行时权限漏洞或通信失败。维护者指出,AI 代码看似“能工作”,实则隐藏大量逻辑缺陷,而审核者不得不花费数倍时间排查这些机器编写的“黑盒”,感觉自己成了AI犯错的替罪羊。
从“工具”到“垃圾代码工厂”:Flathub 收到的 AI 提交激增
过去几个月,Flathub 收到的应用提交中,基于 GitHub Copilot、ChatGPT 等工具生成的代码占比骤增。这些提交的共同特点是:代码结构规整但缺乏实际测试,大量重复的 D-Bus 方法调用,以及未处理总线超时或连接中断等边缘情况。维护者透露,某些应用甚至直接复制了 AI 生成的“示例代码”,而示例代码本身只用于演示 D-Bus 的概念,并非生产环境的安全实现。这种“流水线式”的提交让 Flathub 的审核队列迅速膨胀,而真正需要人工审查的应用反而被淹没。
禁令细节:什么算“AI 生成代码”?维护者给出硬标准
新的规则明确:任何提交至 Flathub 的应用,其主要逻辑、核心模块或关键安全片段(如 D-Bus 接口定义)不得由 AI 工具直接生成。维护者强调,这不意味着禁止使用 AI 辅助(例如代码补全、自动格式化),但禁止“以 AI 为核心”的生成行为——即提交者无法解释代码的具体逻辑,或者无法通过 D-Bus 总线原理来证明功能的正确性。一旦发现,应用将被拒收,且开发者需重新编写手写版本。这一标准旨在强迫开发者为代码质量负责,而非将审核压力转嫁给社区。
手写代码的价值:D-Bus 总线上的“人类智慧”不可替代
Flathub 维护者指出,真正的开源生态依赖开发者对底层协议的理解。以 D-Bus 为例,正确的实现需要考虑命名空间冲突、安全策略、异步信号处理等细节,而 AI 模型即使能生成语法正确的代码,也无法感知特定桌面环境(如 GNOME、KDE)对 D-Bus 服务的约束。手工编写的代码在出现权限错误或总线死锁时,开发者能通过 D-Bus 调试工具快速定位,而 AI 生成的代码往往导致“玄学”错误,让维护者质疑“到底是谁写的代码”。禁止 AI 生成,本质上是维护了开源社区“可解释、可审计、可修复”的代码质量传统。
社区反响分裂:支持者叫好,反对者称“因噎废食”
消息公布后,Flathub 官方论坛分为两派。支持者认为,AI 代码泛滥已严重影响 Flathub 作为“官方 Linux 应用商店”的声誉,甚至有人贴出自己修复过的 AI 生成 D-Bus 漏洞案例:由于 AI 未遵循“非特权用户不得直接调用系统总线方法”的规则,导致应用可在沙箱外访问敏感资源。反对者则指出,Flathub 的禁令可能歧视小团队和独立开发者,他们依赖 AI 快速原型化,且手写代码的成本过高。但维护者回应:“如果连 D-Bus 总线的基本概念都不愿学,那就不该来 Flathub 发布应用。”目前,该规定已写入 Flathub 贡献指南,并将于下月正式执行。