許可・条件・制限の一覧
条件
- 著作権・ライセンス表示配布時にライセンスの写しと著作権表示を含めなければならない。
- ソース公開配布時にソースコードを提供しなければならない。
- 変更点の明示原本を改変した場合はその旨を示さなければならない。
- 同一ライセンス(ライブラリ単位)ライブラリの改変部分は同じライセンスでなければならないが、それを利用するプログラムには適用されない場合がある。
制限
- 責任の制限損害について責任を負わないことを明示する。
- 無保証いかなる保証もしないことを明示する。
許可・条件・制限の分類の出典: choosealicense.com(GitHub、MIT ライセンス)のデータ。
どんなライセンスか
LGPL-2.1 は FSF が1999年2月に公開しました。以前の名称は「GNU Library General Public License」(2.0)で、2.1 で「Lesser」に変わりました。LGPL-3.0 とは異なり、独立した完全な文書です。GNU C ライブラリ(glibc)が LGPL-2.1-or-later を採用しており、FFmpeg はデフォルト構成が LGPL-2.1-or-later です(一部のオプション構成要素は GPL)。
このライブラリを利用するプログラム(第5・6条)
ライブラリとリンクして動作するように作られたプログラム(「ライブラリを利用する著作物」)は、ライブラリの派生物ではないものとして扱われ得ます。結合された実行ファイルは、第6条の条件を守れば任意の条件で配布できます。
- ライブラリが使われていて LGPL が適用される旨の表示と、ライセンスの写しを含めます。
- 利用者がライブラリを改変して再リンクできるよう、ソースやオブジェクトファイルを提供するか、共有ライブラリの方式を使います。
- 改変部分をデバッグするためのリバースエンジニアリングを許可しなければなりません。
GPL に切り替える条項(第3条)
LGPL-2.1 は、ライブラリの複製物に LGPL の代わりに GPL 第2版(または希望すればそれ以降の版)の条件を適用することを認めています。そのため LGPL-2.1 のコードは GPL-2.0・GPL-3.0 のどちらのプロジェクトにも入れられます。一度 GPL に切り替えた複製物は、再び LGPL に戻すことはできません。
よくある誤解
- 「LGPL-2.1 は古いので使えない」 — 今でも有効で、広く使われています。ただし、特許条項とインストール情報の条項はありません。
- 「LGPL-2.1 のコードを LGPL-3.0 のプロジェクトにそのまま入れられる」 — 「or later」ではない LGPL-2.1-only のコードであれば、結合物を LGPL-3.0 に引き上げることはできません。第3条を利用して GPL-3.0 の結合物として配布する方法はあります。
- 「ライブラリ内のヘッダーを使うだけで全体が LGPL になる」 — 原文第5条は、ヘッダーの小さなマクロやインライン関数(10行以下)の使用などを例外としています。境界は解釈が必要な領域です。
適用方法
原文を COPYING.LIB または LICENSE にそのまま置き、各ファイルに公式告知文を付けます。SPDX 識別子は LGPL-2.1-only または LGPL-2.1-or-later です。
こんな場合に向いている
GPL-2.0 のエコシステムとも互換性が必要な既存の C ライブラリや、すでに LGPL-2.1 で公開されたプロジェクトの派生物に合います。新しいライブラリであれば、特許許諾のある LGPL-3.0 や MPL-2.0 をまず検討することが多いです。
LGPL-2.1 のコードを他のプロジェクトに組み込めるか?
このライセンスで公開されたコードを取り込み、下記ライセンスのプロジェクトに組み合わせて配布する場合の一般的な判定です。 互換性チェッカーで他の組み合わせを見る →
| 組み込み先のプロジェクト | 判定 | メモ |
|---|---|---|
| 非公開(商用)ソフトウェア | 条件付きで可能 | ライブラリとしてリンクして使うことは可能ですが、利用者が LGPL 部分を差し替え・再リンクできるようにし、LGPL 部分のソースを提供する必要があります。コードをコピーして混ぜると、結合物全体が (L)GPL の条件に従う必要があります。 |
| MIT | 条件付きで可能 | ライブラリとしてリンクして使うことは可能ですが、利用者が LGPL 部分を差し替え・再リンクできるようにし、LGPL 部分のソースを提供する必要があります。コードをコピーして混ぜると、結合物全体が (L)GPL の条件に従う必要があります。 |
| Apache-2.0 | 条件付きで可能 | ライブラリとしてリンクして使うことは可能ですが、利用者が LGPL 部分を差し替え・再リンクできるようにし、LGPL 部分のソースを提供する必要があります。コードをコピーして混ぜると、結合物全体が (L)GPL の条件に従う必要があります。 |
| MPL-2.0 | 条件付きで可能 | ライブラリとしてリンクして使うことは可能ですが、利用者が LGPL 部分を差し替え・再リンクできるようにし、LGPL 部分のソースを提供する必要があります。コードをコピーして混ぜると、結合物全体が (L)GPL の条件に従う必要があります。 |
| LGPL-3.0 | 条件付きで可能 | LGPL-2.1 は、そのコードを GPL-2.0 以降のいずれかの GPL バージョンに切り替えて配布することを認めています(第3条)。 |
| GPL-2.0 | 条件付きで可能 | LGPL-2.1 は、そのコードを GPL-2.0 以降のいずれかの GPL バージョンに切り替えて配布することを認めています(第3条)。 |
| GPL-3.0 | 条件付きで可能 | LGPL-2.1 は、そのコードを GPL-2.0 以降のいずれかの GPL バージョンに切り替えて配布することを認めています(第3条)。 |
| AGPL-3.0 | 条件付きで可能 | LGPL-2.1 は、そのコードを GPL-2.0 以降のいずれかの GPL バージョンに切り替えて配布することを認めています(第3条)。 GPL-3.0 と AGPL-3.0 はそれぞれの第13条で結合を認めています。結合物でも AGPL 部分のネットワーク経由のソース提供義務は残ります。 |
このサイトの内容は一般的な情報であり、法的助言ではありません。実際の配布・契約・紛争に関する判断は、弁護士などの専門家にご相談ください。