公開したいライブラリのオープンソースライセンスを探しています。理想的には、無料または商用アプリケーションでこのライブラリを無料で使用できるようにする必要がありますが、ライブラリから派生した作品(たとえば、ライブラリの改善)が作成された場合は、その下のすべての人が利用できるようにする必要があります同じライセンス。
言い換えれば、私は次の倫理を述べたいと思います:「あなたは無料でこの作品から利益を得ます、そしてあなたがそれを改善するなら、私もあなたの改善から無料で利益を得ることができます」。これは、私が探しているタイプのコピーレフトライセンスです。
MITライセンスは可能な解決策のように見えますが、このライセンスの対象となるコードの派生著作物をすべての人に公開する必要があるかどうかは不明です。誰でもこれを明確化/確認できますか?私のニーズをカバーする、より適切なオープンソースライセンスがもう1つあります。
MITライセンスでは、派生物をオープンソースにする必要はありません。 [〜#〜] gpl [〜#〜] を探しています。
GPLは、コンピュータープログラムの受信者に フリーソフトウェア定義 の権利を付与し、 copyleft を使用して、作品が配布されているときでも、作品が配布されているときでも、自由が保持されるようにします。変更または追加されました。 GPLはコピーレフトライセンスです。つまり、 派生作品 は同じライセンス条項の下でのみ配布できます...
Eclipse Public LicenseとLGPLの組み合わせにより、希望どおりの結果が確実に得られます。コードの変更を利用可能にする必要がありますが、より大きな製品でコードを使用しても、より大きな製品のライセンスが強制されることはありません。この組み合わせは、コードをGPLプロジェクトと非GPLプロジェクトの両方で使用できるようにするために必要です。
これは、JGraphTなどのプロジェクトが行った方法です。彼らはEPLとLGPLに基づいてプロジェクトを再ライセンスしました。動機と手順は their wiki で説明されています。
Mozilla Public License( [〜#〜] mpl [〜#〜] )またはEclipse Public License( [〜#〜] epl [〜#〜] =)あなたが探しているライセンスです。「ライブラリから派生した著作物(たとえば、ライブラリの改良版)が作成された場合、同じライセンスの下で誰でも利用できるようになります。」
MPLとEPLライセンスはGPLとMITの間です。
MITでは、変更、販売、変更されたコードをコミュニティに返さないなど、ユーザーがMITを使用してすべてを行うことができます。
ライブラリが製品全体のわずか1%であっても、GPLはユーザーにコードをコミュニティにall与えることを強制します。
LGPLは、ユーザーにコードのLGPL部分の変更を与えることを強制します。
MPLとEPLはLGPLに似ています。また、変更されたソースを利用可能にすることもユーザーに強制します。 「変更されたソース」には、MPL-/EPLでカバーされているコードの一部のみが含まれます。つまり、ユーザーはライブラリから新しい製品を作成することができます。彼がMPL-/EPL-partの変更を行う場合、彼はそれを公開する必要があります。彼による新しいものを公開する必要はありません。
LGPLは明示的に「ライブラリ」について語り、MPLは単に「対象ソフトウェア」(より広い範囲)について語るだけなので、MPL/EPLはよりふさわしいと感じます。
ただし、EPLを選択すると、ソフトウェアとGPLソフトウェアの組み合わせに問題が発生します。 EPLはGPLと互換性がありません 。 これは、MPLを使用するだけの場合は当てはまりません 。
コードがGPLプロジェクトとGPL以外のプロジェクトの両方で確実に使用されるようにしたい場合は、短い回答で説明されているように、LGPLとEPLでコードのデュアルライセンスを取得してください。