LGPLの概要

LGPL(GNU Lesser General Public License)は、ビジネスでのフリーソフトウェア利用を妨げない事を目的に考案されたライセンス形態で、当初は“GNU Library General Public License”と呼ばれていました。

これは、コンパイラなどでリンクして利用するライブラリなど、他のプログラムと組み合わされて利用される場合を主に想定していた為ですが、必ずしもライブラリに限定されたライセンスという訳ではないので、”GNU Lesser General Public License”と現在では名前が変わっています。

LGPLの概要

LGPLは、他のソフトウェアと組み合わされて実行されたり配布されたりするソフトウェアを対象に、GPLに準ずる形式でソフトウェアなどの著作物の利用を許諾するライセンス形態として、Free Software Foundation(FSF)によって考案されました。GPLと違い再配布の保証やソースコードの開示等の制約がなく、LGPLでは、LGPLライセンスのソフトウェアと一緒に配布されるソフトウェアについては、LGPLの制約は受けないという条項が設けられている点が最大の特徴です。

LGPLとリンク形式

LGPLの場合、LGPLを含むライブラリの利用形式で対応方法が変わってきます。

ライブラリのソースコードを含む(work based on the library)場合
ソースコードを含めてLGPLに従う必要があり、ソースコードの開示等が義務となります。

ライブラリを利用する(work that uses the library)場合
LGPLのソースコードを含まず、ライブラリ等のバイナリを利用するだけの場合は、LGPL部分以外は、他のライセンス形式をとる事ができソースコードの開示等は義務となりません。なお、わずかな部分(数値パラメータ、データレイアウト、小さいマクロ、小さい関数)のみを利用するだけの場合も、LGPLに従う必要はないとされています。

上記の様に扱いが少し難解なLGPLですが、静的リンクとして利用した場合は、全てLGPLの規約に従う必要があり、動的リンクとして利用した場合は、LGPL以外の部分は、LGPLの適用外との解釈もあります。

LGPLの注意事項

実際に、LGPLのソースコードを作成する際の注意事項をまとめておきます。

【義務】
・著作権情報の表示
・変更箇所の明示
・ソースコードの開示

【許可】
・商用利用
・修正および(再)配布
・サブライセンス
・バイナリのリバースエンジニアリング

【その他】
・無保証(ソースコード作成者の免責)

LPGLの場合、配布物にライセンスの本文を含める必要があります。ソースコードがLGPL下であればソースコードを含めて配布あるいは開示し、該当部分がLGPL下にあることを明示する著作権表示機能がある場合、LGPLの著作権表示を含めなければなりません。

組み込みマイコン特有の問題

LGPLのリソースを組み込みに利用した場合、パソコン上で動作するソフトウエアと違い少々複雑です。

・動的リンクの場合、組込みでもオリジナルコードの部分はどんなライセンスでもよいと考えられます。また、共有ライブラリ機構を用いた場合、リバースエンジニアリングを許可すれば、配布可能と考えられます。

・組込みで共有ライブラリ機構を利用するといっても、Flash等の記憶領域に区別困難な形でリンクされており、後からユーザがプログラムを追加する事は実質的に困難と言える。それ故、共有ライブラリ機構とは認められない可能性もあり、オブジェクトコードを公開しなければならない可能性がある。

組み込みOS上で動作するアプリケーションなどは、パソコン上で動作するソフトウエアと同様に判断する事が出来そうです。ただしOSレスあるいは独自OSでLGPLリソースを利用する場合は、判断が難しくなります。

以上、LGPLの制約等を見てきましたが、商用利用する場合は、法務部門などと打ち合わせをして、ケースバイケースの対応をする必要があると言えるでしょう。

→その他のRapid Prototyping関連情報

Sponsored Link