为什么我需要根据许可证提交补丁?

时间:2019-04-16 10:22:00

标签: github open-source

我使用pull request为github中的一个项目创建了一个补丁,他们的作者说我需要添加I am submitting this patch under the XXX license.的注释。
那为什么我需要根据许可证提交补丁?
如果我不添加该评论会怎样?

2 个答案:

答案 0 :(得分:1)

根据您的描述-我进一步假设该回购已经包含许可通知(例如LICENSE文件),则您不必添加注释以使您的贡献不属于存储库的许可证。根据{{​​3}}:

  
      
  1. 存储库许可下的贡献
  2.   
     

每当您对包含以下内容的通知的存储库做出贡献时   许可,您可以按照相同的条款许可您的捐款,并且您   同意您有权根据这些条款许可您的捐款   条款。如果您有单独的许可许可协议   在不同的条款(例如,贡献者许可协议)下,   协议将取代。

     

这不只是它已经如何工作了吗?是的这被广泛接受为   开源社区的规范;通常由   简写为“ inbound = outbound”。我们只是将其明确。

也就是说,该存储库可以由一家公司拥有,该公司的法律顾问已做出内部要求,为了使该存储库能够接受外部捐款,需要提供贡献者的明确声明。

在某些情况下(但并非如您所描述的那样),项目需要GitHub Terms of Service(CLA),因为例如,项目所有者希望您声明您实际上有权做出您提供的贡献(例如,这不是您工作中的某些专有代码),甚至有权分配您的版权(例如,以便该项目可以针对违反许可或以后再许可的人提起法律诉讼代码,而无需跟踪并获得每个贡献者的批准)。 Apache,Google,Facebook,Canonical和Fedora项目(还有许多其他项目)都需要CLA。

取决于您对这一观点的看法的强烈程度,您可以将项目维护者的观点指向GitHub的服务条款(上面已链接)以及Ben Balter的“ Contributor License Agreement”。

TL; DR:

从常识和GitHub服务条款的角度来看,无论是否添加显式注释,您都已经 在仓库的许可下提交代码。

答案 1 :(得分:0)

这不是技术要求。唯一可以确定的方法就是问那个人。

但是,这很可能是他们项目指南的一部分。通常,要求贡献者将版权分配给另一个人或组织,或者在贡献代码时明确同意特定的许可。根据许可证的不同,这可能也是一项实际的法律要求:除非您同意,项目维护人员才能释放您根据特定许可证编写的代码。