贡献者许可协议介绍
CLA 应用允许在组织中启用开发者许可协议签署功能。启用后,当外部开发者向组织的代码库提交变更请求时,应用会检查用户是否已签署 CLA。如果已签署,CLA-bot
会在变更请求评论区更新签署信息;如果未签署,CLA-bot
会引导外部贡献者查看并签署贡献者协议。
什么是贡献者许可协议(CLA)?
CLA 是 Contributor License Agreement(贡献者许可协议)的缩写。许多开源项目要求贡献者签署的法律文件,目的是让项目获得贡献内容(如代码和文档)的知识产权,以便自由使用、修改和再分发。
具体来说,CLA 允许项目:
- 永久免费使用、修改和再分发贡献内容
- 将贡献内容合并到项目中而不产生法律纠纷,避免贡献内容产权问题
- 降低法律纠纷风险,允许对贡献内容重新授权,如更改许可证版本
CLA 可以有效提高开源项目治理效率。
CLA 功能
AtomGit CLA 应用支持的功能包括:
- 自动检查每个变更请求和 commit
- 每次推送都会重新检查变更请求
- 已签署贡献者列表可通过 UI 维护
- 可以通过评论触发变更请求的重新检查
安装 CLA
进入组织设置,打开CLA管理页面。默认未安装CLA应用,需自行前往开放市场安装 AtomGit CLA 应用。
- 选择要安装的空间,点击【选择】
- 选择生效仓库范围,建议选择全部代码库
- 点击【安装】,完成后跳转至【组织设置-应用管理】界面
添加 CLA
CLA应用安装后,可在 CLA 管理界面添加CLA内容:
- 点击【新建CLA】
- 输入协议名称
- 设置协议版本,勾选重新签署则已签署旧版本协议失效,提交变更请求后会收到版本更新提示
- 设置 CLA 启用的代码库范围,一个代码库只能关联一个CLA协议
- 设置 CLA 协议内容
- 点击【新建】,添加新的CLA协议
签署 CLA
尝试向已启用 CLA 协议的代码库提交变更请求进行贡献时,CLA-bot
会提示签署相应的贡献者许可协议。在签署界面,会看到:
- 协议名称
- 协议版本
- 协议内容
同时,需提供并确认邮箱、个人信息完成签署:
- 邮箱(可在个人设置-账号绑定更换)
- 姓名
签署完成后,可在【个人设置-签署CLAs】页面查看和管理已签署的 CLA 协议内容。