« RubyKaigi2010を前に、「RubyKaigi2009で見たRubyコミュニティの悩み、価値観、変化」を記す | Main | Androidアプリで100億円を売り上げるとぶちあげるNECビッグローブ »

Androidは、単なるJavaクローンではない

AndroidをめぐるOracleの対Google訴訟(関連エントリ)に関連して、言っておくべきことがある。

Oracleは、Androidが同社が保有するJavaプラットフォームに関連する特許と著作権を侵害している、と主張した。このことから、AndroidはJavaの「パクリ」であるかのように認識している読者がいるかもしれない。米国のニュースサイトの記事でも、「Androidはクリーンルーム実装だから云々」といった論調がある。「AndroidはJavaのクローンである」との認識があるのだろう(注記あり)。

技術的な立場からは、上記の認識は正しくないと考えられる。Android上では、Javaプログラミング言語によるアプリを開発できる。しかしAndroidは、Javaプラットフォームの単なるクローンではない。Dalvik VMは、新たなアーキテクチャに基づき再構築した新たなプラットフォームと見た方が実態に近い

例えばJRuby開発者Charles Nutter氏のBlogの追記では、Androidコア・ライブラリ開発者Bob Lee氏による指摘として「Dalvik VMの設計は純粋に技術的な理由によるもので、知的所有権を避ける意図はない」こと、「Androidはプロセス分離によるサンドボックス・モデルを採用しており、これはJavaのセキュリティ・モデルとは異なる」ことが記されている(関連エントリ)。

Androidの軸となるDalvik VMは、Linuxのプロセス・モデルを巧みに利用して、Androidの良い特徴を導き出している。例えば各アプリは独立したプロセスとして動作し、使っていないアプリは、プロセスごとkillされる。この仕組みにより、迅速で確実なメモリ解放が行われる。これは、OS独立を是とするJavaプラットフォームの発想とは異なる。より詳しくは、Twitterで専門家から教えていただいた記録が残っているので、興味がある方は参照されたい(その1その2)。

技術的な観点からは、Androidの中核であるDalvik VMが、Javaのクローンであるとは言い難いのである。単に中間コードの形式が違うというだけでなく。

もちろん、技術者の意見と法廷の見解は往々にして乖離する。だから、この訴訟の行方は注意して見守らなくてはならない。

関連リンク
JRuby開発者Charles NutterがOracleの対Google訴訟を考察、「心配するな。特許は大した内容じゃないし、OracleにはAndroidを潰す動機はない」
togetter: Androidアプリの内部動作に関する情報(1)
togetter: Androidアプリの内部動作に関する情報(2)

注記:
なお、Androidでは、Java API相当のフレームワークを提供するため、オープンソースのApache Harmonyプロジェクトの成果物を利用している。開発主体がGoogleとは異なるため、Apache Harmonyは今回の訴訟のターゲットではないと考えられる。主たる論点は「Dalvik VMがJavaプラットフォームの特許と著作権を侵害している」という主張が認められるか否か、になるだろう。

|

« RubyKaigi2010を前に、「RubyKaigi2009で見たRubyコミュニティの悩み、価値観、変化」を記す | Main | Androidアプリで100億円を売り上げるとぶちあげるNECビッグローブ »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/75235/49238881

Listed below are links to weblogs that reference Androidは、単なるJavaクローンではない:

« RubyKaigi2010を前に、「RubyKaigi2009で見たRubyコミュニティの悩み、価値観、変化」を記す | Main | Androidアプリで100億円を売り上げるとぶちあげるNECビッグローブ »