开源世界的地震:一个引擎的分裂
如果你最近曾关注过Doom粉丝开发的活跃世界,你很可能已经遇到了基于GZDoom的数百种游戏模组、WAD文件,甚至是完整的商业游戏。这个可以追溯到1998年ZDoom最初发布的开源Doom引擎,为John Carmack在1997年发布的原始Doom源代码添加了现代图形渲染、生活质量改进和极其深入的模组功能。
然而,现在GZDoom背后的社区正在公开分裂,大量开发者团结在一个名为UZDoom的新分支背后。这一举动显然是对GZDoom创建者和维护者Cristoph Oelckers(又名Graf Zahl)领导方式的抗议,他最近承认在GZDoom代码库中插入了未经测试的AI生成代码。
"由于在协作方式上存在一些分歧——有些是最近出现的;有些已经容忍了近二十年——我们决定最好的行动方案是分叉这个项目,"开发者Nash Muhandes周三在DoomWorld论坛上写道。"我不想看到GZDoom的消亡,正如我们大多数人一样,因此我认为最好的做法是通过分叉继续开发,同时引入一种更倾向于多人之间透明协作的开发模式。"
AI之路还是不归路?
多年来,Zahl的项目领导在GZDoom开发社区中产生了不少摩擦——这个Reddit线程简要回顾了一些戏剧性事件。但导致本周UZDoom分裂的直接事件似乎主要围绕Zahl在最近的GZDoom更新中公开使用AI生成代码。虽然这类AI编码工具的使用从外部往往难以识别(正如Zahl自己在GitHub帖子上指出的那样),但这次特别的事件被Zahl自己的注释代码片段所强调:"这是ChatGPT告诉我的如何在Linux上检测深色模式。"
那条评论引发了开发者之间关于"我们无法验证其与GPL兼容的被窃取的抓取代码"的 lengthy讨论,正如其中一位开发者所描述的。虽然Zahl最终删除了有问题的代码,但他还被指控试图通过强制推送更新来删除讨论的全部证据,以删除它曾经存在的证据。
// 这是ChatGPT告诉我的如何在Linux上检测深色模式。
Graf Zahl代码注释
Zahl为使用AI生成片段用于"不依赖于底层游戏功能的样板代码"进行了辩护。"我当然对在项目特定代码中使用AI持保留意见,"他写道,"但这里只是对系统配置设置的表面检查,可以在各种网站上找到——只是需要10倍的努力。"
但社区中其他人坚决认为,像这样的开源项目工作流程中没有AI工具的位置。"如果使用ChatGPT或任何其他生成式AI聊天机器人生成的代码渣滓是这个项目的未来,我很遗憾地说我会退出,"GitHub用户Cacodemon345写道,总结了其他许多开发者的感受。
分叉之路
在周二发布的一个GitHub问题报告中,用户the-phinet列出了对AI生成代码的分歧以及其他与Zahl自上而下推动GZDoom更新相关的 alleged 问题。作为回应,Zahl邀请开发社区"如果他们不满意,可以自由分叉这个项目"。
许多GZDoom开发者很快将这个有些任性的回应当真了。"你用这种狗屎完全毁了GZDoom,"开发者Boondorl写道。"享受你死掉的项目吧,我很高兴你终于可以一个人独自摆弄它,人们终于可以停止对你大喊大叫让你做事了。"

