web-dev-qa-db-ja.com

ライブラリのソースコードなしでGPLv2以降でプロジェクトをリリースする

Javaで、GPLv2以降の条件でリリースしたいシステムを作成しました。ApacheMavenを使用してシステムのすべての依存関係を処理したので、使用しません。使用されているライブラリのソースコードがあります。すでに確認しましたが、すべてのライブラリはGPL互換ライセンス(Apache v2、3節BSD、MIT、LGPL v2、v2.1)でリリースされました。

自分の作品をGPLv2以降で配布し、GPLを適用せずに別の作品と同じパッケージでライブラリを提供できますか(GPLv2 sec 2で述べられているように) 、システムをコンパイルして実行するために必要な場合でも?もしそうなら、私はそれぞれの元のライセンスにのみ拘束されていることを知っています、そして私は何をすべきかを知っています。

4

ほとんどの場合、GPLv2およびLPGLv2およびv2.1では、GPLまたはLGPLのコードを配布する場合は、ソースコードも自分で利用できるようにする必要があります。いくつかの例外を除いて、アップストリームリポジトリを指すだけでは不十分です。 GPL v2 のセクション3および LGPL v2.1 のセクション6を参照してください。 (GPLとLGPLのバージョン3はこの制限を緩和し、人々をサードパーティのサーバーに向けることを許可します。 GPL v のセクション6を参照してください。)

したがって、#1と#3は問題ありません。 #2、それほど多くはありません。

更新:いくつかの追加の注意事項:

  • 実際には、単に人々をサードパーティのサーバーに向けるだけでは、ほとんどの人は気にしません。ただし、苦情が発生しています。数年前、FSFはソースを利用できないようにするためにいくつかのLinuxディストリビューションに連絡しました。 Slashdot および Linux.com これをカバーしました。
  • ライブラリが「LGPLv2/v2.1以降」で配布されている場合、LGPL v3で許可されているので、ソースを参照する限り、ソースではなくライブラリバイナリを配布しても問題ないと思います。
  • 私自身の経験では、配布する必要がない場合の詳細を追跡するよりも、すべてのソースを利用できるようにする方が簡単であることがわかりました。

あなたの編集への応答:LGPLのセクション5と6は、特に「ライブラリを使用する作品」の作成をカバーしています。私の理解では、GPLをライブラリに適用せずに、GPLv2以降として作品を配布することは問題ありません。 (ソースコード自体はライブラリの派生物ではないため、LGPLはソースコードに直接適用されません。セクション6では、ライセンス条項に互換性がある限り、結果のバイナリでLGPLのライブラリを使用できます。)

標準の免責事項が適用されます。私は弁護士ではありません。

5
Josh Kelley

一般に、アプリケーションがこれらのライブラリに依存して機能する場合は、アプリケーション全体をGPLとしてライセンスする必要があります。ライブラリはすでにGPLの下で配布されているので、それらのライブラリのソースコードはすでに公開されているはずです。したがって、理論的には、これらのライブラリのソースコードを自分で再配布する必要はありません。 GPLは、とにかくすでに公開されているコードではなく、主にyourコードを公開することに関係しています(ライブラリに加えた変更を含む)。

ただし、いくつかの注意点があります。最も重要なのは、アプリケーションが動作するライブラリのバージョンが、変更したか、アプリケーションに組み込んだ後に元の開発者によって変更されたために、一般に配布されているものと同じでない可能性があることです。 。したがって、開発者にとっては、配布するプロジェクトで使用中の実際のコード全体を利用できるようにしておく方が、複数の異なる場所に移動して再作成するよりも便利です。プロジェクト全体。今はコンパイルすらできないかもしれません。

2
Robert Harvey

標準の免責事項:P.SEは、法的/ライセンスに関するアドバイスを求めるのに最適な場所ではありません

1)はい; 2)はい。 3)はい

使用しているライブラリとバージョンを明確にし、変更を加えず、(Rossが指摘したように)それらのソースの入手先に関する明示的な情報を提供する限り、ライブラリコードを配布する必要はありません。ライブラリ。これらのライブラリのソースコードを確認したい場合は、いつでもそれぞれのWebサイトにアクセスして、そこからダウンロードできます。私が知りませんでしたが、このページで他の人から学んだこと(それらの回答に+1)は、提供した情報に基づいてソースコードにアクセスできるようにする責任もあるということです。また、サードパーティの図書館のWebサイトがダウンした場合、別のソースを見つけるか、ソースを自分でホストするのはあなたの責任になります。

ただし、ライブラリ内の1行のコードでも(GPLとLGPLの両方で)変更する必要がある場合は、変更したライブラリコードを配布する必要があります。ここでの動機は、サードパーティのコードを使用することで利益を得ている場合、そのサードパーティのコードのバグを見つけて修正すれば、コミュニティは見返りに利益を得るはずだということです。

GPLの下では、独自のソースコードを利用できるようにする必要があります。これは、すでに計画しているように見えるので、問題ありません。ソースをバイナリと一緒にパッケージ化する必要はありませんが、バイナリディストリビューションは、ソースコードをダウンロードできる場所を参照する必要があります。

1
DXM

私は他の2つの答えに同意しますが、実際には、使用するすべての依存関係にソースを提供するためのフックにいることを覚えておいてください。

LibBlah.orgから「grablibBlah2.0」と言って、そこからソースを簡単に取得できる場合、誰もあなたに苦労することはありません。ただし、libBlah.orgがシャットダウンし、ソースをホストしなくなった場合でも、yoは、ステップアップしてソースを使用可能にする責任があります。そのような状況でステップアップしないことは、GPLの条件に違反します。

編集:さらに、ライブラリのバイナリを配布することを気にしないことは、あなたをフックから外すことはありません。あなたのプロジェクトはそれらのライブラリの派生物であり、GPL /著作権が要求するため、バイナリとして配布するかどうかにかかわらず、ライブラリにソースを提供する責任があります。

1
whatsisname