「LGPLは動的リンクなら自社コードを公開しなくていい」——よく聞く整理ですが、“動的リンクすればOK”だけでは不正確です。LGPLの肝は「利用者がライブラリを差し替えられること(再リンク保証)」にあります。
LGPLは「弱いコピーレフト(ライブラリ単位)」
LGPL(GNU Lesser General Public License)は、ライブラリ部分にはコピーレフトを及ぼすが、それを利用する専有アプリ本体には及ぼさないように設計されたライセンスです。だから専有製品でも使いやすい——ただし条件があります。
専有アプリを非公開のまま配布する条件
- 動的リンクでLGPLライブラリを利用する
- 利用者がライブラリを改変・差し替えて再リンクできる手段を提供する(LGPL-2.1 第6条)
- LGPLライブラリ(および改変があればその改変)のソースを提供する
- ライセンス文の同梱・著作権表示の保持
これらを満たせば、自社アプリ本体のソース公開は原則不要です。
なぜ静的リンクは要注意か
静的リンクだと、ライブラリと自社コードが一体化し、利用者が「ライブラリだけ差し替える」ことが難しくなります。すると第6条の再リンク要件を満たしにくく、対応のため自社オブジェクトの提供など追加対応が必要になることがあります。そのため、専有製品では動的リンクが安全というのが実務の定石です。
LGPL-3.0 で加わる注意
LGPL-3.0 は GPLv3 由来の条項が乗るため、特許条項や、消費者向け製品でのインストール情報の提供(反Tivoization)に留意が必要です。組込み製品では特に確認しましょう。
チェックリスト
- LGPLライブラリは動的リンクか
- 利用者が再リンクできる手段を用意したか
- ライブラリ(+改変)のソース提供手段はあるか
- ライセンス文・著作権表示を保持したか
- (LGPL-3.0)特許・インストール情報の論点を確認したか
実際の結合形態の評価は製品ごとに異なります。判断に迷う場合はご相談ください。