MITまたはBSDのようなterserライセンスのあるCLAの必要性は確かにわかりますが、より詳細なApacheにはすでにそのタイプの表現が含まれているようです。このレベルは追加しない方がいいでしょう。 Apache 2.0ライセンスで必要ない場合は、オープンソースプロジェクトを複雑にします。
CLAは、主にプロジェクトへの貢献者から著作権ライセンスと特許ライセンスを付与しているようです。どちらもすでに Apache 2.0ライセンス (セクション2および3)のテキストに含まれています。 Apacheライセンスを使用している場合、貢献者がCLAに署名するための追加要件も追加する必要がありますか?私は基本的に、寄稿者に大量の情報を記入させたり、サードパーティのフォームで契約に署名させたりせずに、CLAの一般的なメリット(寄稿者は所有権を維持しますが、再ライセンスの明確な権利など)を取得したいと考えています。
リポジトリのクローンを作成し、コードを変更し、プルリクエストを送信するという行為は、関連するライセンスの条件に同意していることを示していませんか? Apache 2.0ライセンスのセクション5には、コントリビューションもApache 2.0の下にあることが明示されています。
寄稿の提出:特に明記しない限り、あなたが著作物に含めることを意図してライセンサーに提出する寄付は、以下の条件に従うものとします。このライセンス。追加の契約条件はありません。上記にかかわらず、ここに記載されている内容は、そのような寄稿に関してライセンサーと締結した個別のライセンス契約の条項に優先または変更されるものではありません。
著作権ライセンスおよび特許ライセンスの付与に関するセクション2および3と組み合わせると、「...複製、派生物の作成、サブライセンス...」については、Apache2.0が提出に関するプロジェクトの基盤をすでにカバーしているように思われます。または、「サブライセンス」と実際にプロジェクトのライセンスを変更することの違いについて誤解していますか?
( オープンソースライセンスQ&Aサイト はまだ単なる提案なので、ここでIANALの回答を受け入れます。)
私の(かなり限定された)経験では、CLAはプロジェクトの所有者に、寄稿が行われたときに有効なライセンスだけでなく、他の人の下でも寄稿されたコードを使用する許可を与えることがよくあります。したがって、何らかの理由でプロジェクト全体をApache 2からMITまたはGPL 2などに切り替えることを決定した場合、貢献者がそのようなシナリオをカバーするCLAに署名した場合、これは問題ありませんが、 Apache 2の動作では、そのような各寄稿者に同意を求める必要があります。
IANALですが、私の理解では、CLAは、貢献者がプロジェクトへの貢献において知的財産を共有する権利を(とりわけ)保証しているということです。
これは、商用ライセンスを提供する場合は特に重要ですが、プロジェクトにプロプライエタリコードがあると著作権を侵害するため、純粋なApacheプロジェクトにとっても重要です。
CLA(Contributor License Agreement)のより軽量な代替手段は、DCO(Developer Certificate of Origin)です。これは、貢献者には貢献を行う権利があり、プロジェクトにはそのライセンスに基づいて配布する権利があることを示しています。ただし、CLAを使用してプロジェクトの法的契約に署名する代わりに、寄稿者はコミットログメッセージの最後に「Signed-off-by」行を使用してgitコミットに署名します。 --signoff
コマンドのgit commit
フラグ。
https://opensource.com/article/18/3/cla-vs-dco-whats-difference