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

1人の作成者がリポジトリをフォークしましたが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の著者のリストと同期させるスクリプトがあります)。


4
この質問は、プログラマーが知っていると期待できる以上の法的助言を求めているため、この質問をトピック外として締めくくります。あなたは層に尋ねるべきです。
Bart van Ingen Schenau

1
または弁護士...;)
Erik Eidt 2016年

7
プログラマはこれを知ることは期待されていませんが、知っている可能性があります。基本的には「弁護士に相談するべきだ」と言っているコメントを削除する方がいいでしょう。これは使い古された回答です。プログラマーはソフトウェアのライセンスについて理解しているでしょう。おそらく世界中のほとんどすべての弁護士よりも多くのことです。私の投票はこれをここに保つことです。
moorepants 2016年

2
私の理解では、誰かがSymPyにプルリクエストを行うと、SymPyライセンスの下で暗黙的にライセンスが付与されます。
asmeurer 2016年

2
@asmeurerそうです。私の質問は、作成者がプルリクエストを作成しないかどうかです。つまり、どのような条件下で、同じライセンスでライセンスされているが、著作権表示が変更された、リポジトリのフォークに投稿されたパッチをチェリーピックすることができますか。
オンドレジ・セティク

回答:


3

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

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

特に、コードが新しいコントリビューションが互換性のあるライセンスの下にあることを明確に述べていない限り、デフォルトの「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人しか質問できません。


したがって、「a」のポイントを読むことから。元のSymPyコードの「上記の著作権表示」はJohn Doeによって保持されているようで、John Doeは同じライセンスの下で新しい貢献をフォークにライセンスしていますが、新しい追加はJohn Doeに著作権で保護されています。
moorepants 2016

2
このインスタンスの@moorepantsは、そのように見えます。したがって、SymPyがそれらのライセンスをコードに戻したい場合は、ライセンスでそのステートメントに従い、John Doeによる著作権表示を保持する必要があります。

答えてくれてありがとう@MichaelT。450人に何を頼む必要がありますか?私がしなければならないことは、フォークからライセンスをコピーして(John Doeの著作権声明を含む)、それをNOTICESファイルに追加することだけです。ここにすべてのサードパーティライセンスを保存します。
オンドレジ・セティク

1
@OndřejČertíkSymPy のライセンスを変更したい場合(これは、プルリクエストを送信したすべての人がBSDでライセンスを許可しても問題ないという前提で動作しています)GPL、あなたはすべての人の許可が必要です彼らだけが別のライセンスの下でそれを再ライセンスすることを決定できるので貢献しました。Apacheにはかなり複雑なCLAがあります。多くの大規模プロジェクトには、プロジェクトが提出されたコードを配布する権利の範囲内であることを確認するための何らかのCLAがあります

1
私は、最初の箇条書きを見てお勧めしたい談話CLAYou 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ライセンスファイルが含まれ、新しいパッチは新しいライセンス(または同じライセンス)。したがって、フォークにはリポジトリに1つまたは2つのライセンスが必要です。BSDライセンス条項に違反するため、元のライセンスを編集することはできません。

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

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


もちろん、フォークに追加のライセンスがない場合、コントリビューションはデフォルトのall rights reservedライセンス以外にはライセンスされていません。

1
それは必ずしも本当だとは思いません。フォーク内の新しいパッチにライセンスが指定されていない場合は、あいまいになる可能性があります。米国法のデフォルトでは、何も述べられていない場合、コンテンツの作成者が著作権を所有します。したがって、追加のライセンスがリストされていない場合は、フォークのパッチの作成者が新しいパッチの著作権を所有している可能性があります。ただし、作成者は元のライセンスをフォークに残しておく必要があるため、あいまいであり、すべてのパッチに適用される場合があります。ファイルごとのライセンスステートメントは、あいまいさを解消するのに役立ちますが、「パッチごと」のステートメントはほとんどありません。
moorepants 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.