【开源许可与版权工程】CLA、DCO 与贡献者协议:国内项目要不要签 CLA

💡 原文中文,约40200字,阅读约需96分钟。
📝

内容提要

开源项目在接受外部贡献时,需要明确贡献者的代码著作权归属及再许可权。主要有两种路径:CLA(贡献者许可协议)和DCO(开发者起源认证)。CLA要求贡献者签署法律文件,确保著作权转移或许可,适合大型项目;DCO通过每次提交的签名声明代码来源,更轻量,适合社区驱动项目。国内项目如openEuler和OpenHarmony分别选择DCO和CLA,反映出不同的法律和商业需求。

🎯

关键要点

  • 开源项目在接受外部贡献时,需要明确贡献者的代码著作权归属及再许可权。

  • 主要有两种路径:CLA(贡献者许可协议)和DCO(开发者起源认证)。

  • CLA要求贡献者签署法律文件,适合大型项目;DCO通过每次提交的签名声明代码来源,适合社区驱动项目。

  • CLA解决了再许可权、专利授权和贡献授权合法性确认等问题。

  • DCO是对贡献者的事实性声明,强调每次提交的责任。

  • 国内项目如openEuler和OpenHarmony分别选择DCO和CLA,反映出不同的法律和商业需求。

延伸问答

开源项目中,CLA和DCO有什么区别?

CLA是法律文件,要求贡献者签署以转移或许可著作权,适合大型项目;DCO是每次提交的签名声明,适合社区驱动项目。

为什么开源项目需要明确贡献者的著作权归属?

明确著作权归属可以避免未来的法律纠纷,确保项目方有权重新许可代码,保护项目的法律安全。

CLA解决了哪些法律问题?

CLA解决了再许可权、专利授权和贡献授权的合法性确认等问题,确保项目方合法使用贡献者的代码。

国内开源项目选择CLA还是DCO的标准是什么?

选择标准包括项目规模、法律风险、社区文化及商业化需求,openEuler选择DCO而OpenHarmony选择CLA反映了不同的需求。

DCO的签署方式是什么?

DCO通过每次提交时在commit信息中添加'Signed-off-by'来声明代码来源,强调贡献者的责任。

CLA和DCO在法律风险转移上有什么不同?

CLA通常要求贡献者承担更多的声明义务,而DCO主要是事实性声明,法律风险相对较低。

➡️

继续阅读