ロゴ | |
| 出版 | 1991 (1991年) |
|---|---|
| SPDX識別子 | LGPL-3.0 以降LGPL-3.0 のみLGPL-2.1 以降LGPL-2.1 のみLGPL-2.0 以降LGPL-2.0 のみ |
| Debian FSG互換 | はい[ 1 ] |
| FSF承認 | はい[ 2 ] |
| OSI承認 | はい[ 3 ] |
| GPL互換 | はい[ 2 ] |
| コピーレフト | はい[ 2 ](ライブラリまたは動的リンクベース) |
| 異なるライセンスのコードからのリンク | はい |
| Webサイト | www.gnu.org/ライセンス/lgpl.html |
GNU Lesser General Public License ( LGPL ) は、フリーソフトウェア財団(FSF)が発行するフリーソフトウェアライセンスです。このライセンスにより、開発者や企業は、LGPL の下でリリースされたソフトウェアコンポーネントを、独自の (プロプライエタリな) ソフトウェアに使用および統合することができ、強力なコピーレフトライセンスの条件によって独自のコンポーネントのソースコードを公開する必要がありません。ただし、LGPL で保護されたコンポーネントを変更する開発者は、変更したバージョンを同じ LGPL ライセンスの下で利用できるようにする必要があります。プロプライエタリソフトウェアの場合、LGPL の下でのコードは通常、共有ライブラリの形式で使用されるため、プロプライエタリなコンポーネントと LGPL コンポーネントは明確に区別されます。LGPL は主にソフトウェアライブラリに使用されますが、一部のスタンドアロンアプリケーションでも使用されます。
LGPLは、GNU一般公衆利用許諾書(GPL)の強力なコピーレフトと、 BSDライセンスやMITライセンスといったより寛容なライセンスとの妥協案として開発されました。タイトルの「Lesser(劣る)」という言葉は、LGPLがエンドユーザーのソフトウェア利用における完全な自由を保証するものではないことを示しています。LGPLは、LGPLの下でライセンスされたコンポーネントの改変の自由のみを保証するものであり、プロプライエタリなコンポーネントの改変の自由は保証しません。
このライセンスは元々 GNUライブラリ一般公衆利用許諾書(LGPL)と呼ばれ、1991年に初めて公開されました。GPLバージョン2との整合性を保つため、バージョン番号は2でした。LGPLは1999年に公開された2.1ポイントリリースで若干の改訂が行われ、すべてのライブラリがLGPLを使用するべきではないというFSFの立場を反映して、GNU劣等一般公衆利用許諾書(LGPL)に改名されました。LGPLバージョン3は、GPLバージョン3に適用される追加の権限リストとして2007年に公開されました。
GPLの「プログラムに基づく著作物」という用語に加えて、LGPLバージョン2では「ライブラリに基づく著作物」と「ライブラリを使用する著作物」という2つの用語が追加されました。[ 4 ] LGPLバージョン3ではこれらの用語が部分的に削除されました。
GPLとLGPLの主な違いは、LGPLでは、作品がGPLファミリーライセンスや他のライセンスの下でライセンスされているかどうかに関わらず、非(L)GPLプログラムにリンク(ライブラリの場合は「使用」)されることが認められていることです。[ 5 ] LGPL 2.1では、非(L)GPLプログラムは派生作品でない限り、どのような条件でも配布できます。派生作品である場合、プログラムの条件では「顧客自身の使用のために作品を変更すること、およびそのような変更をデバッグするためにリバースエンジニアリングを行うこと」が許可されていなければなりません。LGPLプログラムを使用する作品が派生作品であるかどうかは法的な問題です。.so 、.dll 、または同様の媒体を介してライブラリに動的にリンクするスタンドアロンの実行ファイルは、LGPLで定義されている派生作品ではないと一般的に認められています。これは「ライブラリを使用する作品」の定義に該当します。LGPLバージョン2.1の第5項には次のように記されています。
基本的に、「ライブラリを使用する著作物」である場合、当該ソフトウェアはLGPLの対象となるプログラムの新しいバージョンとリンク可能でなければなりません。そのために最も一般的に用いられる方法は、「リンクのための適切な共有ライブラリ機構」を使用することです。あるいは、ソースコードまたはリンク可能なオブジェクトファイルのいずれかが提供されていれば、静的にリンクされたライブラリも許可されます。 [ 6 ]
フリーソフトウェア財団のソフトウェア ライセンス リストでは、多くのオープン ソース ライセンスとの互換性について説明しています。
LGPLの特徴の一つは、LGPLの下で提供されたソフトウェアをGPLの下でサブライセンス[ 7 ]できるという点です(LGPLバージョン2.1の第3条、およびLGPLバージョン3の第2条オプションbを参照)。この機能により、LGPLのコードをGPLのライブラリやアプリケーションで直接再利用することが可能になります。[ 8 ]
LGPLバージョン3は、GPLバージョン2と本質的に互換性がありません。ただし、GPLバージョン2を使用し、GPLのより新しいバージョンの使用を許可した作品は互換性があります。[ 9 ] GPLv2「またはそれ以降のバージョン」の下でリリースされた作品は、LGPLバージョン3ライブラリのコードと組み合わせることができ、組み合わせられた作品全体はGPLv3の条項の対象となります。[ 8 ]
すべてのLGPLバージョンはExpatライセンスおよびX11ライセンス(MITライセンス)と互換性があります。これは、すべてのGPLバージョンが互換性があり[ 10 ] [ 11 ]、LGPLはGPLよりも多くの権利を与えるためです。
LGPL 3.0はApache License 2.0と互換性があります。[ 12 ] LGPL 2.0とLGPL 2.1はApache License 2.0と互換性がありません。[ 12 ]ただし、ライセンス条件がLGPL-2.0以降またはLGPL-2.1以降のいずれかである場合は、互換性があるとしてLGPL 3.0を選択できます。
すべてのLGPLバージョンはApacheライセンスバージョン1.0および1.1と互換性がありません。[ 13 ] [ 14 ]
GNUライブラリ一般公衆利用許諾書(GNU Library General Public License)という旧称は、FSFがすべてのソフトウェアライブラリにLGPL、プログラムにGPLの使用を推奨しているという印象を与えました。1999年のエッセイ「なぜ次のライブラリには劣等GPLを使うべきではないのか」の中で、リチャード・ストールマンは、 LGPLは廃止されていないものの、GPLの使用はフリーソフトウェア開発者に有利に働く可能性があるため、すべてのライブラリにLGPLを使用する必要はないと説明しています。[ 5 ]
このライセンスは、主にC言語またはそのファミリーで書かれたアプリケーションを念頭に置いた用語を使用しています。Allegro Common Lispの開発者であるFranz Inc.は、Lispの文脈における用語を明確にするために、独自の前文を公開しました。この前文を持つLGPLは、LLGPLと呼ばれることもあります。[ 15 ]
さらに、Ada にはgenericsという特別な機能があり、これによりGNAT Modified General Public License (GMGPL)の使用が促される可能性があります。つまり、コード自体が GPL の対象にならなくても、GMGPL の対象のユニットにリンクしたり、インスタンス化したりすることが許可されます。
C++のテンプレートとヘッダーのみのライブラリは、 Adaのジェネリックと同じ問題を抱えています。LGPLバージョン3では、第3項でこのようなケースに対処しています。[ 16 ]
LGPLライセンスのコードに含まれるオブジェクト指向クラスを非(L)GPLコードに継承することの妥当性について、懸念の声が上がっています。GNUの公式ウェブサイトでは、この点について以下のように説明されています。