オープンソースコミュニティのみをサポートするための適切なライセンスを見つける。GPLv3が厳しすぎる、LGPLv3が寛容すぎる
オープンソースライブラリを作成しました( https://github.com/pitschr/knx-link)他のオープンソースプロジェクトで使用するように設計されています。エンドユーザーによるものではありません。現在、GPLv3としてライセンスされています。
私の主な目標は、私のライブラリを使用するすべてのプロジェクトがオープンソースでなければならないことです。個人的には、エンドユーザーが使用するプロジェクトがGitHubなどでオープンソースである限り、ライブラリを使用する他のプロジェクトがApache-2.0やMITなどでライセンスされているかどうかは関係ありません。
さまざまなライセンスに基づいて、私はそれを見ます:
- LGPLv3はプロプライエタリソフトウェアでリンクできるため、正しい選択ではありません。
- GPLv3は、他のソフトウェアもGPLv3としてライセンス供与される必要があることを強制しているため、私には厳しすぎるようです。さらに、GPLv3は、Apache-2.0 / MITでライセンスされているプロジェクトでの使用を許可していません。
- Apache-2.0およびMITライセンスは、プロプライエタリソフトウェアで直接使用できるため、私には選択肢がないようです。
目的に合った適切なライセンスが見つかりませんでした。繰り返しになりますが、エンドユーザープロジェクト/ソフトウェア自体がオープンソースである限り、GPLv3でライセンスを取得する必要がなく、ライブラリを使用することはまったく問題ありませんか?私の主な目標は、オープンソースコミュニティのみをサポートすることです。
私はその考えに一人でいますか?達成するための最良の方法は何ですか?どのライセンスが私に最も適していますか?
ありがとう、クリストフ(少し混乱している)
回答
オープンソースライセンスには、根本的に異なる2つの見方があります。
a)MIT、Apacheなどの寛容なもので、大まかに言えば、クレジットが維持され、伝達されている限り、ソースに何が起こってもかまいません。
b)そして、より厳密にオープンソースのライセンスであるコピーレフトライセンスがあります。これは、派生物もオープンソースのままであることを確認したいものです。特にGPLライセンスです。
ライセンスは通常、最初または後者が必要な理由で(最初の)作成者によって選択されます。
あなたが求めるようなライセンスは作成されるかもしれませんが、ほとんど役に立ちません。パーミッシブライセンスのプロジェクトは、オープンソースプロジェクトでのみ使用できるライセンスを利用したくないでしょう。そのライセンスは、専有使用が可能になるように特別に選択されました。
すでにコピーレフトライセンスを持っているプロジェクトもそのようなライセンスを必要としません-それはオープンソースであり続けることを保証するGPLを使用することもできます。
そのため、オープンソースプロジェクトでのみ使用できるライセンスであるGPLがすでに存在していると主張されることさえあります。ほとんどのオープンソースライセンスは、GPLライセンスプロジェクトで使用できるという意味でGPLと互換性があります(派生/結合ソフトウェアのライセンスをGPLに変更するだけで、ApacheやMPLとの非互換性などの顕著な例外が存在する場合でも) )。
誰かがMITライセンスアプリケーションであなたのプロジェクト(カスタムライセンスの下でライセンスされている)を使用しているとしましょう。MITライセンスでは、ソフトウェアをクローズドソースで配布することが明示的に許可されているため、カスタムライセンスは効果がなく、意味がありません。
ライブラリをプロプライエタリソフトウェアで使用したくない場合は、GNUGPLが最適です。
GNUGPLと互換性のあるライセンスがあります。GNU GPLライセンスのソフトウェアには、互換性のある任意のライセンスの下でコードを含めることができます。