签署CLA如何防止开源项目中的法律问题?


22

例如:yeoman。它已获得BSD许可。该CLA形式(贡献者许可协议)不是项目具体的,它可以以电子方式签署。

  • 签署此协议如何以及如何阻止哪些问题?
  • 我贡献的大小有多重要?
  • 为什么有些项目要求签署的CLA接受补丁,而另一些则不需要?(例如,node.js与rails)

Answers:


27

一般而言,CLA可以做以下几件事:

  • 它们使您避免撤销您的代码。 在签署《伯尔尼公约》的国家/地区,作者独占所有原创作品的版权,只有在获得明确许可的情况下,其他人才能复制。CLA使您明确地授予该权限-并且经常永久授予该权限,因此您以后不能改变主意。该CLA包含这样的子句,因此您贡献后不会收回代码。
  • 他们可以防止您起诉他们的专利侵权。 一些贡献者是du昧的,他们可能贡献自己知道其中一项专利所涵盖的代码,希望当代码广泛传播时,他们随后起诉所有人。在一些主要的标准组织中已经发生了这种情况,在开源软件中也出现了这种情况。此处的CLA禁止您执行此特技:当您向该项目提交代码时,还向他们及其用户授予您所拥有的涵盖您自己提交的代码的任何专利的永久免版税许可。
  • 它涵盖了他们的屁股,如果有人别人起诉他们或声明的版权。 包括此在内的大多数CLA都使您发誓,您所做的一切都是您自己的。基本上,这是Google(或其他上游项目)因侵犯版权而被起诉的一种方式,指向您说“ 对不起”,但不是我们,而是他。
  • 它可以有选择地重新分配版权,从而使上级组织有一些诉求来起诉违反许可证的人。 最后,虽然您链接的CLA并没有做到这一点,但许多开源项目(包括所有由FSF运行的项目)的CLA都要求完全版权分配,这意味着您提交的任何代码都将拥有项目的版权,而不是您。这对上级组织有两个好处:如果他们想起诉开源违规行为,那么他们就不必围捕所有贡献者。如果他们想在将来更改许可证,则无需咨询贡献者。大多数需要版权分配的CLA还会向贡献者及其客户授予永久的免版税许可,这与其他CLA的工作方式相反。如前所述,这CLA并没有要求重新分配版权。

大多数完全志愿服务的项目(例如Rails和Node)都不需要CLA,其原因除了其他方面之外,首先是因为没有后援实体要求他们进行任何有意义的事情。(如前所述,FSF支持的项目是此处的主要例外。)大多数商业支持的开源项目,例如那些作为Google / Oracle / Apple官方产品的开源项目,都需要某种形式的CLA,这都是因为大多数公司都有律师谁去想那些各种各样的东西,因为那里一个单一的实体后盾强制执行之类的话。


1
几点,所以代替我自己回答:某些CLA允许主要项目所有者事后更改许可证。例如,某些项目从“ GPL2或更高版本”更改为“ GPL2”,或使用商业许可进行双重许可。以我的个人经验,大多数CLA都会尝试帮助项目所有者在遇到问题时远离自己……
johannes 2012年

节点需要CLA。为什么即使提供较小的补丁程序也需要CLA签名?他们怎么知道我签了CLA,但没有其他人?
NARKOZ,2012年

假设我提交了yeomanAngular.js的补丁。他们怎么知道我不仅为一个项目而且为两个项目都签署了CLA?
NARKOZ 2012年

“分配,这意味着您提交的任何代码都将拥有项目的版权,而不是您的所有权” –实际上,某些CLA(例如Oracle贡献者协议“已授予”版权)……因此您仍然拥有自己的代码,但它们仍然可以做商业版本或在法庭上捍卫开源许可证-oracle.com/technetwork/community/oca-486395.html
johannes

4

CLA还可以(除本页中提到的其他内容外)保护撰稿人免受法律问题的影响。看看Google的CLA摘录:

除非您希望提供支持,否则不应为您的捐款提供支持。您可以免费或完全免费提供支持。除非适用法律要求或以书面形式达成协议,否则您以“现状”提供捐款,没有任何明示或暗示的保证或条件,包括但不限于TITLE,NON-侵权,适销性或特定目的的适用性。


“不期望你为你的贡献提供支持,但在某种程度上你希望提供支持” < -这不就是已经覆盖许可证本身?您不需要CLA声明吗?
Rudolf Olah

1
@RudolfOlah有时(我不确定),但并非总是如此。示例:贡献者向项目所有者授予了版权许可-然后项目所有者可以将软件许可更改为他们想要的任何内容,例如[将保护贡献者的东西从许可证中移交给最终用户]。但是,如果有CLA,则贡献者仍会受到保护。
KajMagnus

1
@RudolfOlah另一个示例:专有的商业软件许可可能确实向软件用户(软件公司的客户)承诺,开发人员确实会提供支持,并赔偿错误。—然后,如果您为此软件做出了贡献(例如,因为使用了该软件并且您想进行快速修复),则需要一个CLA,该内容表明您不需要执行这些操作。
KajMagnus

感谢这些示例,尽管如此,我仍然认为CLA是进入项目贡献的障碍。我可以理解,这对于大型项目来说是有意义的
Rudolf Olah

3

本杰明的答案很明确,但我想强调一点。CLA保护使用或贡献项目的公司。公司,特别是大型公司,害怕因法律问题而措手不及。我曾经有公司律师告诉人们,我知道即使在扣篮大赛案件中,法律在您身边,您也只能确保大约60%会赢得诉讼。

考虑一家公司的情况,尤其是一家拥有大量收入的非常大的公司,它围绕一个开源工具构建产品。他们获得了客户,建立了基础架构并雇用了员工。如果突然有原始工具的贡献者起诉他们侵犯专利或版权,那么该公司将面临许多法律难题。如果他们停止提供产品,那么他们就会在不需要的基础设施和员工上浪费金钱,更重要的是,他们会激怒客户。另一方面,如果他们停止提供他们的项目,则在确定案件的同时,他们的责任也将终止。

考虑到当前的法律软件形势,CLA是使公司感到满意并使用开源软件并做出贡献的最佳方法。这不是理想的选择(永远不必处理任何此类法律问题会很高兴),但现在它是为这些贡献做出贡献的几种方法之一


这不仅关乎收入丰厚的公司-自由软件基金会的收入不高,但需要CLA才能在法庭上应对违反许可的行为或只是重新许可它
johannes
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.