像《Selaco》这样的完整商业游戏都基于GZDoom的开源引擎。
图片来源:Altered Orbit Studios
在发布到ZDoom Discord的社区更新中,版主Agent_Ash承诺新的UZDoom将保持与旧GZDoom存档和模组的兼容性,同时将来添加新的计划功能。但新项目还将提供"更稳定的开发结构,实现健康协作,减少给予单个'项目负责人'的权力,"Agent_Ash写道。
在讨论UZDoom分叉的Reddit线程中,Muhandes详细介绍了"UZDoom摆脱了'一个人决定一切'/'我的方式就是唯一方式'的开发模式。每个人都必须提出拉取请求,必须经过彻底的同行评审,一切都将透明——不允许任何人直接提交到主分支。"
"我从未见过我过去2多年如此努力工作过的东西——可以说是我的人生热情所在——如此剧烈地崩溃,"Muhandes在Bluesky上补充道。
虽然GZDoom将继续存在,但Agent_Ash写道,"合理地假设UZDoom将成为未来'主要'的旗舰版本引擎。"虽然Zahl将继续被允许为新项目做出贡献,但"UZDoom将由他领导,他不会对新功能和变更拥有最终决定权,"Agent_Ash补充道。
深层原因:领导风格与社区治理
这场关于32岁游戏的现代源端口的内部争论,充分说明了Doom继续对多代粉丝产生的深远文化影响。然而,这场分裂的根源远不止AI代码的使用那么简单。
长期以来,Zahl在GZDoom项目中的独断专行一直是社区不满的来源。根据多位开发者的描述,Zahl倾向于单方面做出重大决策,忽视社区反馈,并经常以高压方式推动更新。这种"自上而下"的领导风格与开源社区通常倡导的协作、民主决策理念形成鲜明对比。
"我们容忍了近二十年的分歧,"Muhandes在论坛帖子中暗示,这表明问题已经积累多年,而AI代码事件只是压垮骆驼的最后一根稻草。
AI在开源项目中的争议地位
GZDoom事件突显了AI工具在开源社区中日益增长的争议性。一方面,AI可以加速某些重复性或样板代码的开发;另一方面,它带来了严重的质量和伦理问题。
首先,AI生成代码的质量参差不齐。正如Zahl在争议中承认的,他使用的AI代码只是"系统配置设置的表面检查",但对于更复杂的游戏引擎代码,AI生成的内容可能包含难以发现的错误或安全隐患。
其次,AI训练数据可能包含受版权保护的代码。开源项目通常遵循GPL等许可协议,要求所有代码都兼容这些许可。然而,AI模型训练时可能使用了受版权保护的代码,这使得AI生成的代码在法律上处于灰色地带。
最后,AI工具的使用可能削弱开源社区的核心价值——人类开发者的创造力和协作。正如一位开发者所言,"如果使用AI代码渣滓是这个项目的未来,我会退出。"这种担忧反映了许多开源贡献者对技术替代人类创造力的恐惧。
开源治理模式的反思
UZDoom的创建不仅是对AI代码的抗议,也是对开源项目治理模式的重新思考。新的项目承诺采用更透明的协作方式,包括强制性的代码审查和开放的决策过程。
这种治理模式与许多成功的开源项目一致,如Linux内核和Mozilla Firefox,它们都依赖于广泛的同行评审和社区参与。相比之下,GZDoom的集中式决策模式虽然可能在某些情况下提高效率,但也可能导致决策质量和社区参与度下降。
开源项目的成功不仅取决于技术质量,还取决于社区的健康和可持续性。UZDoom的创建者认识到,一个健康的开源项目需要平衡技术进步与社区参与,确保所有贡献者都有发言权。
对游戏开发社区的深远影响
GZDoom的分裂可能对游戏开发社区产生深远影响。首先,它为其他开源游戏引擎提供了警示:在采用新技术时,必须考虑社区反应和长期影响。
其次,这一事件可能加速游戏开发社区对AI工具的讨论。随着AI在游戏开发中的应用越来越广泛,如何平衡效率与质量、创新与伦理将成为行业必须面对的问题。
最后,GZDoom事件展示了开源社区的韧性和自我修复能力。即使面临重大分歧,社区成员仍能找到前进的道路,通过分叉等方式继续项目的发展。
未来展望:两条道路,一个遗产
展望未来,GZDoom和UZDoom可能沿着不同的道路发展。GZDoom将继续在Zahl的领导下发展,可能会继续探索AI工具的应用,同时保持对核心游戏功能的严格控制。
而UZDoom则将采用更协作的开发模式,强调透明度和社区参与。这种模式可能带来更慢但更稳定的发展,但也可能吸引更多开发者加入,从而加速创新。
无论哪条道路,这两个项目都将继承Doom开源引擎的丰富遗产。Doom的源代码自1997年发布以来,催生了无数游戏、模组和工具,影响了整个游戏行业的发展。GZDoom和UZDoom的分裂虽然令人遗憾,但也可能为开源游戏开发带来新的机遇和挑战。
结语:技术进步与社区价值的平衡
GZDoom的分裂事件提醒我们,技术进步必须与社区价值相平衡。AI等新技术可以带来效率提升,但如果不充分考虑社区反应和长期影响,可能会导致严重的后果。
开源项目的成功不仅取决于技术创新,还取决于社区的健康和可持续性。在拥抱新技术的同时,我们必须坚守开源的核心价值——透明、协作和社区参与。
正如一位开发者所言,"我不想看到GZDoom的消亡。"这种对项目遗产的珍视,正是开源社区最宝贵的品质。无论未来如何发展,这种品质将继续推动开源游戏开发向前发展,为玩家和开发者创造更多可能性。









