首页 > 解决方案 > 如何在 GitLab 的合并请求中请求 CLA 签名?

问题描述

我想在 GPL 许可下发布一个项目,但想在接受合并请求之前请求 CLA(贡献者许可协议)签署。

GitHub 有一些自动化的解决方案(ClaHubcla-assistant),但是我找不到 GitLab 类似的东西。本地添加对它的支持是一个长期存在的问题,但它已在 2 年前开放。

我知道Git 签名可用于 DCO,但我想知道它是否可以以某种方式(ab)用于签署 CLA 协议?

简而言之,我如何使签署 CLA 的过程对贡献者和我自己都尽可能轻松,同时仍然使协议(在某种程度上)具有法律约束力?

编辑:致投票结束的人:我再次检查了指导方针,在我看来,这个问题完全属于software tools commonly used by programmers; and is a practical, answerable problem that is unique to software development. 它也不属于列出的例外情况,至少我理解它们的方式是这样。也就是说,我希望能对投票的原因发表评论,以便我可以更好地提出问题或在需要时找到更合适的 StackExchange 站点。

标签: gitgitlab

解决方案


GitLab 目前没有对 CLA 的官方原生支持。
您引用的问题与问题 48118(“利益相关者对合并请求的批准”)相关联,但它本身与两个 GitLab Enterprise问题相关联 -问题 1979“多重阻塞合并请求批准规则”问题 965“使用批准链升级批准” )

所以就目前而言,依赖第三方服务站点仍然是“不那么痛苦”的解决方案。
这意味着,使用原始问题中突出显示的服务:CLAClubcla-assistant.io

最后一个(cla-assistant)将,对于公共注册回购(注册到 cla-assistant)将:

  • 对每个打开的拉取请求的评论,要求贡献者签署 CLA
  • 允许贡献者从拉取请求中签署 CLA
  • 使用他或她的 GitHub 帐户对签名者进行身份验证
  • 当贡献者同意 CLA 时更新拉取请求的状态
  • 如果关联的 Gist 和 CLA 发生更改,自动要求用户为每个新的拉取请求重新签署 CLA

注意:您可以安装并运行您自己的 cla-assistant 实例,以便将项目的 CLA 存储在您自己的私有专用数据库中。

但是:由于这些服务与GitHub帐户相关联,并且 GitLab 没有等效服务,因此不应忽视 DCO,尤其是考虑到 2017 年 11 月 GitLab 博客文章“ GitLab 将贡献者许可转换为开发人员原产地证书以更好地支持开放源项目;授权贡献者

GitLab 摆脱 CLA 的目的是使其代码托管和所有开源项目的协作开发基础设施现代化。

此外,对于不想签订法律条款的开发人员来说,要求 CLA 也成为问题。他们没有审查 CLA 合同,他们实际上放弃了拥有和贡献开源代码的权利。

并且“我们正在切换到 DCO 以获取源代码贡献”。对于 GitLab 项目,像这样的 DCO仍然是首选解决方案。
请参阅比较 CLA 和 DCO 的分析


推荐阅读