web-dev-qa-db-ja.com

LinuxのLGPLライブラリに対してリンクされたプログラムはまだGPLの下にありますか?

たとえば、埋め込みLinuxビデオサーバーを作成する場合、ソースを要求する人にどのくらいのコードを提供する必要がありますか? GPLの対象となるコードに直接リンクするコードを提供する必要がありますか、それともすべてのコードを提供する必要がありますか?たとえば、プログラムのLinuxプラットフォームでgstreamerまたはその他のLGPLコードを使用している場合、チェーンのどこかでLGPLプログラムがagaist GPLコードをリンクする必要があるという理由だけで、すべてのコードがGPLの下になりますか?

これは質問の延長だと思います。 GPLの対象にならないLinuxでコンパイルするCライブラリを作成できますか?

3
Jonathan Henson

Ob:IANAL、そして法律上のアドバイスのためにあなたはそれを見つけに行くべきです。

つまり、「LinuxのLGPLライブラリに対してリンクされたプログラムはまだGPLの下にありますか?」というタイトルの質問に答えるためです。答えはノーです。

Linuxでプログラムを実行するだけでは、GPLの対象にはなりません。 Linux上で実行されるあらゆる種類のクローズドソースプログラムがあります。

同様に、LGPLライブラリにリンクしても、GPLの対象にはなりませんが、通常はLGPLの対象になります。

したがって、あなたの場合、LGPLコードのみを使用していて、さらに [〜#〜] lgpl [〜#〜] セクション4に従って動的にリンクしている場合、ライブラリ自体のソースコードを提供する義務がなくなります。 。

彼らの意見では、なぜあなたがすべきではない新しい仕事のためにLGPLを使うべきかについてのFSFからの要約は

GNUプロジェクトには、ライブラリに使用する2つの主要なライセンスがあります。 1つはGNU劣等GPLです。もう1つは通常のGNUGPLです。ライセンスの選択は大きな違いを生みます。LesserGPLを使用すると、プロプライエタリプログラムでライブラリを使用できます。ライブラリに通常のGPLを使用すると、無料のプログラムでのみ利用できるようになります。

LGPLライブラリはGPL自体のように感染性ではないことを明確にしようとしています。

したがって、一方で、独自のコードから完全なGPLライブラリにリンクしている場合は、状況はまったく異なります。コードを提供する(または提供することを申し出る)必要があるため、プログラムを開く必要があります。ずっと。

3
sdg

LGPLのセクション4、5、6を読んでください。これらの単語を単純化しようとしても、その意味は保持されません。また、これらの質問のいくつかには複数の立場があり、法的に信頼できる信頼できる回答を得る唯一の方法は、弁護士から自分の意見を書くことです。

5
David Schwartz

LGPLの基本的な要点は、LGPLのコードをいじくり回したり、変更したり、リンクされたコードが変更されたバージョンで作業することが可能です。 LGPLの部分を使用するプログラムのライセンスは任意であり、変更されませんが、プログラムの作成または配布の方法によって、LGPLの部分を置き換えることができる必要があります。そして、あなたは交換に必要なすべてのコードを提供しなければなりません:LGPLされた部分のコードとそれをあなたのプログラムに統合するために必要なもの。

つまり、次のことを意味します。

  • ダイナミックリンクを使用する場合は、LGPLコードのみを提供して、無料の.so /.dllを簡単に置き換えることができます。
  • 静的リンクを使用する場合は、ライブラリとリンクして機能する実行可能ファイルを提供できるオブジェクトファイルを提供する必要があります。
  • とライブラリコードの両方を含むコンパイルユニット(オブジェクトファイル)を深く統合する場合は、少なくともライブラリの内容を変更した後に準備完了プログラムをコンパイルするために必要なだけコードを提供する必要があります。
  • ニーズに合わせてライブラリ自体を変更した場合(変更が広範囲で元のライブラリの範囲をはるかに超えている場合でも)、新しい変更されたライブラリにLGPLとしてソースを提供する必要があります。変更をプロプライエタリに保ちたい場合は、ラッパー/抽象化レイヤーとして、または別のライブラリとして、ライブラリ外の別の場所に配置する必要があります。
1
SF.