web-dev-qa-db-ja.com

BSDライセンスプロジェクトへの貢献者からの著作権表示を管理する方法

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コミットとしてパッチを追加します。

1人の作成者がリポジトリをforkしましたが、次のように著作権表示として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.

著者はバグを修正するパッチを開発しました。修正は、1つのファイルのみをタッチして1行から19文字を削除し、同じファイルの別の行に18文字を追加することで構成されています。また、このバグの5行のテストをテストファイルに追加します。それでおしまい。

どのような条件下で彼のパッチを適用することが合法的に許可されていますか(たとえば、日付と著者名+電子メールをgitメタデータに保存するなど、彼のコミットを厳選することによって)?

a)LICENSEファイルを変更して著作権表示を追加する必要がありますか?

b)または、最新のAUTHORSファイルを保持し、どの作者がどのコミットを貢献したかを具体的に追跡するgitリポジトリを保持している場合でも、BSDライセンスに準拠していますか。

オプションa)について私が気に入らないのは、450人程度の寄稿者全員がこれを要求した場合、AUTHORSファイルの内容をLICENSEファイルに本質的に保持する必要があるということです。 Copyrightの言葉と年とともに。 Gitは、年(および日と分)を維持するのに優れており、各作者がどの行をどのように変更したかを示しています。次に、変更されない単純なLICENSEファイルを作成し、著者のリストをAUTHORSに保持します(そして、gitの著者のリストと同期させるスクリプトがあります)。

9

互換性のあるライセンスを持つコードを組み込むことができます。

とは言っても、変更をコードベースに取り込む場合、新しいコードが互換性のあるライセンスの下で特別にライセンスされていない限り、いくつかの困難の可能性に自分を開放しています。

特に、newコントリビューションが互換性のあるライセンスの下にあるとコードが明確に述べていない限り、デフォルトの「all rights reserved」ライセンスがそれに適用されます。コードを引っ張ると著作権が侵害されます。

また、新しいコードはあなたと互換性のあるライセンスの下でライセンスされている可能性があります(そして、コードのそのライセンスを維持する必要があります)が、多くのユーザーとは互換性がありません。たとえば、BSD 2句を使用していて、誰かがBSD 3句の下でフォークの貢献をライセンスしている場合は、それほど難しいことなく、それをコードに取り込むことができます。ただし、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:
a。 ソースコードの再配布では、上記の著作権表示を保持する必要があります、
この条件のリストと次の免責事項。

そのビットは、それらの変更を取り込もうとする場合、ライセンスファイルを変更する必要があることを示しているようです。

残念ながら、現時点では明確に定義されたCLAがありません。幸いなことに、現時点では450人しか質問できません。

3
user40980

BSDライセンスのソースコードがあり、誰かが追加のパッチを追加することをフォークした場合、新しいリポジトリのこの新しいソースコードには、元のリポジトリの正確なBSDライセンスファイルが含まれ、新しいパッチは新しいライセンス(または同じライセンス)。したがって、フォークにはリポジトリに1つまたは2つのライセンスが必要です。 BSDライセンス条項に違反しているため、元のライセンスを編集することはできません。

ここで、元のレポがフォークからパッチをチェリーピックする場合、フォークの新しいライセンスのコピーを元のレポに追加する必要があります。最終的には両方のリポジトリにそれぞれのライセンスがあり、1つはパッチの各セットをカバーします。

SymPyは、コントリビューターがSymPyプロジェクトへの著作権を放棄することも要求しています。提出時に個々のパッチの著作権をコントリビューターに保持させることは、潜在的に非常に問題になります。何が起こっているのかを明確にするために、これを綴った投稿者合意が必要です。

2
moorepants