gpt4 book ai didi

git - 如何在 GitLab 的 merge 请求中请求 CLA 签名?

转载 作者:IT王子 更新时间:2023-10-29 00:55:13 25 4
gpt4 key购买 nike

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

GitHub 有一些自动化解决方案(ClaHubcla-assistant),但我找不到 GitLab 的类似解决方案。有一个long standing issue本地添加对它的支持,但它已在 2 年前打开。

我知道Git sign-off可以用于 DCO,但我想知道它是否可以以某种方式(滥用)用于签署 CLA 协议(protocol)?

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

编辑:致投票结束的人:我检查了 guidelines又一次,在我看来,这个问题正好落在程序员常用的 软件工具中;并且是一个实用的、可回答的问题,是软件开发所特有的。它也不属于列出的异常(exception)情况,至少在我理解它们的方式上是这样。也就是说,如果有人对投票的原因发表评论,我将不胜感激,这样我就可以更好地阐述问题或在需要时找到更合适的 StackExchange 站点。

最佳答案

目前 GitLab 中没有对 CLA 的官方原生支持。
您引用的问题链接到 issue 48118 ("Stakeholder approval for merge requests") ,但它本身与两个 GitLab Enterprise 问题有关 - issues 1979 "Multiple blocking merge request approval rules"issue 965 "Upgrading approvals with approval chain" )

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

最后一个 (cla-assistant) 将,对于一个公开注册的 repo (注册到 cla-assistant) 将:

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

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

但是:由于这些服务与 GitHub 帐户相关联,并且没有 GitLab 的等效项,因此不应忽视 DCO,尤其是考虑到 2017 年 11 月的 GitLab 博客文章“GitLab Transitions Contributor Licensing to Developer Certificate of Origin to Better Support Open Source Projects; Empower Contributors ” "

GitLab’s move away from a CLA is meant to modernize its code hosting and collaborative development infrastructure for all open source projects.

Additionally, requiring a CLA became problematic for developers who didn’t want to enter into legal terms; they weren’t reviewing the CLA contract and they effectively gave up their rights to own and contribute to open source code.

还有“We're switching to a DCO for source code contributions”。当谈到 GitLab 项目时,一个 DCO like this one仍然是选择的解决方案。
查看analysis comparing CLA and DCO .


GitLab 15.5 (2022 年 10 月)针对 GitLab 的非免费版本的计划:

Enforce Developer Certificate of Origin on all contributions

The Developer Certificate of Origin (DCO) is a per-commit sign-off made by a contributor stating that they have the right to submit the code to the project. By signing off on a commit, the contributor agrees to the terms published at developercertificate.org.

Now, you can easily enforce this Developer Certificate via a per-project setting to prevent contributors from contributing code that violates your license. When enabled, all new commits must include such a certificate of origin in the form of a line in the commit message Signed-off-by:.

https://about.gitlab.com/images/15_5/enforce_dco_all_contributions.png -- Enforce Developer Certificate of Origin on all contributions

See Documentation and Issue.

关于git - 如何在 GitLab 的 merge 请求中请求 CLA 签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54132483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com