在接受 JetBrains 采访时,Zig 创建者 Andrew Kelly 详细阐述了该项目官方禁止 AI 贡献的行为以及其从 GitHub 迁移到 Codeberg 背后的动机。凯利认为,自动化代码提交最终会降低代码库的质量,同时削弱开源参与者之间的社会结构。 GitHub 的不断失败和明显缺乏激励导致代码库迁移到 Codeberg。
Kelly 列举了 Zig 项目决定强烈拒绝 AI 贡献的两个因素:经过验证的人力资源与增加的代码量不匹配以及对所生成软件质量的负面影响:
第一个原因很简单,这样的贡献总是垃圾。 […] 不仅如此,它们还有负值 […] 当我们收到这些随机贡献时,他们会占用我们的审核时间,经过几次审核后,我们意识到他们不知道自己在做什么。他们只是将我们说的话翻译回聊天中,然后将聊天转回假装他们没有使用聊天,但我们仍然可以知道。在某些情况下,我们意识到它永远不会有良好的质量,因为他们不知道自己在做什么。现在我们已经浪费了每个人的时间。
同时,凯利强调了齐格的首要教育使命。凯利将代码审查视为对真正工程师的指导投资,这些工程师以后可以成为关键贡献者:
扑克贡献者的想法 [Editor’s note: betting limited review time on contributors likely to grow and stay vs. drive-by contributors] 是我们的时间有限。所以我们要关注的是:我们可以把时间花在谁身上来帮助他们成为更好的程序员和更好的项目贡献者?谁可能是推动贡献者?因此,使用人工智能的人,他们永远属于第二类。他们不值得投资。他们学不到任何东西。他们稍后不会加入主要演员阵容。
Zig 的原则方法与 Boon 不同,Boon 最近通过移植代码、检查代码并提出修复建议,将整个代码库从 Zig 重写为 Rust,支持多个 AI 代理。在题为“我对重写 Rust 的想法”的高度批评性回应中,Kelly 断言:
这里的主要问题与 Zig 与 Rust 的语言特性无关,而与两个项目不同的价值体系有关。
Kelly 进一步解释说,该项目将其 GitHub 存储库移至德国非营利组织 Codeberg,该组织受到 GitHub Actions 中持续 CI 故障的困扰。凯利还强调,激励措施应与非营利组织更好地结合起来,这些非营利组织倾向于可持续发展,而不是快速增长和货币化:
“GitHub 刚刚停止为我们工作。我们无法再让我们的持续集成工作了。所以我们搬到了 Codeberg,现在我们的持续集成服务器又开始工作了……Codeberg 也是一家德国非营利组织,我个人认为,非营利性使用是比初创公司或公司更可持续的业务,因为这些公司试图赚取更多利润,而非营利组织则试图继续做他们正在做的事情,这就是我想要的。”
一些开发人员已经接受了 GitHub 潜在的性能下降问题,而这与 AI 工作负载的指数级增长同时发生。
凯利在一次采访中回忆说,他在尝试建立一个数字本土音频站时构思了 Zig。 JavaScript 没有低级硬件控制; Go 引入了全局垃圾收集中断,这会损害实时音频播放的要求; Rust 当时(1.0 版本之前)开发了一个债务错误,导致 UI 字体渲染瘫痪数周; C++ 会产生持续的内存损坏错误,需要花费大量时间进行调试。
Zig 语言拒绝自动内存管理,而是更喜欢显式内存分配器。 Andrew Kelly 于 2018 年辞去工作,创建了 Zig。 Zig 为 Ghostty、TigerBeetle 的低成本财务基础以及 Uber 的跨平台基础设施提供支持。
我们鼓励开发人员查看整个 JetBrains 采访,了解有关所提出的观点以及本文未涵盖的更多主题的更多详细信息。