English   简体中文

# 贡献来源与署名规范 本规范适用于本仓库所有贡献的来源与署名,包括代码、文档、界面文案、资源及研究资料。它与 [`CODING_STANDARDS.md`](./CODING_STANDARDS.md) 配合使用;后者负责实现、测试和提交要求。工程细节仍以 [模块架构](./docs/architecture/README.md) 和 [新增检测器指南](./docs/guides/adding-a-detector.md) 为准。 ## 1. 基本原则 - **可追溯:**贡献者应能说明研究依据,以及实际引入了哪些外部材料。 - **比例相称:**对许可证和保密义务严格遵守,但不因某个想法来自何处就自动拒绝贡献。 - **法律表述准确:**区分受著作权保护的表达、独立观察的事实和通用方法;同时不排除专利、商业秘密、合同及不同法域可能产生的其他义务。 ## 2. 来源与署名 ### 2.1 思想、方法与独立研究 著作权通常保护具有独创性的表达,而不直接保护思想、方法、算法本身或独立观察到的功能行为。独立实现相似的检测方法,并不当然构成复制他人的源码,也不能据此认定某人对通用方法享有排他性归属。不得仅凭“我先想到”就阻止或贬低他人的独立实现。但专利、商业秘密等其他权利仍可能适用。 ### 2.2 受保护的表达与许可证 引用、改编或引入第三方代码、文档、测试、图片等受保护材料时,贡献者必须说明材料来源,并遵守相应的许可证或授权,包括保留版权声明、署名和必要的修改通知。相关声明应保留在合适的源文件和仓库文档中。**注明出处并不能让原本不允许的再分发自动变得合法。** ### 2.3 对先前思路与发现的致谢 本项目**期待但不强制**对有帮助的思路、研究和先前发现适当致谢,可以写在 PR、README 或相关研究引用中。这种致谢与法定或许可证要求的署名不同,也不表示对方参与编写了本次代码。 不能仅凭缺少自愿致谢就指控抄袭或要求撤下贡献。如果存在具体的代码复制、作者身份或许可证争议,仍可提供证据并交由维护者据实审查。 ## 3. 不得引入的来源 不得引入以下材料: - 缺乏相应使用与分发授权的第三方代码或其他受保护内容。尤其不能将 GPL 系列许可证下的源码简单复制到本 Apache-2.0 仓库,再通过注明来源或修改变量名把它当作 Apache-2.0 代码分发。Apache-2.0 对 GPLv3 的单向兼容性不意味着反向兼容。外部依赖、链接、单独许可的子模块应按实际许可证和分发方式分别审查,而不是一概而论。 - 泄露的源码、保密或受 NDA 约束的材料,以及通过违反适用法律或合同限制的方式取得的内容。 可以研究公开实现、观察软件行为,也可以分析闭源软件并独立实现相关功能事实。本节限制的是受保护材料的复制,不是禁止阅读或分析某个程序。应依据行为独立实现,而不是直接翻译或稍作改写受限制的源码。 ## 4. PR 中的来源披露 在 PR 中说明相关的**知识来源类别**,可同时选择多项: - 自主研究或独立实验; - 公开文档与权威源码(AOSP、ACK、平台规范等); - 对公开软件或设备的黑盒观察; - 逆向分析(反编译、反汇编、动态分析); - 第三方研究或上游项目。 来源类别是**描述性信息,不作为独立的合并门槛**。此外,还应单独说明是否实际复制、引用或改编了第三方代码、文字或资源,以及相应的许可证或授权;没有则填写“无”。AI 或代码生成工具的使用情况也应披露。 涉及检测信号时,所属的 `feature//EVIDENCE.md` 或 `capability//EVIDENCE.md` 需要写清可观测信号、产生子系统、机制、权威引用、适用条件、可见性限制、结果状态及解释。与结论有关的 AOSP/内核调用链应对应适用版本,实验观察应可复核,尚未证实的内容应明确标注。Capability 负责共享证据采集,feature 的 domain 负责解释,presentation 与 UI 展示类型化结果。声明研究来源不能代替机制核验、兼容性测试或 `CODING_STANDARDS.md` 中的检查。 ## 5. AI 与工具署名 - AI 和代码生成工具**不得**出现在 `Signed-off-by` 中,因为它表示自然人的声明。 - AI 或代码生成工具实质性参与贡献时,应在 PR 中说明工具和用途,并通过 `Co-authored-by:` 或 `Assisted-by:` 提交尾注致谢。贡献者本人仍须负责审查代码、许可证和测试结果。 - `Co-authored-by: Name ` 需要真实准确的身份与邮箱,不能为工具虚构人类身份或邮箱。没有合适共同作者身份时,可使用 `Assisted-by: Tool or model`;这是项目约定,**不是 GitHub 识别共同作者的标准尾注**。 - 沿用并规范现有惯例,例如 `Meow`、`This PR is made by …` ,但不能用它们代替应有的署名。Commit 标题与正文仍以 `CODING_STANDARDS.md` 为准。 ## 6. 本规范的范围 本规范只处理贡献来源、许可证与署名,不引入贡献者许可协议(CLA)、开发者来源证明(DCO)签署门槛或独立的行为准则执行流程。具体的许可、作者身份或保密争议应根据证据处理,而不是仅凭贡献者使用了什么研究工具或参考来源作出判断。