LGPLなライブラリを使ってアプリを開発し、配布したい
LGPLv3なライブラリFooを使ってアプリを開発した。
開発したアプリを配布したい。(開発したのはFooを利用したライブラリではなく、Fooを利用したアプリである。)
配布するときに、自分で開発したアプリと共に、そのライブラリ(foo.jar)も一緒に配布したい。
ライブラリFooは自分で改変していないものとする。
守らなければいけないことは何か。
GNU LGPLv3 日本語訳
GNU GPLv3 日本語訳
以下の理解であっているんだろうか・・・
用語との関係
LGPLの用語 | 本ケースでの該当物 |
---|---|
『ライブラリ』(The Library) | ライブラリFoo |
『アプリケーション』(Application) | 自分で開発したアプリ(自分で作った部分) |
『結合された作品』(Combined Work) | 自分で開発したアプリ(ライブラリFooとあわせた総体)=配布しようとしているモノ |
守らなければいけないこと
- 配布物に含まれるライブラリFooの改変を許す
- (自分で作った部分も含め?)リバースエンジニアリングを許す
- ライブラリFooを使っていること、ライブラリFooがLGPLv3で保護されていることを配布物内で目立つように告知
- 配布物にGNU GPLとLGPLv3文書を添付
- アプリ実行中にコピーライト告知を表示するときには、ライブラリFooの著作権の告知と、GNU GPL/LGPLv3文書の所在(配布物に添付された文書が配布物中のどこにあるかということ?)を表示
以上は、LGPLv3の4章冒頭の段落と、a),b),c),e)に対応。
d)については、ライブラリの結合の仕方に依存するものだが、JavaのJARによるライブラリ利用の仕組みはd-1)に該当するといえそう。JARを使う限りはd)はクリアできる。
4章e)の要求する『インストール用情報』の提供が必要かどうかが良く分からない。
提供が必要となる条件として、
またそのような情報が、『リンクされたバージョン』の改変されたバージョンと『アプリケーション』を再結合ないし再リンクすることによって作成された『結合された作品』の改変されたバージョンをインストール、実行するのに必要とされる限りにおいてのみである
とある。ライブラリFooの別バージョンに入れ替える場合に必要ならば(『インストール用情報を』提供せよ)、ということになる。別バージョンに入れ替えるにはfoo.jarを置き換えるだけでよく、それ以外に必要な情報はない。foo.jarの置き換え方法の説明を提供する必要がある、ということなのだろうか。
LGPLv3がGPLv3に対する差分(追加の許可)として定義されているため、foo.jarを一緒に配布することに関して、GPLv3の6章の条件を守る必要があると思われる。
- ライブラリFooのソースの提供
提供方法についてはGPLv3の6章のとおり複数の選択肢がある。必ずしも配布物に含める必要はなさそう。
許可されていること
「守らなければいけないこと」を守る限りは何でも?
LGPLv4の4章
あなたは、『結合された作品』に含まれる『ライブラリ』部分の改変を事実上禁止したり、そのような改変をデバッグするためのリバースエンジニアリングを禁止したりしない限り、『結合された作品』をあなたが選択したいかなる条件の下でも複製、伝達して構わない。ただしその場合、以下をすべて行う必要がある:
したがって、以下は可能と思われる。
- 有償で配布すること (GPLでも許可されている。(GPLv3 4章))
- ライブラリFooの除く部分(自分で作った部分)について、
- 再配布を禁止すること
- ソースを非公開とすること
- 改造を禁止すること
参考: The LGPL and Java - GNU Project - Free Software Foundation