Gitee 上线 CLA 协议签署,开源贡献也能有据可依
什么是开源贡献者协议
CLA,全称 Contributor License Agreement(贡献者许可协议),简单来说就是项目接收贡献者提交的 Pull Request
之前,需要贡献者签署的一份协议,协议只需签署一次,对该贡献者的所有提交都生效。
CLA 由项目所有方自行定义,在细节上有大大小小的差异,没有统一的标准,但大致包括以下内容:
- 关于签署该 CLA 的主体和贡献的定义;
- 授予著作权和专利许可给拥有该软件知识产权的公司或组织;
- 签署者保证依法有权授予上述许可;
- 所有的贡献内容均为个人版权所有,或经过版权所有者的授权,对于贡献内容造成的侵权并不知情;
- 贡献内容的免责声明;
- 说明贡献者提交非原创作品应该采用的方式;
- 保证在获悉任何方面不准确的事实或情况之时通知签约方。
没有签署 CLA 会怎么样?
没有签署 CLA,则表示贡献者没有授权,如果企业或组织要重新签署 CLA,或更换开源许可证,又或者起诉他人侵权,总之所有需要有版权才能做的事情,那么都必须一一通知贡献者并取得对方同意。
对于贡献者较少的开源软件来说,这很容易;倘若是一些大型和长期项目,这个过程可能会耗费很长时间,因为企业或组织要找的可能不仅仅是数量众多的贡献者,还有他们的继承人。
2015 年,LLVM 社区发起了对代码进行重新授权的提案,希望能从现有的 NCSA 许可证更改为 Apache 2.0 License。六年过去了,这项工作还在进行中。LLVM 社区正在追踪一些过去的贡献者,以收集他们对协议变更的认可。目前有 94% 以上的旧代码获得重新许可的批准,预计 2023 年可以接近 100% ,届时就可以合法地变更许可证。
同样,Mozilla 也是花了数年时间(2001-2006 年)重新授权 Firefox、Thunderbird 和相关软件。
在 Gitee 上创建 CLA
Gitee 目前已原生支持 CLA 协议的管理、签署和合规审查过程。
该功能目前已面向 Gitee 上的「组织」开放,组织管理员可通过 组织主页
->设置
->CLA 管理
进行 CLA 的管理。
组织管理员可通过 组织主页
->设置
->CLA 管理
进行 CLA 的管理。点击 +
后进入具体贡献者协议创建。
相关 CLA 创建选项说明如下:
- CLA 名称:即将创建的贡献者协议名称,名称将在协议签署页面、相关 Pull Request 页面中展示。
- 关联仓库:当前贡献者协议关联的代码仓库,一个仓库仅支持关联一份贡献者协议,一个组织下支持存在多份不同的贡献者协议,用于不同项目的贡献签署。
- 协议内容:贡献者协议的正文
点击 确定
后即创建了一份贡献者协议。
在 Gitee 上签署 CLA
组织管理员可通过 组织主页
->设置
->CLA 管理
-> 相关 CLA 协议 的 查看协议
选项获得贡献者协议的签署地址。
个人用户可以通过开源组织协议签署地址进行签署,或在向开源项目提交 Pull Request 后,通过相关 Pull Request 页面访问协议签署地址进行签署。
协议签署
个人用户在签署贡献者协议时,需要填写贡献者自身的姓名,并在签署邮箱下拉菜单中选择一个已绑定当前 Gitee 帐号的邮箱进行签署。完成签署后,即可继续进行相关 Pull Request 的合并沟通。
管理个人已签署协议
组织管理员可通过网站右上角 个人设置
->数据管理
->我签署的 CLA
对已签署的贡献者协议进行查看和管理。
当然,如果你想解除已签署的 CLA,点击解除协议
按钮即可。
本文系作者 @Gitee 原创发布在 Gitee 官方博客。未经许可,禁止转载。