开发者原创证书

2023年10月31日 作者:Stian Thorgersen

对于任何开源项目,重要的是所有贡献的代码都可以在法律上贡献给项目,并且项目有权根据其许可证分发这些代码。有很多方法可以实现这一点,其中两种流行的方法是开发者原创证书 (DCO) 和贡献者许可协议 (CLA)。

开发者原创证书 (DCO) 是最轻量级的方法,它要求贡献者对其贡献中的每个提交进行签名确认。这可以通过在创建提交时使用 --signoff (-s) 选项轻松完成。例如

git commit -s -m "Description of the commit"

这会在提交的末尾添加一个 Signed-off-by 声明,贡献者在此声明中证明他们遵守了 开发者原创证书 (DCO) 中列出的协议。

另一方面,贡献者许可协议 (CLA) 是一种更复杂的方法。作为 CLA 的一部分,任何贡献者都需要在做出任何贡献之前与项目签署一份预先协议。这为贡献者设置了更高的门槛,也为开源项目带来了更高的成本,因为它必须维护一份已批准贡献者列表以及相应的协议存档。

对于 Keycloak,我们决定采用 DCO,因为我们认为这对于贡献者和维护者来说都更简单。

如果您有兴趣了解更多关于 CLA 与 DCO 的信息,opensource.com 上有一篇关于此主题的优秀文章