跳到主要内容

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 的管理。点击 + 后进入具体贡献者协议创建。

Gitee 上线 CLA 协议签署,开源贡献也能有据可依-Gitee 官方博客

相关 CLA 创建选项说明如下:

  • CLA 名称:即将创建的贡献者协议名称,名称将在协议签署页面、相关 Pull Request 页面中展示。
  • 关联仓库:当前贡献者协议关联的代码仓库,一个仓库仅支持关联一份贡献者协议,一个组织下支持存在多份不同的贡献者协议,用于不同项目的贡献签署。
  • 协议内容:贡献者协议的正文

Gitee 上线 CLA 协议签署,开源贡献也能有据可依-Gitee 官方博客

点击 确定 后即创建了一份贡献者协议。

Gitee 上线 CLA 协议签署,开源贡献也能有据可依-Gitee 官方博客

在 Gitee 上签署 CLA

组织管理员可通过 组织主页->设置->CLA 管理-> 相关 CLA 协议 的 查看协议 选项获得贡献者协议的签署地址。

Gitee 上线 CLA 协议签署,开源贡献也能有据可依-Gitee 官方博客

个人用户可以通过开源组织协议签署地址进行签署,或在向开源项目提交 Pull Request 后,通过相关 Pull Request 页面访问协议签署地址进行签署。

Gitee 上线 CLA 协议签署,开源贡献也能有据可依-Gitee 官方博客

协议签署

个人用户在签署贡献者协议时,需要填写贡献者自身的姓名,并在签署邮箱下拉菜单中选择一个已绑定当前 Gitee 帐号的邮箱进行签署。完成签署后,即可继续进行相关 Pull Request 的合并沟通。

Gitee 上线 CLA 协议签署,开源贡献也能有据可依-Gitee 官方博客

管理个人已签署协议

组织管理员可通过网站右上角 个人设置->数据管理->我签署的 CLA对已签署的贡献者协议进行查看和管理。

Gitee 上线 CLA 协议签署,开源贡献也能有据可依-Gitee 官方博客

当然,如果你想解除已签署的 CLA,点击解除协议按钮即可。

Gitee 上线 CLA 协议签署,开源贡献也能有据可依-Gitee 官方博客