GNU Lesser General Public License

GNU Lesser General Public License (LGPL) について



GNU Lesser General Public License(LGPL)は、フリーソフトウェア財団(FSF)が公開しているコピーレフト型の自由ソフトウェアライセンスです。以前はGNU Library General Public Licenseと呼ばれていました。日本語訳では「GNU劣等一般公衆利用許諾書」と訳されることもあります。

概要



LGPLは、他のプログラムにリンクされるライブラリでの利用を前提として設計されました。これは、より制約の強いコピーレフトライセンスであるGNU General Public License(GPL)と、BSD[[ライセンス]]やMITライセンスのようなパーミッシブライセンスの中間的な位置づけです。

当初、GNU Library General Public Licenseとして登場したLGPLは、GPLv2と同等のバージョン2が与えられました。その後、小規模な改訂を経てバージョン2.1となり、1999年に公開されました。同時に、ライブラリ利用に限らないFSFの立場を反映させるため、GNU Lesser General Public Licenseに改名されました。2007年にはLGPLv3が公開され、GPLv3との完全な互換性を持ち、GPLv3に追加条項を加えた形になっています。これにより、LGPLv3の条文は簡略化され、GPLv3への参照が多くなっています。しかし、GPLリンク例外を採用している他のソフトウェアよりも要件は若干多くなっています。

LGPLは、LGPLに従う限り、ソフトウェア自身にはコピーレフトの保護を与えますが、LGPLで保護されたプログラムとリンクする他のソフトウェアには、これらの制約を適用しません。ただし、当該ソフトウェアに影響を与えるいくつかの制約は存在します。

LGPLは主にソフトウェアライブラリに適用されますが、スタンドアロンアプリケーションにも採用された例があります。例えば、かつてのMozillaやOpenOffice.orgが挙げられます。

GPLとの違い



GPLとLGPLの主な違いは、LGPLが非GPLのプログラムへのリンクを許可している点です。これは、自由ソフトウェアであれ、プロプライエタリソフトウェアであれ、LGPLライブラリを利用できることを意味します。この非LGPLプログラムが二次的[[著作物]]でない場合、任意の条項で頒布できます。しかし、二次的[[著作物]]である場合は、LGPLv2.1第6節またはLGPLv3第4項の条項に従い、「顧客自身の利用のための改変とデバッグのためのリバースエンジニアリング」を許可する必要があります。これは、GPLのように常に二次的[[著作物]]を同一の許諾条件に置く必要がないことを示しています。LGPLライブラリを利用する著作物二次的[[著作物]]かどうかは、法的な問題です。

ライブラリに動的リンクする実行ファイルは、法的に二次的[[著作物]]ではないと解釈される可能性があります。その場合、ライブラリにリンクするプログラムは、LGPLv2.1における第5パラグラフ、またはLGPLv3第4項に定義されている「ライブラリを利用する著作物」に該当します。

LGPLの一つの特徴は、LGPLで保護されたソフトウェアの任意の部分をGPLで保護できることです(LGPLv2.1では第3節、LGPLv3では第2項)。これにより、GPLで保護されたライブラリやアプリケーションでLGPLコードを再利用したり、プロプライエタリソフトウェアでの利用を避けたい場合に役立ちます。

ライブラリライセンス選択



かつてGNU Library General Public Licenseと呼ばれていたことから、FSFはライブラリにLGPLの採用を推奨しているという印象があったかもしれません。しかし、リチャード・ストールマンは、なぜそうではないケースがあるのか、そしてLGPLが常に適切ではない理由を説明しました。

ストールマンは、ライブラリにどのライセンスが最適かは戦略の問題であり、状況によって異なると述べています。彼は、LGPLを全てのライブラリに適用するべきではないと主張しており、例えばGNU CライブラリはLGPLを採用するべきライブラリの例として挙げられます。その理由は、既存の標準Cライブラリの実装が複数存在し、プロプライエタリソフトウェアがGPLライブラリを避け、BSD[[ライセンス]]のようなパーミッシブライセンスライブラリを選択する可能性があるからです。

ストールマンはさらに、GPLを利用することが常に有利とは限らないと述べており、特定の状況ではLGPLの方が適切な場合もあると指摘しています。実際、ストールマンとFSFは、利用者にとってより自由度の高いライセンスを戦略的に推奨することがあります。例えば、Vorbis音声コーデックプロジェクトのライブラリBSD[[ライセンス]]を採用したことを支持したケースが知られています。

プログラミング言語による特異性



LGPLの条文は、C言語やその関連言語で作成されたアプリケーションを想定した用語が用いられています。Franz Inc.は、Lispの文脈で用語を明確化するために、独自のプリアンブルをLGPLに追加して公開しました。この前文付きLGPLはLLGPLと呼ばれることがあります。また、Ada言語のジェネリクスという特性に対応するため、GPLの改変版であるMGPLが作成されています。

継承に関するLGPL



LGPLで保護されたソフトウェアが非LGPLコードに継承される場合、オブジェクト指向クラスの適合性について懸念が生じることがあります。しかし、GNUの公式ウェブサイトでは、継承は通常のリンクと同様に二次的[[著作物]]を作成し、LGPLはこれを許可していると説明しています。

LGPLの特徴



LGPLは以下の点を保証します。

社内や個人での利用におけるソースコードの改変や再コンパイルには制限がありません。
LGPLで頒布されたプログラムを再頒布する際には、ソースコードを公開する必要があります。
LGPLで頒布されたライブラリAについて、
ライブラリAにリンクするプログラムBのソースコードにはLGPLを適用する必要はなく、頒布の制限にも関与しません。
ライブラリAにリンクしたプログラムBを頒布する場合、Bのライセンスリバースエンジニアリングを禁止する条項を含めてはなりません。
ライブラリAに静的リンクしたプログラムBを頒布する場合、Bのソースコードまたはオブジェクトコードの頒布に制限があってはなりません。
ライブラリAを改変して作成されたライブラリA'を頒布する場合、A'のライセンスはLGPLまたはGPLである必要があります。


関連情報



GNU General Public License (GPL)
GNU Affero General Public License (AGPL)
GPLリンク例外
GNU Free Documentation License (GFDL)
GNAT Modified General Public License (GMGPL)
GNUプロジェクト
自由ソフトウェアライセンス
BSD[[ライセンス]]
パブリックドメインソフトウェア

外部リンク



The GNU Lesser General Public License (原文)
GNU 劣等一般公衆利用許諾書 バージョン3 (八田真行による非公式日本語翻訳)
The GNU Lesser General Public License, version 2.1 (原文)
GNU 劣等一般公衆利用許諾契約書 バージョン2.1 (八田真行による非公式日本語翻訳)
* Derivative Works - ライブラリがGPLである場合の二次的[[著作物]]の定義に関するローレンス・ローゼンの評論。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。