开源GZDoom社区因AI代码使用分裂

知名Doom开源移植项目GZDoom因创始人插入AI生成代码引发社区分裂。项目维护者在代码中添加了ChatGPT生成的未经测试代码片段,并试图删除相关讨论记录。开发者们对使用"无法验证GPL兼容性的抓取代码"表示强烈反对,认为AI工具不应用于开源项目。大批开发者因此创建了名为UZDoom的新分支,采用更透明的协作开发模式,去除"一人决定一切"的管理方式。

如果你近年来关注过《毁灭战士》粉丝开发的活跃世界,你可能遇到过基于GZDoom的数百个游戏模组、WAD文件或整个商业游戏。这个开源《毁灭战士》移植版本可以追溯到1998年ZDoom的原始发布,它在约翰·卡马克1997年发布的原始《毁灭战士》源代码基础上增加了现代图形渲染、生活质量改进和极其深入的模组功能。

然而,GZDoom背后的社区正在公开分裂,大量开发者联合起来支持一个名为UZDoom的新分支。这一举动显然是对GZDoom创始人和维护者Cristoph Oelckers(又名Graf Zahl)领导方式的抗议,他最近承认在GZDoom代码库中插入了未经测试的AI生成代码。

开发者Nash Muhandes周三在DoomWorld论坛上写道:"由于在协作方式上的一些分歧——有些是最近的,有些已经容忍了近20年——我们决定最好的行动方案是分叉这个项目。我不想看到GZDoom的传承死去,我们大多数人也不想,因此我认为最好的做法是通过分叉继续开发,同时引入一种高度支持多人透明协作的不同开发模式。"

AI之路还是别无选择

多年来,Zahl的项目领导在GZDoom开发社区内产生了大量摩擦——这个Reddit主题提供了一些戏剧性事件的简要历史。但导致本周UZDoom分裂的直接事件似乎主要集中在Zahl在最近的GZDoom更新中公开使用AI生成代码上。虽然这种AI编码工具的使用通常很难从外部识别(正如Zahl自己在GitHub帖子中指出的),但这个特殊实例被Zahl自己的代码注释突出显示:"这是ChatGPT告诉我在Linux上检测暗模式的方法。"

这个注释引发了开发者之间关于使用"被盗刮取代码,我们无法验证是否与GPL兼容"的冗长讨论。虽然Zahl最终删除了有问题的代码,但据称他还试图通过强制推送更新来删除讨论,完全消除它曾经存在的证据。

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

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

分叉之路

在周二发布的GitHub错误报告中,用户the-phinet列出了对AI生成代码的分歧,以及Zahl自上而下推出GZDoom更新方法的其他指控问题。作为回应,Zahl邀请开发社区"如果如此不满,请随意分叉项目"。

许多GZDoom开发者很快认真对待了这个有些任性的回应。开发者Boondorl写道:"你刚刚用这些胡扯完全摧毁了GZDoom。享受你的死项目吧,我相信你会很高兴独自摆弄它,在那里人们终于可以停止对你大喊大叫要求做事情。"

在发布到ZDoom Discord的社区更新中,版主Agent_Ash承诺新的UZDoom将保持与旧GZDoom存档和模组的兼容性,同时在未来添加新的计划功能。但新项目还将提供"更稳定的开发结构,具有健康的协作,减少给予个别'项目负责人'的权力",Agent_Ash写道。

在讨论UZDoom分叉的Reddit主题中,Muhandes详细说明了"UZDoom摆脱了'一个人决定一切'/'我的方式或别无选择'的开发模式。每个人都必须提出必须经过彻底同行评议的拉取请求,一切都将是透明的——没有人被允许直接提交到主分支。"

"我从未见过我如此努力工作的东西,在过去的2+十年里——可以说是我生活的激情——如此严重地崩溃,"Muhandes在Bluesky上补充道。

虽然GZDoom将继续存在,但Agent_Ash写道"有理由假设UZDoom将成为引擎向前发展的'主要'旗舰版本。"虽然欢迎Zahl继续为新项目做出贡献,但"UZDoom不会由他领导,他不会对新功能和变化拥有最终发言权",Agent_Ash补充道。

围绕一个32年历史游戏的现代源码移植的内讧高度说明了《毁灭战士》对多代粉丝持续产生的深刻文化影响。展望未来,很难说这种戏剧性的分裂将如何影响已成为游戏持续传承重要支撑部分的持续开发。然而,目前这一举动突出了AI编码工具的使用如何成为开源游戏开发世界中许多人不可妥协的争议焦点。

Q&A

Q1:UZDoom是什么?为什么要创建它?

A:UZDoom是GZDoom开源项目的一个新分支,由于开发者对项目创始人Cristoph Oelckers在代码库中使用AI生成代码以及其独断专行的领导方式不满而创建。UZDoom旨在提供更透明的协作开发模式,摆脱"一个人决定一切"的开发方式。

Q2:GZDoom使用AI生成代码引发了什么争议?

A:GZDoom创始人在代码中插入了ChatGPT生成的未经测试代码,并在注释中明确标注"这是ChatGPT告诉我在Linux上检测暗模式的方法"。开发者认为这些"被盗刮取代码"无法验证是否与GPL协议兼容,违背了开源项目的原则。

Q3:UZDoom将如何改变开发模式?

A:UZDoom将采用更民主的开发结构,要求所有人提交必须经过同行评议的拉取请求,没有人可以直接提交到主分支。项目不再由单一领导者主导,而是通过透明的协作方式进行开发,同时保持与现有GZDoom存档和模组的兼容性。

来源:Arstechnica

0赞

好文章,需要你的鼓励

2025

10/17

08:43

分享

点赞

邮件订阅