在开发者网络的资源列表里,Joomla 项目最近上线了一份专门文件——《Generative AI Policy》(生成式 AI 政策)。这份政策明确回答了一个当下几乎所有开源项目都在面对的问题:贡献者可以用 AI 写代码吗?Joomla 的答案是:可以,但规矩写得很细。如果你翻过 Joomla 5.4.10 的更新日志,会发现 #48519 这个修复的标题前带着 [AI] 前缀——那正是这份政策落地的直接证据。

政策核心:AI 可用,责任不可外包

政策的第一原则非常清楚:贡献者可以使用 AI 工具辅助研究、代码建议、文档撰写和问题分析,但 AI 生成的代码必须经过贡献者本人充分理解、审查和验证之后才能提交。提交者永远对最终提交负全责——正确性、安全性、许可证合规、可维护性,一样都不能少。

政策里有一句说得很直白的话:如果你用 AI 省了时间,却给维护者和志愿者制造了额外工作,那么对项目的净效应是负面的。这背后的逻辑是,Joomla 是一个完全志愿者驱动的生态,维护者的时间是最稀缺的资源,把未审查的 AI 输出倒进 issue 列表,本质上是把贡献者的工作量转嫁给了审查者——政策里专门给这种行为起了个名字:不尊重。

[AI] 标记:不是限制,是可追溯

政策最具操作性的条款是标记要求:任何包含 AI 辅助或 AI 生成内容(代码、测试、文档、实质性注释)的 PR,必须在标题开头加上 [AI],或使用 [AI Generated] 标签。未标记的 PR 可能被要求补充标记后才进入审查,甚至直接关闭。

我个人认为这是整份政策里最聪明的设计。它没有禁止 AI,而是让 AI 参与度变得透明:维护者在审查时可以据此调整审查策略,社区可以在数据层面观察 AI 对代码质量的真实影响,而 5.4.10 更新日志里那个 [AI] 修复就是这套机制正常运转的样子。反观不少项目对 AI 贡献讳莫如深,Joomla 选择把这件事放到台面上管理,姿态更健康。

明确划出的红线:禁止 Vibe Coding

政策用了一个专门的章节禁止"Vibe Coding"(氛围编程/提示词倾倒)式提交,并给出了可识别的特征清单:大块未经审查的 AI 代码、人类一两分钟就能修掉的机械性错误、明显从未运行过的代码(行为与预期不符)、以及从根本上把调试和清理工作转嫁给维护者的 PR。初犯者会被要求撤回重新审查,屡犯者可能被封禁贡献权限。

此外,AI 生成的解释、测试说明、评论和文档同样必须经过人工审查——在 issue 和讨论区直接粘贴原始 AI 回答是被明确劝阻的行为,理由包括幻觉、缺乏上下文和浪费他人时间。

许可合规:GPL 红线同样适用于 AI 输出

所有贡献必须兼容 GNU GPL v2 或更高版本,AI 辅助产出也不例外。贡献者需要确保 AI 工具的训练数据与许可条款允许 GPL 兼容使用,生成的代码不得复现专有来源的受版权保护代码。如果 AI 生成了与非 GPL 专有代码相同或高度相似的内容,必须删除、重写,或提供清晰来源证明其 GPL 兼容性。

给中文开发者的三点建议

一、想向 Joomla 贡献代码的朋友,把这份政策当操作手册读。用 AI 辅助写 PR 完全没问题,但提交前请完成政策要求的自查:实际测试含副作用、审查命名与架构、删掉 AI 生成的冗余代码和注释、确认代码用最合理的方式解决了原始问题。

二、把这套政策作为团队 AI 规范的参考模板。即使你不向 Joomla 贡献代码,这份政策对任何用 AI 辅助开发的团队都有借鉴价值——"AI 可以用,但责任在人、审查先行、透明标记"这三条原则,放到公司内部代码审查流程里同样成立。中文互联网上大量"AI 提效"讨论聚焦速度,而这份政策补上了被普遍忽略的另一面:审查成本和许可风险。

三、维护自有 Joomla 扩展的国内开发者要留意合规链条。如果你的扩展会被翻译、二创或提交回社区,AI 生成部分的 GPL 兼容性是你要背的责任,别依赖 AI 工具自己的许可声明。

总结

Joomla 的这份 AI 政策没有惊人的新观点,它的价值在于把开源社区应有的 AI 姿态写成了可执行的条款:透明标记、责任到人、禁止倾倒。结合 5.4.10 更新日志里已经出现的 [AI] 标记和 6.2 的资产管线重组,可以感受到这个老牌项目正在认真消化 AI 带来的开发范式变化。对中文社区来说,与其讨论"AI 会不会取代程序员",不如先学会 Joomla 这种"AI 提效、人负全责"的工作方式。

作者: 樱木花道

Joomla程序员,从J1.5到J6.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前