GPLv2プログラムはApacheライセンスのライブラリに依存できますか?


12

GPL(バージョン2)のライセンスを取得したソフトウェアプログラムは、GPLに違反することなく、APLv2の下でライセンスされたライブラリに依存できますか?ここの言語は、おそらくそうではないことを示唆しています。

私の特定のケースでは、いくつかのAPLv2ライセンスの外部ライブラリを使用するデーモンを見ています。

更新 (回答/コメントへの応答)

  1. この質問のために、メインプログラム(デーモン)のライセンスを再取得することはできません
  2. メインプログラムはapr-util、おそらく他のAPLv2コンポーネントを使用する機能で拡張されています

私の質問は、GPLv2の下で拡張デーモンをリリースすることはできますか、これは私が(a)この拡張機能をリリースすることにコミットしている場合、APLv2なしで自分自身に維持する必要がありますか(ディストリビューションなし)および/または再実装する必要がありますか?(b)デーモンをGPLのままにしますか?


2
リンクしたドキュメントには、「いいえ」と明記されています。ただし、そこにあるほとんどのGPLコードには、「または、オプションで、それ以降のバージョン」という規定があります。つまり、GPLv3として扱うことができ、それで問題ありません。
1月Hudec

回答:


7

最初にいくつかの用語を明確にしましょう。ライセンスがGPLと互換性があるとFSFが言うとき、それは多くの人々がそれを意味すると解釈することを意味しません。多くの場合、「互換性がある」と解釈されるのは、2つのソフトウェアが同じアプリケーションに喜んで共存できるということです。

これはFSFの意味に近いものですが、GPLのコピーレフトの規定は少し物事を進めます。

GPL FAQから、私を強調してください

これは、他のライセンスとGNU GPLに互換性があることを意味します。1つの大きなプログラムで、他のライセンスでリリースされたコードとGNU GPLでリリースされたコードを組み合わせることができます。
すべてのGNU GPLバージョンは、このような組み合わせを個人的に許可しています。また、組み合わせが同じGNU GPLバージョンでリリースされている場合、これらの組み合わせの配布も許可されます。

そのため、GPLの下で条項を吸収できる場合、ライセンスはGPLと互換性があります。


それでは、APLv2とGPLv3を見てみましょう。

  • APLv2_Lib + GPLv3_Lib => GPLv3としてのlibの組み合わせは問題ありません。
  • APLv2_Lib + GPLv3_Lib => APLv2としての結合されたlibは大丈夫ではありません。

そして、Apacheはここでも同じように言います

GPLv3の作成者は、GPLv3のソフトウェアにリンクするだけで二次的著作物を作成すると見なされるため、GPLv3ソフトウェアを使用しません。彼らのライセンスを尊重したい。


ただし、v3ではなくGPLv2でライセンスされているデーモンを使用しています。

FSFは、あなたがしたいことは公の配布には受け入れられないことを明確にしています。

このライセンスにはGPLバージョン2と互換性がないことに注意してください。GPLバージョンにはない要件がいくつかあるためです。これらには、特定の特許の終了および補償条項が含まれます。

だから、あなたの質問に答えるために:

いいえ、GPLv2およびAPLv2ライセンス素材を使用して、結合されたデーモンを配布することはできません
FSFは、その組み合わせを公開配布では許可されていないことを明示的に呼び出します。

代替案:

  1. 個人的に使用すること許可されています。

  2. また、APLv2機能を書き直してから、新しい作業をGPLv2の作業と組み合わせてもかまいません。

  3. デーモンをGPLv3に変更できるかどうかを確認できます。もしそうなら、APLv2の作業を現在のGPLv3デーモンにマージするために、あなたは明確になります。


2

私の見解は、OPのASFリンクのテキストに基づいてOPと一致しています。

ASF(Apache Software Foundation)は、ASFv2コードがGPLv2を使用するシステムの一部であるという考えを好まない、または包括的なプロジェクトがGPLv2で、ASFv2を含めようとしています。

さらに、GPLv3コードを持つASFv2アンブレラプロジェクトは発生しないはずですが、GPLv3アンブレラプロジェクトはASFv2コードを持つことができます。

おそらく(Gnuによると)カヴェオットは、それらが互いにどのように相互作用するかです。リンクされ、実行中に同じデータのコピーを共有する場合、それらは同じプログラム内にあります。ただし、異なるプロセス間でデータを渡す別のプロセス(分岐)として動作している場合、それらは別のプログラムであるため、あなたがしていることは許されるかもしれません。実行中に共有データスペースを使用し、個別のプロセスで動作しない場合、それらが同一または独立して独立するにはあまりに密結合しているため、あなたがしていることは許可されない可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.