Entries

LGPLとAndroidのジレンマ

仕事でAndroid開発してるわけだけど、ここでLGPLのライブラリを使おうかどうかという検討事項ができた。
んでまあ、下っ端から「このライセンス使っていいのかわからん」みたいなこと言われたわけなんですよ。
「そんなんライブラリ改変しないでリンクするだけなんだから、ソース公開義務もないし、いいよ使っちまえ!」
って感じで軽く流してたわけですが、よくよく調べてみるとAndroid特有の問題点が出てきた。

そもそもLGPLって何よ?って話なんだけど、細かい点は置いといて超おおざっぱにようやくすると下記な感じ。

1.誰でも使っていいよ
2.使う場合はルールに則ってね
3.アプリに組み込むならソース公開必要だよ
4.動的リンクするならソース公開いらないよ

んまあ、こんな感じ。
リバースエンジニアリングの許諾とかもあるけど、まあその辺はほっとく。

んでだ。
重要なのはこれ。

「4.動的リンクするならソース公開いらないよ」

自分の解釈じゃdllロードする感覚で、外部ライブラリ参照して使えばおkなんじゃね?って思ってたんだけど、どうもAndroidはそのようなことが難しい。
Androidはapkファイルにライブラリも含めて全て組み込まれているわけで、動的リンクと言えるのかどうかびみょう。
そもそも動的リンクが動的リンクたる最大の理由が

「アプリのリビルド無しにライブラリの差し替えのみで機能変更できる」

ってところにあるので、外部ファイルの変更でアプリ動作を変更できないAndroidアプリは、動的リンクしてるとは言えないわけだ。
一般的なjavaVMだったらjar差し替えでOKなので、外部リンクと同等扱いでいいみたいだけど、Androidはjar差し替えでapkの内容差し替え出来るよー・・・ってことにはならないため、やっぱLGPLに抵触でソース公開が必須になってしまう。
誠に残念な結果である。

Androidのポリシーがどんなのかは知らないけど、原則として動的リンクを認めないのは、アプリの独立性を高める効果があるので安定性はあがるけど、反面既存ライセンスとの絡みで面倒なことが起こっているということなんでしょうな。
このへんはLGPLができた背景や理由と相反する部分なので、どうにかして解消してほしいと望む。

現状(2013/06/18)はLGPLライブラリを内包するsoライブラリ作成して、ソースを公開する。
java側はNDK経由でsoライブラリを参照してソースを隠ぺいするって逃げ道しかないかな・・・。
なんとも歯がゆい。

参考にしたサイト
LGPLとAndroid
関連記事
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://frommii.blog28.fc2.com/tb.php/1019-dac43373
当ブログへのトラックバックは記事もしくはブログトップへのリンクが必要となります。
また、当ブログへのリンクの無いトラックバックは削除する事があります。あらかじめご了承ください。

0件のトラックバック

0件のコメント


コメントの投稿

現在"http://"を投稿規制しております。URL記入の際はhttpを抜きにしてご記入ください。
投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

Appendix

プロフィール

Mii

Author:Mii
Odinサーバーで活躍中のミスラです。
狩シ赤と60まで上げてきましたが、どうやら赤魔が性に合っているようです。

ツイート

OdinLinks

月別アーカイブ

06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10

全記事一覧表示

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

ブログ内検索