Android アプリに LGPL ライブラリを組み込むとソースコード開示義務が発生するらしい
オープンソースライセンスの中でも、GPL ライセンスはソースコード開示義務があるため扱いにくいライセンスです。業務であればまず GPL ライセンスのライブラリは利用できません。
一方、LGPL(Lesser General Public License) ライセンスのライブラリは、一定の条件の元でソースコードの開示義務を負わないため、業務利用も可能となります。
ですが、Android アプリで LGPL ライセンスのライブラリを組み込むと、必ずソースコードの開示義務を負うとのこと。これを知らないとかなり危険ですね(追記あり・後述)。
詳しくは以下のスライドをご参照ください。
---
2012.1.27追記
この件について詳細に調べていた方がいたようです。結論としては Android アプリでは(L)GPLの影響は避けられないとなっています(リンクする場合。インテントする場合は別)。
一方で問題ないという解釈をされる方もいたので、togetter でまとめてみました。
ライセンスをどのように解釈するかという問題ですので難しいですね。
ただ、業務用途で利用する場合、問題がある可能性があればそれはリスクになるので、結局 Android アプリで LGPL ライセンスのライブラリは利用しないことになるのではないかと思います。 ←状況による
---
2012.1.27追記2
リンクするのではなくインテントなどで LGPL ライブラリを利用すれば問題ないとのご指摘をいただきました。詳しくはコメント欄をご参照ください。
---
2012.1.27追記3
Android NDK を使った場合は動的リンクも可能になるので、Android アプリ全体のソースコード公開義務は負わなくてすむようです。
また、LGPL ライブラリの中には例外規定を設けることで、リンクしてもソースコード開示義務を回避しているものもあります。
例として、LGPL ライセンスで公開されている AndEngine があります。
as the license-questions keeps popping up again and again let me clarify about AndEngine and the LGPL:
While AndEngine itself is licensed under the LGPL, you do NOT have to make your actual game-code available under the LGPL!
AndEngine » AndEngine and the LGPL – clarification! - Android Game Engine
ですので、Android アプリに LGPL ライブラリを組み込むと一律にソースコード開示義務が発生する訳ではなく、実装方法、ライブラリの個別ライセンス、配布方法などによって変わってくると考えるのが妥当なようですね。
スポンサーリンク
Twitter ではブログにはない、いろんな情報を発信しています。
@fnyaさんをフォロー
LGPLの定義する「ライブラリ」は、静的リンクや動的リンクなどといった一部のプラットフォーム上だけでしか意味をなさないような実装上の都合には依存していません。
もちろん、LGPL 3.0を使うと、DRMはDRMとみなされなくなるので、DRMの解析を禁じた国際条約とその加盟国の法律には引っかからなくなりますがね。
まあ、これはそもそも、自分のデバイスで実行されているコードの動作の確認を禁じるなどということが、フリーなソフトウェアの思想からして相容れないものだから、当然でしょう。
投稿: | 2012/01/27 06:39
jarで使うって前提でLGPLじゃない。
LGPL のアプリはその部分単独でビルドしてintentかソケットで使うか。
或いはsoでビルドして添付すればいいだけ、
スライド作った人の知識不足&自己完結しすぎば
投稿: | 2012/01/27 06:53
コメントありがとうございます。
LGPL で公開しているライブラリを解析されないようにしようという意図がそもそも間違っているという感じでしょうか。
また、インテントなどでの利用については追記にあるブログでも記述がありましたが、LGPL ライブラリから独立させて利用する方法もあるようですね。
私には理解しきれてない部分がありますが、スライドの内容はいいきりすぎてるのかもしれませんね。
投稿: fnya | 2012/01/27 13:13
恐らく、Android OS に含まれる LGPL な jar を利用する場合、これにあたります。
フリーではないライブラリを利用するフリーソフトウェアを書いているのですが、GPLを適用した場合どのような法的問題が発生するでしょうか?
http://www.gnu.org/licenses/gpl-faq.ja.html#TOCWritingFSWithNFLibs
jar を含んだ形でコンパイルするようなことがなければ、何も考えなくていいということじゃないかなと。
投稿: のらねこ | 2012/01/29 00:40
スライドを取り上げていただいてありがとうございます。
内容が叩かれているのが残念ですが、ひと通り読んでいただけているということなのでうれしいです。
スライドの内容はjar形式で提供されているLGPLv3のライブラリをAndroidで使用する場合の話なので、LGPLのライブラリを使用すると必ずソースコードの公開が必要となるわけではありません。
誤解が生まれてしまうといけないので、もう少し掘り下げた内容を当方のブログに投稿しましたので読んで頂ければ幸いです。長文且つ読み辛いと思いますがご容赦ください。
コメントにある「LGPL 3.0を使うと、DRMはDRMとみなされなくなる」は非常に興味深い内容なので、誰か掘り下げて説明いただけると嬉しいです。
投稿: 本田 | 2012/05/15 23:03
>>本田さん
コメントありがとうございます。
このエントリーをあげた時はあまりの反響の大きさにびっくりしてしまいましたが、オープンソースのライセンスをまだまだ理解しきれていないことが分かり勉強になりました。
ご紹介のあった記事を読ませていただきましたが、全部を理解することはできませんでしたが Android アプリで LGPL ライセンスライブラリを利用する場合は条文も含め検討が必要なことは理解できました。
折角の記事ですので、以下のエントリーで紹介させていただきました。
Android アプリと LGPLライセンスその後
https://fnya.cocolog-nifty.com/blog/2012/05/android-lgpl-db.html
まだ理解が及んでない部分もありますが、今後ともよろしくお願いいたします。
投稿: fnya | 2012/05/17 21:49
叩いたつもりはないんですが(汗
気にしなくても大丈夫じゃない?ってことで。企業でも個人でも自由に配布したいですよね、とか思います。
投稿: のらねこ | 2012/05/23 23:36