web-dev-qa-db-ja.com

MPLコードでのGPLコードの使用

私はグーグルのスポットをやりました、そして私が見つけることができるのはより大きなGPLライセンスプロジェクトでMPLの下でコードを使用することに関する情報だけです。私が本当に知りたいのは、GPL(v3)ライセンスコード(/バイナリ)をより大きなMPL(2.0)ライセンスプロジェクトに含めることはできますか?

これまでの私の理解では、私はできません。GPLソフトウェアを使用するプロジェクトもGPLの下でリリースする必要があります。これは正しいです?

これが正しければ、GPLライセンスのパーツをMPLライセンスのパーツと一緒に配布しない限り、GPLライブラリに依存している場合でも、ソフトウェアを作成してMPLでリリースできますか?

そして、両方の部分を「より大きな作業」として配布したい場合、包括的なGPLはMPLコードにどのように影響しますか?

3
Angus Ireland

免責事項、これは私の MIT&GPL に関する他の回答)に似ていますが、MPLに関連するいくつかのニュアンスがあります。

より大きなMPL(2.0)ライセンスプロジェクトにGPL(v3)ライセンスコード(/バイナリ)を含めることはできますか?

短い答え:いいえ、できません*。彼らはコピーレフトの対象となります。

*これはトリッキーなものの1つなので、長い答えを参照してください

長い答え:

参照1ライセンス互換性に関するウィキペディアの記事GPL互換性 に関する優れたセクションがあります=:

オリジナルのMIT/Xライセンスなど、最も一般的なフリーソフトウェアライセンスの多くは、「GPL互換」です。つまり、それらのコードは、競合することなくGPLの下でプログラムと組み合わせることができます(新しい組み合わせでは、GPLが全体に適用されます)。

[強調を追加]

参照2)そしてより明確に FSF FAQ GPL互換性について

つまり、他のライセンスとGNU GPLは互換性があります。他のライセンスでリリースされたコードと、GNU GPLでリリースされたコードを1つにまとめることができます。プログラム。

そして、啓蒙のために、ここに さまざまなライセンスに関するFSFのコメント

FSFには、 MPLライセンス について多くのコメントがあります。

短いバージョンでは、結合した作業をGPLとしてリリースする必要があります。

トリッキーになるところ

プロジェクトFooがMPLでライセンスされており、プロジェクトBarがGPLでライセンスされており、Fooを使用したいとします。

Bar+Fooはライセンスに互換性があるため許可されており、BarはGPLであるため、Bar+FooのリリースはGPLである必要があります。 Fooは、それ自体でBarまたはBar+Fooなしで、MPLライセンスの下で引き続き利用できます。別の言い方をすれば、Bar+FooFoo自体にライセンスの影響を与えません。

プロジェクトの組み合わせの結果として生じるライセンスは、組み合わせのみの前向きなイベントです。それはではない遡及的イベントです。 MPLは、これをセクション3.3でさらに一歩進め、Bar+Fooの所有者にFooの配布をMPL形式で提供することを明示的に要求します。

したがって、他の誰かがFooを取り、それを使って何か他のことをしたい場合でも、GPLのコピーレフトの規定がなくても自由にそうすることができます。ただし、Bar+Fooを取り、Barを削除し、+Fooのみを使用する場合は、Bar+FooがGPLされているため、GPLの条件に拘束されます。

私の意見では、これはライセンスがGPLのウイルス効果を無効にするのとほぼ同じくらいです。 Fooの所有者は、GPLされたアプリケーションでやりたいことを実行できるようにしながら、それが存続し、MPLとしてアドバタイズされることを確認しています。

あなたも尋ねました:

これが正しければ、GPLライセンスのパーツをMPLライセンスのパーツと一緒に配布しない限り、GPLライブラリに依存している場合でも、ソフトウェアを作成してMPLでリリースできますか?

いいえ、これは正しくありません。 GPLライブラリに依存するため、GPLになります。

そして、両方の部分を「より大きな作業」として配布したい場合、包括的なGPLはMPLコードにどのように影響しますか?

より広範な作業をGPLとして配布します。
また、MPLとして小さなMPL作業を提供する必要があります。

3
user53019