web-dev-qa-db-ja.com

GPLおよびLGPLオープンソースライセンスの制限

オープンソースの使用許可を理解できません。 GPLまたはLGPLがGPLソフトウェアを使用するソフトウェアもオープンソースでリリースする必要があることを強制していることをどこかで読みました。オープンソースの画像認識ライブラリを使用するアプリケーションを作成したい。このアプリケーションを販売できますか、それともオープンソースである必要がありますか?

ありがとう!

98
rsinha

LGPLを使用すると、アプリケーションのソースコードをリリースすることなく、アプリケーションと共にオープンソースソフトウェアを使用および配布できます。

GPLライセンスのオープンソースソフトウェアをアプリケーションと共に使用および配布することを選択した場合、GPLではアプリケーションのソースコードをリリースする必要があります。言い換えれば、あなたのアプリケーションもGPLの下でライセンスされなければなりません。

72
Robert Harvey
  • [〜#〜] gpl [〜#〜]

    他の開発者は、プロジェクト全体がGPLの下でライセンスされている場合にのみ、コードを借用して変更し、自分のプロジェクトの一部として再配布できます。

    これにより、独自のソフトウェアでコードが使用されなくなります。

  • [〜#〜] lgpl [〜#〜]

    他の開発者は、LGPLで使用される部分がLGPLで再ライセンスされる場合、コードを借用して変更し、自分のプロジェクトの一部として再配布できます。プロジェクトの他の部分には、他のライセンスが許可されています。

    これにより、独自のソフトウェアでコードを使用できます。

LGPLには、別のライセンスを使用してプロジェクトで配布するために満たす必要がある多くの追加条件があります。たとえば、any完成したソフトウェアのユーザーは、ライセンスの下でライセンスされているソフトウェアの一部を変更、再コンパイル、または置換できる必要があります。 LGPLと同じソフトウェアでこの変更されたコードを使用します。 LGPLコードを含む独自のソフトウェアを公開する場合、この要件を満たす1つの方法は、LGPLコードを別の動的にリンクされたライブラリに配置し、LGPLの再コンパイルに必要なヘッダーファイルとドキュメントをソフトウェアとともに配布することです提供されたソフトウェアと引き続きリンクして使用できるように分割します。コード自体またはAPIファイルまたはヘッダーファイルを難読化するなど、LGPLコードの変更を防ぐための措置を講じることは受け入れられません。

LGPLはGPLと互換性があることに注意してください。必要に応じて、コードをGPLに「アップグレード」して、最初の箇条書きに記載されているGPLライセンスプロジェクトに組み込むことができます。ただし、別の方法でGPLライセンスコードをLGPLとして再ライセンスすることはできません。

41
thomasrutter

IANALですが、概念はかなり簡単です。

まず、あなたとあなたの弁護士は [〜#〜] gpl [〜#〜][〜#〜] lgpl [〜#〜] のライセンスを読む必要があります。第二に、 GPL FAQ を読む必要があります。私が理解している限り、GPL/LGPLライブラリを次のように使用することを考えることができます。

  • GPLまたはLGPLライブラリと動的または静的にリンクする場合、派生物を作成しています。
  • GPLのライブラリを使用し、そのライブラリとリンクする場合、ソフトウェア リリースする必要があります互換ライセンス を使用します。
  • LGPLのライブラリを使用し、そのライブラリと動的にリンクする場合、ソフトウェアを互換性のあるライセンスでリリースする必要はありませんが、LGPLに準拠する必要があります。
  • LGPLのライブラリを使用し、そのライブラリと静的にリンクする場合、互換性のあるライセンスでソフトウェアをリリースする必要があります。
  • GPL/LGPLライセンスは、 "free beer"ではなく "free beer" のように「free」を意味します。あなたは二次的著作物を作成し、それを大金で販売することができますが、GPL/LGPLに準拠しなければなりません。
25
Jared Oberhaus

GPLのコードに対してアプリケーションをカットアンドペーストまたはリンクする場合、アプリケーションはGPLに基づいてライセンスされている必要があり、その後コードをリリースする必要があります。

ただし、アプリケーションとafaikを販売することはできますが、唯一の義務は、ソースコードを顧客にリリースすることです。

リンクするライブラリがLesser Gnu Public License別名LGPLである場合、独自のアプリケーションのコードをリリースする必要はありませんが、lgplされたコードを変更した場合、すべての変更をリリースする必要があります。

8
rasjani

GPLは、ソフトウェアの販売を禁止していません。ただし、ソフトウェアのソースを利用可能にする必要があります。

使用法の問題はもう少し複雑です。 GNU/LinuxはGPLの下でリリースされています。ソフトウェアのライセンスに関係なく、Linuxで実行されるソフトウェアを書くことを禁じるものはありません。ただし、Linuxをソフトウェアと一緒に配布することはできません。多くの場合、プログラムの一部である必要があるライブラリの問題です。それがLGPLライセンスの目的です。 gccで作成したcプログラムをコンパイルし(gccのLGPLライセンスランタイムルーチンライブラリを使用)、GPLの制限なしにソフトウェアをリリースできます。

それが一般的な要点だと思います。ただし、これは決して法的助言ではありません。法的助言については、特定の状況に合った法的助言を提供できる認定弁護士を雇う必要があります。

お役に立てれば。

7
txwikinger

GPLとLGPLの違いにより、アプリケーションのソースをバイナリのコピーを持っている人にリリースする必要があるかどうかが決まります。どちらの方法でも、アプリケーションを販売できます。

3
Troubadour