openGauss社区近日公布了一套面向生成式人工智能的贡献管理策略,首次系统性地明确了AI工具在开源协作中的使用边界、披露义务与审查规则。该策略表明社区鼓励开发者和自动化Agent参与代码编写、文档翻译、测试用例生成以及运维自动化等各类贡献,但人类开发者始终需要对提交内容的质量和法律后果负责。
据openGauss社区公布的信息,这套策略的核心目标是打造一个对人类开发者与AI代理同样友好的智能化开源生态。策略全文涵盖行为准则、AI贡献合规要求以及自动化Agent的系统级提示词规范等多个层面,本文对该策略的技术要求与执行机制做完整梳理。据InfoQ报道,这一策略由openGauss社区生成并公开发布。
三条核心原则:开放拥抱AI、开发者最终负责、全程可追溯
openGauss社区将生成式AI与智能化Agent定位为推进社区技术演进的重要生产力来源,为此设定了三项贯穿全策略的基本原则。
第一项原则强调社区保持开放姿态,主动拥抱AI开发导向。无论贡献者是自然人还是自动化代理,社区都持欢迎与支持态度,参与范围覆盖代码开发、文档本地化、测试用例构造、运维流程自动化等场景。
第二项原则规定人类开发者承担最终责任。AI在社区协作中始终只是辅助角色,开发者需要为自己提交作品的质量以及由此产生的法律后果负责。策略中明确指出,不论代码和内容出自人工独立完成,还是由AI辅助生成并触发,贡献者都必须保证其正确性、安全性、合规性与质量,并承担最终责任。策略同时说明,社区维护者对提交内容进行审查、合并或发布,并不意味着社区管理方认可其中的AI输出不存在侵权、安全缺陷或适用性问题。
第三项原则要求保持透明度与可追溯性。贡献者在向社区提交内容时,应当如实说明AI工具的使用情况、第三方材料来源、许可信息以及人工审查情况。为此社区建立了一套元数据记录机制,完整记录AI生成内容涉及的Agent平台、使用模型、Prompt摘要等关键元数据,确保每一次AI参与的代码贡献都留有清晰的审查追踪链。
适用范围覆盖代码、文档、配置与元数据
该策略的适用范围相当广泛,指向openGauss组织下全部代码仓库与文档库,贡献形式不限,具体包含三类内容:
一是源代码与脚本,覆盖核心代码、测试用例以及构建脚本;二是技术文档与社区内容,包括API说明、部署指南、发布日志和Wiki页面;三是配置与元数据,包含Containerfile、Dockerfile以及CI/CD配置文件。
CLA依旧是责任基础,交付时必须携带三类元数据
在法律与合规层面,openGauss社区沿用贡献者许可协议机制。开发者提交贡献之前,必须签署社区CLA。按照协议约定,一旦贡献者提交了含有AI生成内容的作品,就等同于承诺自己对该贡献享有合法的处分权,比如已经取得充分授权。贡献者不得以“内容由AI生成”为理由,逃避CLA中做出的承诺以及相应法律责任。
针对以AI生成或AI自动处理为主的代码与文档,社区设置了强制性的溯源披露要求。贡献者提交Pull Request之际,需要在PR与Commit Message中同时携带以下信息:
Commit Message层面需写入Co-Authored-By字段,标清生成内容所用的生成式AI模型名称与版本号,例如 GPT-4o、DeepSeek-V3 等。
Pull Request层面则要求披露三项内容——Agent平台信息(Tool),写明所用Agent平台的名称和版本,例如 Claude Code 2.1.156、Qwen Code 0.16.1;模型信息(Model),写明生成式AI模型的名称与版本,例如 GPT-4o、DeepSeek-V3;Prompt摘要(Prompt Summary),用简要文字说明驱动AI产出内容的核心提示词或核心意图,例如“Optimize memory allocation for Spec file”,提示词或核心意图交代不清的AI生成内容不允许提交。
社区给出了规范的填写示例。PR模板中需勾选是否涉及AI参与,并依次填写Agent平台信息(如Claude Code 2.1.156)、模型信息(如DeepSeek-V3)和Prompt摘要;同时需要向审查者说明代码虽由AI辅助编写,但开发者已逐行人工核对逻辑、验证功能正确性且符合预期。Commit Message的示例则形如 Co-Authored-By: DeepSeek-V3。
值得注意的是,openGauss社区的门禁系统会校验Commit Message中Co-Authored-By写明的AI模型名称是否与Pull Request中披露的模型信息一致。若两处模型信息出现差异,门禁将直接拦截该PR。
面向Agent的系统级提示词规范
为让各类AI编程助手和自动化Agent(如PR自动化审查、代码自动修复Agent)在服务openGauss社区时能够严格遵循策略要求,社区制定了系统级提示词规范,其角色设定为专为openGauss开源社区服务的AI编程与合规助手,目标是在帮助人类开发者高效贡献的同时守住合规底线。
在责任边界方面,规范要求Agent认识到自己是开发者的效率放大器,人类开发者对其输出质量负法律责任,因此生成的代码必须清晰、可读、方便人工审查,禁止产出含义模糊、难以调试或带黑盒逻辑的复杂代码块。
在许可证合规这一底线原则上,规范要求不得在违反适用许可证的前提下,从采用GPL2.0、GPL3.0等限制型许可证的代码库,或采用独占许可的商业专有代码库中直接复制或变相复制代码片段。若生成的代码引用了特定开源组件或公开算法实现,必须保留原有著作权声明及许可证声明,不得删除或篡改。
在元数据披露方面,规范要求Agent协助生成代码或以自动化Agent身份独立向openGauss仓库提交PR时,都必须使用固定的PR模板与Commit Message格式,PR中必须写明Agent平台信息、模型信息与Prompt摘要,Commit Message中必须写入Co-Authored-By对应的AI模型名称及版本。
在技术栈适配方面,提交代码前需要分析目标项目仓库的代码风格,严格遵守相应代码风格指南;同时优先考虑安全性,不得引入内存泄漏、缓冲区溢出等常见漏洞,推荐使用经openGauss社区验证的安全函数。
明确高风险红线与贡献者承诺事项
策略列举了被禁止或认定高风险的若干行为,包括:未经人工审查的AI输出;贡献者无法解释、无法维护或无法确认来源的代码;AI工具明显复现第三方项目代码、文档、图片或其他受保护表达,却未提供合法来源、许可证和必要权属信息的内容;与项目许可证不兼容的内容;违反AI工具使用条款、雇主政策或保密义务,违反出口管制、数据合规要求或侵犯第三方权利的内容;包含商业秘密、个人信息、敏感数据、私有代码、内部文档或未公开漏洞信息的提示词、输出或贡献;由AI Agent自动批量提交、人类贡献者并未实质参与的贡献。
相应的,贡献者提交AI辅助贡献前需要确认并作出多项承诺:已对拟提交内容进行人工审查;理解其技术含义、设计影响和维护成本;完成必要的测试、构建、许可证检查和安全检查;确认AI工具输出没有引入与项目许可证相冲突的限制;确认拟提交内容不包含已知的、未经授权的第三方材料,或已按要求披露第三方材料、许可证、著作权声明和权属信息;已遵守本人雇主、客户、学校或所属组织有关AI工具和开源贡献的政策;并对AI辅助贡献承担与非AI辅助贡献同等的责任。
在合入环节,社区维护者具备向贡献者提出修改、补充说明、要求重新提交乃至拒绝合入的权利,启动条件涵盖几类情形:贡献者未按要求披露AI辅助贡献相关信息;贡献者无法解释所提交代码的逻辑或来源;贡献内容与未经授权的第三方代码、文档或图片实质性相似;许可证、著作权或权属信息不清晰;属于未经测试、不可维护或增加安全风险的低质量AI辅助贡献;属于自动化、批量化提交并打扰社区正常维护秩序的低质量贡献;以及社区维护者基于openGauss项目风险偏好,判定该AI辅助贡献不宜合入。
工程要点与成本影响
从工程实践角度看,这套策略的两个硬性门槛值得开发者留意:一是Commit Message中的Co-Authored-By与PR中披露的模型信息必须完全一致,否则门禁拦截;二是Prompt摘要必须在PR中给出可读的核心意图说明,不能提交提示词含义不明的生成内容。这要求使用AI编程助手的贡献者在提交环节额外投入记录与核对成本,也使每一次AI参与都留下可审计的记录。
小结:openGauss社区将AI贡献纳入可追溯的合规轨道,用CLA责任、三字段元数据披露和门禁校验三件套把责任落到人类开发者身上。对于习惯使用AI编程助手的开源贡献者而言,顺利提交的前提不只是代码能跑,还包括Agent平台、模型版本与Prompt摘要被如实写清楚。
