AI代码引发开源社区分裂:GZDoom开发者因ChatGPT使用分道扬镳

1

如果你最近曾关注过活跃的Doom粉丝开发世界,你很可能已经遇到了基于GZDoom的数百个游戏模组、WAD文件甚至整个商业游戏。这款开源Doom引擎可以追溯其 lineage 回到1998年ZDoom的首次发布,它为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兼容的被窃取的抓取代码"。虽然Zahl最终删除了有问题的代码,但他据称还试图通过强制推送更新来删除讨论的全部证据,从而删除它曾经存在的证据。

c // 这是ChatGPT告诉我在Linux上检测暗模式的代码。

Graf Zahl代码注释

Zahl为使用AI生成的代码片段用于"非底层游戏功能关键性的样板代码"进行了辩护。"我当然对使用AI进行项目特定代码有保留意见,"他写道,"但这里只是对系统配置设置的表面检查,可以在各种网站上找到——只是需要10倍的努力。"

但社区中其他人坚决认为,像这样的开源项目工作流程中不应该有AI工具的一席之地。"如果使用ChatGPT或任何其他生成式AI聊天机器人生成的代码渣滓是这个项目的未来,很抱歉,我要退出,"GitHub用户Cacodemon345写道,总结了其他许多开发者的感受。

分道扬镳

在周二发布的一个GitHub问题报告中,用户the-phinet列出了对AI生成代码的分歧,以及对Zahl自上而下方式推出GZDoom更新所声称的其他问题。作为回应,Zahl邀请开发社区"如果他们如此不满意,可以自由分叉这个项目"。

许多GZDoom开发者很快将这种有些任性的回应当真了。"你已经用这种胡闹完全搞砸了GZDoom,"开发者Boondorl写道。"享受你死气沉沉的项目吧,我敢肯定你会很高兴一个人继续摆弄它,人们终于可以停止对你大喊大叫让你做事情了。"

Selaco游戏截图

像《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编码工具的使用已成为开源游戏开发世界中许多人不可妥协的引爆点。

GZDoom开发者分裂概念图

艺术家对GZDoom开发者创建自己游戏分支的构想。

图片来源:Prodigal's GZDOoom WADs

这次分裂不仅关乎AI在软件开发中的使用,更触及了开源社区治理的核心问题。在技术快速发展的今天,如何平衡创新与质量、个人决策与集体智慧,成为每个开源项目必须面对的挑战。GZDoom的案例表明,即使是历史悠久的项目,也需要不断调整其治理模式以适应新的技术环境。

对于Doom社区而言,这种分裂可能带来短期的不便,但长期来看,健康的竞争可能推动两个项目都取得进步。开源的真正价值在于其能够适应变化、自我修正的能力,而GZDoom社区的这次分裂正是这一价值的体现。