openEuler 社区生成式 AI 工具使用与开源贡献策略
1. 开放策略 (Openness Strategy)
openEuler 社区秉持开放、协同、创新的开源精神,将生成式 AI 与智能化 Agent 视为推动操作系统演进的重要生产力。社区允许贡献者在合理、透明、可审查的前提下使用生成式人工智能工具辅助贡献,但坚持以下原则:
核心原则一:保持开放,AI开发导向 (Open & AI-Development-Oriented)
openEuler 社区对新技术保持拥抱姿态。我们积极导向开发,鼓励并支持开发者和自动化 Agent 深入参与到社区的各项贡献中(包括但不限于代码编写、文档翻译、测试用例生成、运维自动化等)。社区致力于构建一个对人类开发者与 AI 代理同样友好的智能化开源生态。
核心原则二:开发者最终负责 (Developer Ultimate Responsibility)
AI 只是辅助工具,人类开发者是质量与法律责任的最终承担者。无论是独立开发的成果,还是由 AI辅助生成、触发、提交的代码与内容,贡献者都必须对提交内容的正确性、安全性、合规性和质量承担最终责任。社区维护者的审查、合并、发布行为不表示社区管理方确认 AI 输出没有侵权、没有安全缺陷或适合特定用途。
核心原则三:透明度,可追溯 (Transparency & Traceability)
贡献者应披露 AI 工具使用情况、第三方材料来源、许可证信息和人工审查情况。社区建立了一套严格的元数据记录机制,要求对 AI 生成内容的关键元数据(包括使用的Agent平台、模型、Prompt摘要等)进行完整记录,确保每一行 AI 参与的代码都具备清晰的审查追踪链。
2. 适用范围 (Scope of Application)
本策略适用于所有向 openEuler 社区(包括但不限于 openEuler 组织下的所有 Gitcode仓库、文档库 等)提交的各种形式的贡献:
- 源代码与脚本:包括各类核心代码、测试用例、构建脚本。
- 技术文档与社区内容:包括 API 说明、部署指南、发布日志、Wiki 页面等。
- 配置与元数据:包括 RPM Spec 文件、Containerfile/Dockerfile、CI/CD 配置文件等。
3. 法律与合规 (Legal & Compliance)
向 openEuler 社区提交包含 AI 生成内容的贡献,必须在以下法律与合规框架内运行:
3.1 CLA(贡献者许可协议)
openEuler 社区采用 CLA(Contributor License Agreement,贡献者许可协议)。
- 贡献者在提交贡献前,必须已签署社区 CLA。
- 依据CLA,当贡献者提交包含 AI/Agent 生成的内容时,即视为该贡献者承诺其对该提交拥有完全的、合法的处置权,或已获得充分授权。贡献者不能以"内容由 AI 生成"为由免除其在 CLA 中承诺的知识产权担保、不侵权承诺以及相关法律责任。
3.2 追溯机制:关键元数据完整记录
凡是包含由 AI 核心生成或经 AI/Agent 自动化处理的代码与文档,在提交 Pull Request 时必须完整记录并携带以下关键元数据。这些元数据可记录在 Pull Request 的固定模版中:
- Agent平台 (Tool):明确指明生成该内容所使用的Agent平台名称及版本(如
Cluade 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"),严禁暗箱操作。
规范示例(Pull Request 格式):
### 当前PR是否有AI参与:
[] 否
[x] 是
__1. AI Agent 平台: Cluade Code 2.1.156
__2. AI 模型: DeepSeek-V3
__3. Prompt上下文 : 基于现有代码逻辑,完成代码编写、逻辑优化、异常分支补充及注释完善,协助完成本次功能开发与问题修复
### 希望检视人员了解:
1.代码由 AI 辅助编写,已人工逐行核对逻辑、校验功能正确性,确保与预期一致;4. Agents 规范 Prompt (Standard Prompt for Agents)
为了让各种 AI 编程助手、自动化 Agent(如 PR 自动化审查、代码自动修复 Agent)在服务 openEuler 社区时能够严格遵循上述策略,特制定以下系统级提示词规范(System Prompt):
# 角色与目标
你是一个专为 openEuler 开源社区服务的 AI 编程与合规助手(AI Agent)。你的目标是协助人类开发者高效参与社区贡献,同时必须死守合规底线,确保所有输出符合 openEuler 的法律与质量要求。
# 核心行为准则
## 1. 明确责任边界与开发导向
- 你是开发者的效率放大器,但你必须明白,人类开发者将对你的输出承担最终的法律与质量责任。因此,你的代码生成必须清晰、可读、易于人类开发者进行 Review。
- 拒绝生成任何含义模糊、难以调试或存在黑盒逻辑的复杂代码块。
## 2. 法律与许可证合规(底线原则)
- 严禁在不遵循适用许可证的情况下,从具有 GPL 限制性许可证(如 GPL 3.0)或独占性商业软件的专有代码库中直接复制或变相复制任何代码片段。
- 如果你的代码直接引用了特定的开源组件或公开算法实现,必须显式声明出处及原许可证。
## 3. 关键元数据显式暴露
- 当你协助人类生成代码,或者你作为自动化 Agent 独立向 openEuler 仓库提交 PR 时,你必须按照PR固定模板进行提交。
- 元数据必须包含:
- Agent 平台: [Agent平台名称/版本]
- AI 模型: [AI模型名称及版本]
- Prompt上下文: [核心提示词或核心意图]
## 4. openEuler 技术栈适配
- 代码风格:在进行代码提交前应分析对应仓库代码风格,提交修改代码时必须严格遵守对应仓库的代码风格指南。
- 优先安全性:杜绝引入内存泄漏、缓冲区溢出等常见安全漏洞,优先推荐使用经过 openEuler 验证的安全函数。5. 禁止或高风险行为
- 未经人工审查的AI输出
- 贡献者无法解释、无法维护或无法确认来源的代码
- AI 工具明显复现第三方项目代码、文档、图片或其他受保护表达,但未提供合法来源、许可证和必要归属信息的内容
- 与本项目许可证不兼容的内容
- 违反 AI 工具使用条款、雇主政策、保密义务、出口管制、数据合规要求或第三方权利的内容
- 包含商业秘密、个人信息、敏感数据、私有代码、内部文档或未公开漏洞信息的提示词、输出或贡献
- 由 AI 代理自动批量提交、低质量提交、垃圾 Issue/PR或未经人类贡献者实质参与的贡献
6. 贡献者责任
贡献者提交 AI 辅助贡献时,应确认并承诺:
- 已经人工审查贡献内容
- 理解贡献的技术含义、设计影响和维护成本
- 已完成必要的测试、构建、许可证检查和安全检查
- 已确认 AI 工具输出未引入与项目许可证不兼容的限制
- 已确认贡献内容不包含已知的未获授权的第三方材料,或已按照项目要求披露第三方材料、许可证、版权声明和归属信息
- 已遵守其雇主、客户、学校或所属组织关于 AI 工具和开源贡献的政策
- 对贡献内容承担与非 AI 辅助贡献相同的责任
7. 审查与合入规则
维护者可以基于以下原因要求修改、补充说明、重新提交或拒绝贡献:
- 未按要求披露 AI 使用情况
- 贡献者无法解释代码逻辑或来源
- 贡献内容疑似复制第三方代码、文档或图片
- 许可证、版权、专利或归属信息不清晰
- AI 生成内容质量低、缺乏测试、不可维护或增加安全风险
- 自动化、批量化、低质量 AI 生成提交影响社区正常维护秩序
- 维护者基于项目风险偏好认为该贡献不适合合入




