这是一份轻量级的贡献者协议,目的是让 Nuki 在未来切换协议(如核心模块改用 BSL 以遏制 SaaS 转售)时有合法的法律基础,同时尽量不给贡献者增加心智负担。
如果你只是改个 typo 或修一个小 bug,不强制要求签。但提交的 PR 越大,作者越希望你看一眼并在 PR 描述里勾一下"I agree to the CLA"。
- "项目" 指 Nuki 仓库(https://github.com/Ray-RP/Nuki)及其衍生分发包。
- "贡献" 指你通过 PR、commit、issue 附件或其他方式向项目提交的任何代码、文档、配置、prompt、设计稿等。
- "项目维护者" 指 Ray-RP rui.li.buaa@gmail.com 以及未来由其指定的共同维护者。
提交贡献时,你向项目维护者保证:
- 原创性:贡献是你本人创作的,或你已经获得了对应版权方的合法授权可以以本协议条款公开。
- 不侵权:贡献不侵犯任何第三方的著作权、专利权、商标权、商业秘密、人格权或其他权利。
- 公司贡献需有授权:如果你以雇员身份用工作时间或公司设备做的贡献,你已获得雇主授权(或贡献内容不属于雇主),请在 PR 描述里说明。
为了让 Nuki 能持续发展,对你提交的贡献,你授予项目维护者全球范围、永久、不可撤销、免费、非独占、可再许可、可转让的:
- 版权许可:复制、修改、合并、发布、分发、再许可、销售你的贡献副本,包含在项目里或单独提取出来
- 专利许可:如果你的贡献涉及你拥有的专利,你授予使用、销售、提供、进口该专利相关贡献的权利
- 协议变更权:项目维护者可以将你的贡献按任何 OSI 批准的开源协议(包括但不限于 MIT、Apache-2.0、AGPL-3.0、BSL 1.1、Elastic License 2.0)以及未来出现的等价协议重新许可给第三方
这条等价于"双向许可(dual licensing)"——你保留你的原始著作权,但项目维护者获得在未来切换协议的权利。
- 你的著作权仍然属于你。CLA 不剥夺你的所有权,只是授权使用方式。
- 你可以在任何其他场合用你的贡献做任何事,包括用别的协议发表、商用、改作。
- 你的署名会保留在 git 历史里;CHANGELOG.md / 致谢区可能也会出现。
为了让贡献者放心:
- 项目维护者承诺在未来需要切换协议时,至少提前 30 天在 GitHub Discussions 公示,并允许已签 CLA 的贡献者表达意见。
- 即使切换了协议,已经发布的版本仍然在原协议(MIT)下可用——切换只影响新版本。
- 项目维护者不会把 Nuki 整体卖给商业公司而不通知主要贡献者。
这些承诺是道义承诺,不构成强制性法律条款。
最轻量的方式:
在你的 PR 描述里加一行:
I agree to the Nuki Contributor License Agreement (CLA.md).
或中文:
我同意 Nuki 贡献者协议(CLA.md)。
PR 模板里已经留了位置。一次签署对你提交的所有未来 PR 都有效,除非你显式撤回。
如果你想正式签署(公司贡献或敏感情况),邮件 rui.li.buaa@gmail.com,作者会回签字版 PDF。
你可以随时邮件撤回你对本 CLA 的同意,撤回后你未来的贡献不再受本 CLA 约束(已经提交并被合并的不受影响——这是 git 历史的一部分)。
本 CLA 参考了 Apache CLA 和 DCO (Developer Certificate of Origin) 的精神,但简化了大量条款以适配 Nuki 这种个人维护的早期项目。它不是律师起草的,如果你的法务部门要求更正式的版本,请联系作者获取正式 CLA PDF。
本 CLA 在中华人民共和国法律下解释。如发生争议,先尝试通过 GitHub Discussions 友好沟通。