华建集团第九届科技与人才大会暨院士专家高峰论坛10月18日下午举办,专家学者聚焦城市有机更新、绿色低碳技术与实践、数字化治理与智慧城市等行业关键议题,...
2025-10-20 0
整理 | 屠敏
出品 | CSDN( ID:CSDN news)
直接在项目中引入 AI 生成的代码,会带来什么样的后果?
也许在程序崩溃或者 Bug 出现之前,仅是这种做法就足以引发一场轩然大波——这正是开源社区 GZDoom 最近面临的困境。日前,该开源社区的创始人直接把 AI 生成的代码合并进项目,结果社区炸了锅:不少老贡献者气得离开,自己创建了一个新分支,以此表达不满。
当然,社区成员气愤的原因不仅在于创始人的行为本身,更在于有贡献者披露,创始人在引入这段 AI 生成代码时,根本没有进行任何测试,而且日常他喜欢“独裁”,俨然把一个众人皆可贡献的开源项目变成了自己独做决定的“个人项目”。
GZDoom 是什么?
对于很多资深 Doom 粉丝来说,GZDoom 这个名字并不陌生。
1997 年 12 月,《Doom》这款游戏公开了引擎源代码,此后,行业中也出现了不少衍生项目,其中最知名的就是次年由开发者 Randy Heit 推出的 ZDoom 项目。
ZDoom 并非重制 Doom,而是让这款老游戏更现代、更好玩。它加入了很多在当时看起来非常超前的功能,比如支持高分辨率和自由鼠标视角;引入新的脚本系统(DECORATE),使得玩家能够轻松创建新武器、敌人和特效;支持 mod 制作复杂关卡逻辑;兼容 Doom、Heretic、Hexen 等多款基于同引擎的游戏。
随后几年间,ZDoom 又出来了很多衍生版本,但 GZDoom 是最引人注目的版本之一。
它是由另一位名为 Christoph Oelckers(网名 Graf Zahl)的开发者于 2005 年开发而成。这里的 “G” 就是 “GL”,代表它加入了 OpenGL 硬件加速渲染。这一步非常关键,因为原版 ZDoom 只能用软件渲染(画面类似老游戏机的像素风),而 GZDoom 能提供动态光照、阴影、粒子特效、3D 模型支持等现代图形效果。
随着时间推移,GZDoom 逐渐成为 Doom 模组开发的主流平台。许多知名的 Doom 现代化项目(如 Brutal Doom、Project Brutality、Ashes 2063等)都是基于 GZDoom 构建的。
社区开始分裂,AI 生成的代码成为导火索?
然而,如今 GZDoom 社区正面临分裂。
有部分开发者联合起来,成立了一个新的分支项目——UZDoom。这一举动显然是在抗议 GZDoom 创始人兼维护者 Cristoph Oelckers 的领导方式以及一些关于 AI 代码的做法。
也许有人会说,代码是否用 AI 写的根本难以判别,为何会激起如此强烈反应?
事实是,Graf Zahl 在修改代码时留下了一句注释:
“This is what ChatGPT told me for detecting dark mode on Linux.”
(这段代码是 ChatGPT 教我怎么检测 Linux 深色模式的。)
正是这句注释,引燃了社区讨论。
开发者 the-phinet 指出:“这段代码未经测试,甚至无法编译,且来源可能涉及版权问题,无法确认是否符合 GPL 开源协议。”
对此,Graf Zahl 回应称,这段代码通过了 CI,肯定是可以编译,否则自己早就禁用它了,并表示对 AI 的使用不以为意:“现在每个人都在用 AI 写样板代码,而像你这样无理取闹的人,最终只会吃亏,被人嘲笑。至于你们对 AI 的反感——坦白说,管它呢!我当然对在项目特定代码里使用 AI 有保留,但这里仅仅是对系统配置进行一些表面检查,这些内容在各种网站上都能找到——只是 AI 让工作量少了十倍而已。”
在这种情况下,一场关于在项目中引入 AI 生成代码的争议也因此展开。
the-phinet 直接反驳:“你觉得有必要直接对我撒谎,这真是既好笑又完全幼稚。”与此同时,他还晒出了失败的运行记录:
对于这一说法,Graf Zahl 解释称:
“是的,第一个提交失败了。但重要吗?修复紧随其后。
直接推送到 master 分支是个意外——我本想先推到测试分支,让 CI 做一次测试编译,但我犯了个错误,提交前没有切换分支。
别跟我说你从来不犯错。”
Graf Zahl 这种无所谓的态度引发社区更多贡献者的不满,随即,另一名贡献者 Cacodemon345 也加入了这场“口水战”之中,他严肃地表示:
“我绝不会使用 AI 生成的糟糕代码,即便是样板代码,也不会用,即便只是部分用于 AI 辅助纠正我的代码。我在另一个项目里处理过 AI 辅助的 PR,那体验非常糟糕,白白浪费了我的时间,处理各种 bug 报告完全不开心。如果用 ChatGPT 或其他生成式 AI/聊天机器人生成的糟糕代码,真的是这个项目的未来,很抱歉,我退出。”
没想到,Graf Zahl 并不想听类似的言语,其只是删掉了这部分由 AI 生成的代码,把相关函数从仓库里移除了。
与此同时,他也不想就此放弃 AI 的使用,其表示,“别以为这就解决了 AI 的问题。我认识太多依赖 AI 工具的开发者,他们已经离不开 AI 了。而且大多数人不会承认,很难辨别这些代码——它们不总是显而易见的糟糕代码。举个例子,如果我说这段代码来自我以前的一个老项目,没人会多想。可惜那个项目的检查功能只针对 Windows 和 Mac 版本……:(”
随即,他还补充道:
“哦,相信我,我对把 AI 当作编程助手也非常谨慎。我见过它输出的垃圾代码,而且大多数时候我试图用 ChatGPT 节省时间,结果都没有让我满意。
我发现它唯一真正有用的地方,可能就是像这种检查——一些系统配置查询,这类内容在普通互联网搜索中很难找到。即便是一些普通的标准算法,生成结果也不总是可靠的。
至于法律风险,不,抱歉,这不会发生。没有哪个人敢轻易得罪那些大科技巨头。
我完全预计 AI 周围的金融泡沫在未来两年内会破裂,但总体来看,这个工具太有用,不可能被完全放弃。它会继续存在,但会沿着更合理的方向重新定位。
也许在编程上不是特别适用——但图像生成、自动文本翻译、自动文本摘要之类的内容呢?这些性质上更“可丢弃”的内容,本身不需要长期存在。
很可能,你已经比自己意识到的更频繁地在使用 AI,只是你没有注意到而已。”
分叉新项目,以此抵制 AI 生成的代码
显然,Graf Zahl 对于 AI 的观点并没有得到社区多数贡献者的认同。
几天后,社区成员 the-phinet在 GitHub 上提交了一份 Bug 报告,详细列出了社区对 Graf Zahl 使用 AI 生成代码的不满,以及他一贯“自上而下、独断式”管理 GZDoom 项目的问题:
“恭敬地说,@coelckers,请你不要再直接推送到 master 分支了。
如果 61123d8 需要‘澄清’,应该通过草稿 PR 提交。
你推送了未经测试的代码。留一句‘稍后再测试’的备注很荒谬:一旦进入代码库,就很容易被遗忘。
使用大语言模型(LLM)帮你写代码,很可能违反 GPL 协议。
你在意‘干净’的 Git 历史,但它满是你来回修改的记录,因为很多事情没有与团队讨论:59b5676、ec8e0e6、028a830。
你在提交里隐藏了一些不小的改动,这让大家担心你会随意删除他们依赖的功能。
我们是一个团队。这样做显示出你对同事的尊重有多少。
我理解这是你的项目,你可以随意操作。但请不要直接推送,而是通过 PR 提交,并等待维护者确认。这不仅树立了好榜样,也给维护者和其他开发者提供了审查你工作的时间。”
Zahl 对此的回应是——“如果你们这么不满,那就随便 fork 项目好了。”
结果,社区开发者们真就当真了,开始自立门户。
UZDoom 诞生!
原来的核心贡献者代表 Nash Muhandes 在 DoomWorld 论坛上写道:
“嗨,我想在这个帖子里聊聊 UZDoom,也希望它能成为一个“半官方”的集中讨论帖,用来防止外界出现误传之类的情况。
由于一些分歧——有些是最近才出现的,有些其实已经忍了快二十年——我们决定最好的做法是分叉(fork)这个项目。
那么“我们”是谁?我们是一群依然热爱 GZDoom 的人。过去一两年里,我们持续为它提交更新、安全修复和维护 PR 的开发者团队。包括 Jay、Gutawer、Boondorl、TehRealSalt,还有新加入的 Marcus(他特别关注 Unix 平台的部分,这正是 GZDoom 一直比较欠缺的领域)。当然可能还有一些我没在这里点名的朋友,但如果你混熟这个圈子,大概都知道他们是谁。
UZDoom 会继续坚持 GZDoom 的核心理念:既要保持对旧内容的兼容性,也要为创作者提供更多有趣的新功能。
在初期阶段,模组和存档会与 GZDoom 完全兼容。
不过,随着 UZDoom 增加新的 Mod 功能、而新作品开始使用这些特性时,它们可能就无法再在 GZDoom 上运行了。
我个人——并且是出于最真诚的尊重——想感谢 Graf Zahl 在过去二十年里为 GZDoom 所做的一切。我相信他应该知道这一点(至少我希望如此),因为这份感激之情过去二十年间我们多次在公开或私下都表达过。
我和大多数人一样,不希望 GZDoom 的遗产就此消亡。所以我认为最好的方式,是通过分叉来继续它的开发,同时建立一种更加透明、多人协作的开发模式。”
在 Reddit 的讨论贴里,Nash Muhandes进一步解释说:
“UZDoom 不再是‘一个人说了算’或者‘要么按我说的来,要么走人’的那种开发模式。
所有代码都必须通过 Pull Request 提交,并经过多人审查;所有过程都是公开透明的——任何人都不能直接往主分支提交代码。”
他还在 Bluesky 上写道:
“我这二十多年倾注心血的东西——可以说是我的人生热情所在——从没见过像这次这样崩得这么惨。”
最后
围绕一款 32 年前经典游戏的现代移植版,原本活跃的开源社区如今却出现了明显的内讧,网友在 GitHub issue、Reddit 上展开了热议。
开发者 kevansevans 直言不讳地批评该项目创始人:
“Graf,你到底怎么回事?你消失一年,然后回来把一堆工作推倒重来,用生成式 AI 的烂东西去解决一个本来可以轻松搜索的问题,还在别人提出合理质疑时叫他们去‘滚蛋’?这个引擎现在正处于有史以来最健康的状态,但感觉你恨不得任何人都不要碰你那宝贝代码。
你知道我是怎么知道的吗?因为有人真的 fork 了这个项目,而你在对应的 Discord 服务器上大发雷霆,因为你不再掌控全局,然后毫不费力地直接拿走未完成的代码,几乎没有任何修改,最后当你的‘成人脾气’没奏效时,你又退出了好几个服务器。”
另一位开发者 Boondorl则直接怒怼道:
“你刚刚彻底把 GZDoom 给整废了。祝你玩得开心吧,你可以一个人慢慢敲代码,没人再会提醒你去改东西了。”
这一连串冲突不仅让社区氛围骤冷,也让不少开发者感到失望——开源本应强调协作与共享,但在现实操作中,却可能因为项目创始人的个性和管理方式而演变成“个人项目”。同时,也不难看出,AI 生成的代码应用到实际项目时,仍存在巨大争议。对此,你怎么看这种情况?
来源:
https://github.com/ZDoom/gzdoom/commit/584af500736b0317e42824f39285ed3d954fc4e2-9c544b5fb8828babb5d162b892c51edeb8d0959304c880ffb4ff064c00b73800R440
https://www.reddit.com/r/TwoBestFriendsPlay/comments/1o7oxqe/gzdoom_developers_split_from_creator_amid_ai/
https://arstechnica.com/gaming/2025/10/civil-war-gzdoom-fan-developers-split-off-over-use-of-chatgpt-generated-code/
相关文章
华建集团第九届科技与人才大会暨院士专家高峰论坛10月18日下午举办,专家学者聚焦城市有机更新、绿色低碳技术与实践、数字化治理与智慧城市等行业关键议题,...
2025-10-20 0
整理 | 屠敏 出品 | CSDN( ID:CSDN news) 直接在项目中引入 AI 生成的代码,会带来什么样的后果?也许在程序崩溃或者 Bug...
2025-10-20 0
来源:国际金融报10月20日下午,话题“多邻国崩了”冲上热搜。社交平台上,部分用户发帖反映:该应用出现无法连接、持续显示加载页面、无法提交学习进度、打...
2025-10-20 0
海南文昌是中国唯一低纬度滨海航天发射场所在地密集实施的航天发射让“追箭游”逐渐兴起10月23日北京至海口国航CA1361限量启程3天2晚火箭发射观礼团...
2025-10-20 0
10月20日,美团CEO王兴发布组织公告邮件,宣布“软硬件服务负责人肖飞、Keeta负责人仇广宇将加入S-team”。王兴在邮件中表示,“期待他们带来...
2025-10-20 0
文 | 锌刻度,作者 | 孟会缘,编辑 | 李觐麟近日,已故歌手李玟的网易云音乐账号被网友意外登录,引发了外界对数字资产这个长期被忽视的问题的关注,毕...
2025-10-20 0
最近有个挺有意思的现象:英伟达的老板黄仁勋,这个把公司市值做到几万亿美元的华裔CEO,居然三番五次在公开场合说,美国政府的各种限制政策其实是在帮倒忙。...
2025-10-20 0
文 | 窄播,作者 | 李威这是《窄播Weekly》的第69期,本期我们关注的商业动态是:苹果公司CEO库克本周的「中国行」,更明确地展示了苹果拥抱新...
2025-10-20 0
发表评论