在当今技术快速发展的时代,人工智能已经渗透到各个领域,软件开发也不例外。然而,当AI工具开始进入开源项目的核心代码库时,往往会引发社区的激烈争议。最近,有着二十多年历史的开源游戏引擎GZDoom社区就因此陷入了分裂,创始人克里斯托弗·奥克尔茨(Christoph Oelckers,网名Graf Zahl)在未经充分测试的情况下引入了AI生成的代码,导致大量开发者愤而离场,创建了一个名为UZDoom的分支项目。
事件背景:GZDoom与Doom社区

GZDoom是一款开源的Doom引擎,可以追溯到1998年ZDoom的首次发布。它为原始Doom游戏添加了现代图形渲染、生活化改进和极其深入的模组功能,使得基于这一引擎的游戏和模组数量激增。如今,有数百个游戏模组、WAD文件甚至整个商业游戏都是基于GZDoom开发的,使其成为游戏模组社区的重要支柱。
GZDoom的创始人Graf Zahl多年来一直是项目的核心领导人物,负责项目的方向和代码审核。然而,他的领导方式长期以来一直存在争议,许多开发者对他的独断专行表示不满。这次AI代码事件成为了压垮骆驼的最后一根稻草,导致了社区的公开分裂。
导火索:AI代码的引入
事件的核心在于Graf Zahl在最近的GZDoom更新中引入了由ChatGPT生成的代码片段。这一行为被他自己在一行注释中明确标注:"这是ChatGPT告诉我的用于检测Linux上深色模式的方法。"

这一注释引发了开发者社区的广泛讨论。许多人担忧使用AI生成的代码可能带来以下问题:
- 代码质量与安全性:AI生成的代码可能存在未被发现的安全漏洞或性能问题
- 许可证合规性:AI训练数据可能包含受版权保护的代码,导致生成代码的许可证问题
- 透明度与责任:使用AI代码但未充分披露,违反了开源社区的透明原则
在GitHub上的讨论中,一位开发者将AI生成的代码描述为"我们无法验证其是否与GPL兼容的被盗取的抓取代码"。尽管Zahl最终移除了这段有问题的代码,但他还被指控试图通过强制推送更新来删除相关讨论,进一步激化了矛盾。
争议焦点:AI在开源项目中的角色

Zahl为自己使用AI代码的行为辩护,称这些代码只是用于"系统配置设置的表面检查",不是关键的游戏功能代码。他写道:"我当然对使用AI处理项目特定代码有所保留,但这里只是对可在各种网站上找到的系统配置设置进行检查——只是需要10倍的努力。"
然而,社区中许多开发者坚决反对在任何情况下使用AI工具。GitHub用户Cacodemon345明确表示:"如果使用ChatGPT或其他任何生成式AI聊天机器人生成的代码渣是这个项目的未来,很抱歉,我要退出。"这代表了众多开发者的共同立场。
争议的深层原因在于开源社区的核心价值观:透明、协作和代码质量。AI代码的引入挑战了这些价值观,因为它:
- 缺乏透明度:AI生成代码的来源和质量难以追踪
- 威胁协作:开发者可能不愿意审查和改进AI生成的代码
- 质量风险:AI生成的代码可能不符合项目的编码标准和最佳实践
分裂结果:UZDoom的诞生
在GitHub上发布的一个问题报告中,用户the-phinet详细列出了对AI生成代码的反对意见,以及对Zahl自上而下更新方式的批评。作为回应,Zahl邀请不满意的项目开发者"随时分叉这个项目"。
这一看似轻率的回应被许多开发者认真对待。开发者Boondorl愤怒地表示:"你用这些狗屎彻底毁了GZDoom。享受你那死掉的项目吧,我相信你会很高兴一个人在那里敲打,人们终于可以停止对你大喊大叫让你做事了。"
随后,开发者Nash Muhandes在DoomWorld论坛上宣布了UZDoom项目的成立,他写道:"由于在协作方式上存在一些分歧——有些是最近的;有些已经容忍了近20年——我们决定最好的行动方案是分叉这个项目。我不希望看到GZDoom的传统消亡,所以我们大多数人认为,通过分叉继续开发,同时引入一种更加有利于多人之间透明协作的开发模式是最好的选择。"
UZDoom:新的开发模式
在ZDoom Discord社区的一篇更新中,版主Agent_Ash详细介绍了UZDoom的目标和运作方式:
- 兼容性保证:UZDoom将保持与旧版GZDoom存档和模组的兼容性
- 开发结构改革:提供更稳定的开发结构,促进健康协作,减少对个人"项目负责人"的权力集中
- 透明决策:所有更改都必须通过严格的同行评审,不允许任何人直接提交到主分支
Muhandes在Reddit上进一步解释:"UZDoom摆脱了'一个人决定一切'/'要么接受要么离开'的开发模式。每个人都必须提交拉取请求,必须经过彻底的同行评审,一切都将透明进行——不允许任何人直接提交到主分支。"
他还在Bluesky上表达了自己的情感:"我从未见过我过去2多年如此努力投入的东西——可以说是我的人生热情——如此彻底地崩溃。"
影响与展望

尽管GZDoom项目将继续存在,但Agent_Ash认为"可以合理地假设UZDoom将成为未来引擎的'主要'旗舰版本"。虽然Zahl将被欢迎继续为新项目做贡献,但"UZDoom将由他领导,他不会对新功能和更改拥有最终决定权。"
这一围绕32岁游戏的现代源端口项目的内部斗争,充分反映了Doom对多代粉丝的深远文化影响。目前,这一戏剧性的分裂将如何影响已成为游戏持续遗产重要组成部分的引擎开发,还有待观察。
然而,这一事件凸显了AI编码工具的使用已成为开源游戏开发领域许多人的不可妥协的引爆点。随着AI技术在软件开发中的普及,开源社区面临着如何在拥抱新技术的同时维护其核心价值的挑战。
技术伦理与开源社区的未来
GZDoom分裂事件是技术伦理在开源社区中的一次具体体现。它提出了几个关键问题:
- AI工具的边界:在什么情况下AI工具可以在开源项目中使用?
- 透明度要求:开发者需要多透明地披露AI工具的使用?
- 质量控制:如何确保AI生成代码的质量和安全性?
- 社区治理:开源项目应如何适应新技术带来的挑战?
这些问题没有简单答案,但GZDoom事件表明,开源社区需要认真思考这些问题,并在AI技术日益普及的时代找到平衡点。
结论
GZDoom社区分裂事件远不止是一个关于AI代码的争议,它是开源社区在面对新技术时价值观冲突的缩影。这一事件提醒我们,技术决策不仅是技术问题,也是社区治理和文化问题。随着AI技术在软件开发中的深入应用,开源社区需要重新审视其基本原则,并在创新与传承之间找到平衡。
无论最终GZDoom和UZDoom如何发展,这一事件都将成为开源社区历史上的一个重要案例,提醒我们在拥抱技术进步的同时,永远不要忽视那些使开源社区如此独特和有价值的协作精神与透明原则。












