如何管理来自BSD许可项目的贡献者的版权声明


9

LICENSE文件中包含以下BSD许可证:

Copyright (c) 2006-2016 SymPy Development Team

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  a. Redistributions of source code must retain the above copyright notice,
     this list of conditions and the following disclaimer.
  b. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.
  c. Neither the name of SymPy nor the names of its contributors
     may be used to endorse or promote products derived from this software
     without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

我们通过git(https://github.com/sympy/sympy)管理源存储库,因此每个作者都拥有他或她创建的补丁。然后AUTHORS,我们有一个文件,其中列出了所有贡献补丁的人员(当前大约450个左右)。通常,作者将存储库分叉到github上,并在git commits中添加补丁。

一位作者分叉了存储库,但将其名称LICENSE作为版权声明添加到文件本身中,如下所示(我更改了名称):

Copyright (c) 2006-2015 SymPy Development Team,
              2015-2016 John Doe

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  a. Redistributions of source code must retain the above copyright notice,
     this list of conditions and the following disclaimer.
  b. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.
  c. Neither the name of SymPy nor the names of its contributors
     may be used to endorse or promote products derived from this software
     without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

作者开发了一个补丁,修复了一个错误。该修补程序包括仅触摸一个文件并从一行删除19个字符,然后在同一文件的另一行添加18个字符。还将针对此错误的5行测试添加到测试文件中。而已。

在法律上允许我们在什么条件下应用他的补丁(通过挑选他的提交,例如在git meta数据中保留日期和作者的名字+电子邮件)?

a)我们是否需要修改LICENSE文件以添加他的版权声明?

b)或者,如果我们保持最新AUTHORS文件并保留git存储库(它专门跟踪哪些提交是由哪些作者贡献的),那么我们是否仍符合BSD许可证。

我不喜欢的选项)是,如果所有450米左右的贡献者需要这一点,那么我们就需要基本上保持的内容AUTHORS的文件LICENSE的文件,与一起Copyright字和年。Git可以更好地保留年份(甚至几天和几分钟)以及每位作者修改哪些行以及如何修改。然后,我们有了一个LICENSE不变的简单文件,并将作者列表保留在其中AUTHORS(并且有一个脚本使其与git中的作者列表保持同步)。


4
我投票结束这个问题是因为离题,因为该问题所要求的法律建议超出了程序员的预期范围。你应该问一个层。
Bart van Ingen Schenau,2016年

1
或律师...;)
Erik Eidt

7
程序员不应该知道这一点,但是他们可能知道。删除基本上说“您应该与律师交谈”的评论会是一个更好的主意,这是一种过度使用的回复。程序员确实了解软件许可,可能比世界上每位律师都要多。我的投票是将其保留在这里。
moorepants '16

2
我的理解是,当有人向SymPy发出拉取请求时,他们隐式地根据SymPy许可对其进行许可。
asmeurer's

2
@asmeurer对。我的问题是作者是否未创建拉取请求。也就是说,在什么情况下您可以挑选发布到存储库分支中的补丁,这些补丁是在相同许可证下许可的,但具有修改的版权声明。
昂德里杰·塞蒂克

Answers:


3

您可以合并具有兼容许可证的任何代码。

就是说,除非要将新更改引入代码库中,否则除非获得新的代码在兼容许可下的特殊许可,否则您将面临很多困难。

特别是,除非代码明确声明新的贡献受兼容许可证的约束,否则默认的“保留所有权利”许可证适用于它。拉该代码将构成版权侵权。

也有可能新代码是根据与您兼容的许可证进行许可的(并且您需要维护该代码的许可证),但与许多用户不兼容。例如,如果您使用的是BSD 2子句,并且有人在BSD 3子句下许可了fork的贡献,则可以很容易地将其放入代码中。但是,由于BSD 3子句与GPL不兼容,这将使您的项目GPL不兼容。

如果您稍后决定(例如)从BSD更改为GPL,并且拉取请求分配了必要的权利,以将更改许可作为贡献者许可协议的一部分,则您可以从未同意的其他项目中提取代码CLA可能会让您头疼。

多数民众赞成在一般情况下...

对于许可证文件已更改的特定情况,我不知道。通过简单阅读许可证文件:

Copyright (c) 2006-2015 SymPy Development Team,  
              2015-2016 John Doe

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

一个。重新分发源代码必须保留上述版权声明,
   此条件列表和以下免责声明。

该位似乎表明,如果您要进行这些更改,则需要更改许可证文件。

不幸的是,您目前没有明确定义的CLA。幸运的是,此时您只有450个人要问。


因此从阅读点“ a”开始。看起来,John Doe保留了原始SymPy代码的“上述版权声明”,并且John Doe在相同的许可证下许可了该新叉子的版权,但是新的版权归John Doe版权。
moorepants '16

2
@moorepants在这种情况下,似乎是这种情况。因此,如果SymPy想要将其许可其代码中,则还需要遵循许可中的声明,并保留John Doe的版权声明。

感谢@MichaelT的答案。我需要问450个人吗?看来,我所需要做的就是从分支中复制许可证(包括John Doe的版权声明),然后将其追加到NOTICES文件中,以存储所有第三方许可证。
昂德里杰·塞蒂克

1
@OndřejČertík,如果您想更改 SymPy的许可(假设所有提交了拉取请求的人都可以在BSD下许可它)说... GPL,则需要每个人的许可做出了贡献,因为只有他们可以决定根据其他许可重新许可它。Apache有相当多的CLA。许多大型项目都有某种形式的CLA,以确保该项目有权分发所提交的代码

1
我建议看一下话语CLA的第一个要点:You grant to "The Company" (Civilized Discourse Construction Kit, Inc.) a non-exclusive, irrevocable, worldwide, royalty-free, sublicenseable, relicenseable, transferable license under all of Your relevant intellectual property rights, to use, copy, prepare derivative works of, distribute and publicly perform and display "The Contributions" on any licensing terms, including without limitation: (a) open source licenses like the GNU General Public (v2.0) license; ...

2

如果存在BSD许可的源代码,并且有人分叉添加了其他补丁,则新回购中的此新源代码应包括原始回购中确切的BSD许可文件,并且新补丁应使用新许可(甚至是相同的许可证)。因此,分支在存储库中应具有一个或两个许可证。编辑原始许可证是不可接受的,因为这违反了BSD许可证条款。

现在,如果原始存储库要从分叉中挑选补丁,则必须将分叉的新许可证副本添加到原始存储库中。最终,两个存储库将拥有每个许可证,一个许可证涵盖每组补丁。

SymPy还应该要求贡献者放弃对SymPy项目的版权。让贡献者在提交时保留其版权对各个补丁的潜在潜在问题。需要明确的贡献者协议才能清楚发生了什么。


当然,如果派生叉上没有其他许可证,那么贡献将不使用默认的保留所有权利的许可证以外的任何其他方式进行许可。

1
我不认为那一定是真的。如果在分支中的新修补程序上未指定许可证,则可能存在歧义。在美国法律中,默认情况下,如果未声明,则内容的创建者拥有版权。因此,如果未列出其他许可证,则分叉中补丁的创建者可能拥有新补丁的版权。但这是模棱两可的,因为创建者必须将原始许可证留在fork中,这样才能适用于其所有补丁。每文件许可证声明有助于消除某些歧义,但是您很少看到“每补丁”声明。
moorepants '16
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.