LGPL(エルジーピーエル)とは | 意味や読み方など丁寧でわかりやすい用語解説

LGPL(エルジーピーエル)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

グヌー一般公衆利用許諾契約 (グヌー イッパン コウシュウ リヨウキョダク ケイヤク)

英語表記

LGPL (エルジーピーエル)

用語解説

LGPLは、Lesser General Public Licenseの略称であり、オープンソースソフトウェア(OSS)で利用される主要なライセンスの一つである。フリーソフトウェア財団(Free Software Foundation, FSF)によって作成された。このライセンスの最大の特徴は、GPL(GNU General Public License)の理念を継承しつつも、その制約を一部緩和している点にある。特に、LGPLでライセンスされたソフトウェア、多くはライブラリやコンポーネントとして提供されるが、これらを他のソフトウェアから利用しやすくすることに主眼が置かれている。そのため、プロプライエタリソフトウェア、すなわちソースコードが公開されていない商用ソフトウェアにおいても、LGPLのライブラリを比較的容易に組み込むことが可能となる。この柔軟性から、多くの開発プロジェクトで採用されている。システムエンジニアを目指す上で、GPLと並んで必ず理解しておくべき重要なライセンスである。

LGPLの核心を理解するためには、GPLとの違いを明確にすることが不可欠である。GPLは「強力なコピーレフト」という性質を持つ。これは、GPLライセンスのコードを利用して新しいソフトウェアを作成した場合、その新しいソフトウェア全体もGPLライセンスの下でソースコードを公開しなければならないという義務を課すものである。この仕組みは、ソフトウェアの自由を連鎖的に保証する一方で、ソースコードを公開したくない商用ソフトウェアにとっては、GPLライセンスのコンポーネントを利用する際の大きな障壁となっていた。そこで、この問題を解決するために考案されたのがLGPLである。LGPLは「弱いコピーレフト」と呼ばれ、特定の条件下でGPLよりも緩やかな利用を許可する。

具体的には、LGPLでライセンスされたソフトウェア(以下、LGPLライブラリ)を、自身が開発したソフトウェア(以下、自作プログラム)から「リンク」して利用する場合の扱いがGPLと大きく異なる。リンクとは、あるプログラムが別のプログラムの機能を利用するために接続する行為を指す。このリンクという形態でLGPLライブラリを利用する限りにおいては、自作プログラムのソースコードを公開する必要はない。自作プログラムは、LGPLとは異なるライセンス(商用ライセンスや他のOSSライセンスなど)を適用することが認められる。これが、LGPLが「Lesser(より緩やかな)」と呼ばれる所以である。ただし、この場合でもいくつかの義務は発生する。利用者は、LGPLライブラリ部分をユーザー自身が改変したり、新しいバージョンに差し替えたりする自由を保証しなければならない。そのための具体的な手段として、LGPLライブラリを動的リンクで利用することや、静的リンクで組み込んだ場合には自作プログラムのオブジェクトコードを提供することなどが求められる。

一方で、LGPLライブラリのソースコード自体に直接手を入れて改変した場合は、GPLと同様のコピーレフトの原則が適用される。つまり、改変したLGPLライブラリは、そのソースコードを含めて、同じくLGPLライセンスの下で頒布しなければならない。これは、LGPLがフリーソフトウェアの理念から完全に逸脱しているわけではなく、あくまでライブラリとしての利用の自由度を高めることに焦点を当てたライセンスであることを示している。LGPLライブラリそのものの自由は、コピーレフトによってしっかりと保護されているのである。

LGPLにはいくつかのバージョンが存在し、主にLGPLv2.1とLGPLv3が知られている。LGPLv2.1は、元々「GNU Library General Public License」という名称であったが、LGPLv3で「GNU Lesser General Public License」に改称された。これは、このライセンスがライブラリ以外のソフトウェアにも適用可能であることを明確にするためである。LGPLv3は、対応するGPLv3とライセンスの互換性が確保されており、特許に関する条項が強化されるなど、現代のソフトウェア開発環境により適合するよう改訂されている。

システム開発の現場でLGPLライセンスのソフトウェアを利用する際には、いくつかの点に注意する必要がある。まず、利用しようとしているソフトウェアがどのバージョンのLGPLでライセンスされているかを確認し、そのライセンスの全文を正確に理解することが基本となる。そして、そのソフトウェアを単にリンクして利用するだけなのか、あるいはソースコードを改変して利用するのかによって、開発者が負うべき義務が大きく異なることを認識しなければならない。特に商用製品に組み込む際は、ライセンスの条件を遵守できているか、法務部門などと連携して慎重に確認することが求められる。ライセンス違反は、意図せずとも法的な紛争に発展するリスクを伴うため、正しい知識に基づいた適切な対応が不可欠である。

LGPL(エルジーピーエル)とは | 意味や読み方など丁寧でわかりやすい用語解説 | いっしー@Webエンジニア