LGPL gemを使用すると、MITライセンスアプリケーションにどのような影響がありますか?


21

私はMITライセンスの下でオープンソースのRubyアプリケーションを開発しています。アプリケーションのユーザーに制限を加えたくないので、このライセンスを使用しています。また、私は実際にこのライセンスを読んで理解することができます。

私は最近、プロジェクトで別のruby gemを使用し始めました(「somegem」が必要です)。このruby gemはLGPLライセンスの下にあります。

LGPLでライセンスされているこの他のruby gemを使用しているため、プロジェクトについて何か変更する必要がありますか?私のプロジェクトには他のgemのソースコードが含まれておらず、プロジェクトに同梱されていません。単に依存関係としてリストされているため、Ruby gemがそれをインストールし、プロジェクトがコードから呼び出します。

さらに、「注意する」必要があるライセンスがあるかどうかを知ることは役立ちます。ライセンスを使用すると、プロジェクトのライセンスに影響するためです。

このトピックに関する他の投稿もありますが、さまざまな方法で表現されています。このライセンスは扱いにくいと思うので、自分の状況に応じた回答を得たいと思っています。

ありがとう、
コルセン


1
これは、プログラマーではなく弁護士にとっての質問のようです。(つまり、これは良い質問であり、一部のプログラマーは経験があるかもしれませんが、それはプログラミングとはほとんど関係がないため、Stack Overflowに適切ではありません。)
Phrogz

7
Phrogz:誇張しています。これは単純なライセンスの質問であり、ライセンスのテキストと多数のFAQによって明示的に回答されます。あなたは本当に弁護士を読む必要はありません。
バルテック

回答:


26

影響しません

LGPL — Lesser GPL(ライブラリGPLを意味するために使用される)の略。GPLとの大きな違いは、ライブラリを使用するソフトウェアにライセンスを課さないことです。ライブラリを変更するか、ソフトウェアにコードの一部を直接含める場合にのみ、コードはLGPLである必要があります。一方、アプリでgemを使用しているだけの場合は、ライセンスを任意のライセンスのままにしておいても問題ありません。

LGPLの上記の部分:

ライブラリのどの部分の派生物も含まないが、コンパイルまたはリンクされることによりライブラリで動作するように設計されたプログラムは、「ライブラリを使用する作業」と呼ばれます。そのような作品は、単独では、ライブラリの二次的著作物ではないため、このライセンスの範囲外です。


1
LGPLライブラリには、特に閉じたプログラム内でインポートをハードエンコードする場合に満たす必要のある要件がいくつかあります。これは、コードをLGPLの下に置く必要があるという意味ではありませんが、満たすべき要件があります。私はrubygenのリンクメカニズムに自信がありません。おそらく、JavaインポートであるLGPLとJavaに匹敵します
-hakre

0

LGPLでライセンスされているこの他のruby gemを使用しているため、プロジェクトについて何か変更する必要がありますか?私のプロジェクトには他のgemのソースコードが含まれておらず、プロジェクトに同梱されていません。単に依存関係としてリストされているため、Ruby gemがそれをインストールし、プロジェクトがコードから呼び出します。

LGPLのソフトウェアは、ソフトウェアの依存関係です。したがって、実際にはソフトウェアの一部です。LGPLは非フリーソフトウェアから使用することを許可しているため(MITはフリーソフトウェアですら)、依存関係であることはブロッカーではありません。

ただし、これは依存関係であるため、ソフトウェアを配布する場合はソースコードを提供する必要があります。ruby内のrequireメカニズムが常にソースも提供するかどうかはわかりません。もしそうなら、私はあなたがすでにソースで配布していると言います。そうでない場合は、ソフトウェアに必要なgemのすべてのバージョンについて、ソースを提供するように注意する必要があります。

サードパーティのプロジェクト(gem)がオフラインになり、存在しないgemが必要になるとプロジェクトが壊れてしまう可能性があるため、とにかくソースを管理する必要があります。

これは法律上の助言ではなく、プログラマの観点からだけです。ソフトウェアがライブラリを使用しているため、ソフトウェアのユーザーがソースを要求することを考慮してください。ライブラリに書き込んだため、実際には配布と見なすことができますrequire "somegem"。配布の法的な定義は、CD-ROMにファイルを書き込むというプログラマの日々の期待と一致しない場合があります。したがって、物事が期待どおりにならない場合に備えて積極的に行動を続けるには、ここでより広い概念をとることが賢明です。


1
「ソフトウェアを配布する場合は、ソースコードを提供する必要があります。」いいえ、一般公開されていません。
バルテック

1
@vartec:配布する場合、ソースを提供する必要があります。非営利であり、コードが変更されていない場合にのみ、その要件をアップストリームプロジェクトに委任できます(GPLを参照)。ライブラリがあなたによって配布されていない場合(ただし、この場合、ユーザーが変更できないハードエンコードされたセットアップ手順があり、実際にはLGPLの互換性を壊す可能性があるため、LGPLに交換可能な要件があります)、提供するのが最も安全だと思いますリバースエンジニアリングと交換の要件を簡単に満たすことができます。
-hakre

@vartec:一般に公開されているということは、配布しないということです。gemディストリビューターがソースを提供できない場合、gemのコピーは正当ではない可能性があります。
-hakre

LGPL、セクション4.e 「インストール情報を提供します。ただし、GNU GPLのセクション6に基づいてそのような情報を提供する必要がある場合にのみ、そのような情報は、アプリケーションをリンクバージョンの修正バージョンと再結合または再リンクすることにより生成された結合作業。」
バルテック

1
@vartec:そのとおりです。4.e続き:「(オプション4d0を使用する場合、インストール情報は最小対応ソースおよび対応アプリケーションコードに添付する必要があります。オプション4d1を使用する場合、GNU GPLのセクション6で指定された方法でインストール情報を提供する必要があります対応するソースを伝えるために。)」
hakre
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.