2012/01/26

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 ではブログにはない、いろんな情報を発信しています。


コメント

LGPLの定義する「ライブラリ」は、静的リンクや動的リンクなどといった一部のプラットフォーム上だけでしか意味をなさないような実装上の都合には依存していません。

もちろん、LGPL 3.0を使うと、DRMはDRMとみなされなくなるので、DRMの解析を禁じた国際条約とその加盟国の法律には引っかからなくなりますがね。
まあ、これはそもそも、自分のデバイスで実行されているコードの動作の確認を禁じるなどということが、フリーなソフトウェアの思想からして相容れないものだから、当然でしょう。

jarで使うって前提でLGPLじゃない。
LGPL のアプリはその部分単独でビルドしてintentかソケットで使うか。
或いはsoでビルドして添付すればいいだけ、
スライド作った人の知識不足&自己完結しすぎば

コメントありがとうございます。

LGPL で公開しているライブラリを解析されないようにしようという意図がそもそも間違っているという感じでしょうか。

また、インテントなどでの利用については追記にあるブログでも記述がありましたが、LGPL ライブラリから独立させて利用する方法もあるようですね。

私には理解しきれてない部分がありますが、スライドの内容はいいきりすぎてるのかもしれませんね。

恐らく、Android OS に含まれる LGPL な jar を利用する場合、これにあたります。
フリーではないライブラリを利用するフリーソフトウェアを書いているのですが、GPLを適用した場合どのような法的問題が発生するでしょうか?
http://www.gnu.org/licenses/gpl-faq.ja.html#TOCWritingFSWithNFLibs

jar を含んだ形でコンパイルするようなことがなければ、何も考えなくていいということじゃないかなと。

スライドを取り上げていただいてありがとうございます。
内容が叩かれているのが残念ですが、ひと通り読んでいただけているということなのでうれしいです。
スライドの内容はjar形式で提供されているLGPLv3のライブラリをAndroidで使用する場合の話なので、LGPLのライブラリを使用すると必ずソースコードの公開が必要となるわけではありません。
誤解が生まれてしまうといけないので、もう少し掘り下げた内容を当方のブログに投稿しましたので読んで頂ければ幸いです。長文且つ読み辛いと思いますがご容赦ください。

コメントにある「LGPL 3.0を使うと、DRMはDRMとみなされなくなる」は非常に興味深い内容なので、誰か掘り下げて説明いただけると嬉しいです。

>>本田さん

コメントありがとうございます。

このエントリーをあげた時はあまりの反響の大きさにびっくりしてしまいましたが、オープンソースのライセンスをまだまだ理解しきれていないことが分かり勉強になりました。

ご紹介のあった記事を読ませていただきましたが、全部を理解することはできませんでしたが Android アプリで LGPL ライセンスライブラリを利用する場合は条文も含め検討が必要なことは理解できました。

折角の記事ですので、以下のエントリーで紹介させていただきました。

Android アプリと LGPLライセンスその後
http://fnya.cocolog-nifty.com/blog/2012/05/android-lgpl-db.html

まだ理解が及んでない部分もありますが、今後ともよろしくお願いいたします。

叩いたつもりはないんですが(汗
気にしなくても大丈夫じゃない?ってことで。企業でも個人でも自由に配布したいですよね、とか思います。

コメントを書く



プロフィール

  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。現在は趣味SE。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。

    現在、Enty で支援を受け付けています。もしよければご支援ください。



    >>ブログ詳細
    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから