Oracleは、Javaを管理下に置くため、さらにはJavaの特許権を手に入れるためにSunMicroSystemsを買収した。その際にOracleが視野に入れていた大企業の1つはGoogleで、Googleが所有するAndroid向けのJavaに似たプログラミング言語(およびDalvik VM)は特許違反と著作権法侵害で告訴された。GoogleのリポジトリにOracleのテストスイートから取ったテストコードが発見されたこともあったのだから、それも仕方がないだろう。
この論争はしばらく続いている。最初は132個の申し立てに焦点が合わせられていたものが、 3つの申し立てにまで削減され、そして更に後にわずか2つの特許に削減された。そのうちの1つは2012年12月に特許権が切れる。
先月、裁判官のPaul Grewal氏は交渉によって解決をするよう 両企業に要求した。 Googleは、Oracleが特許権の侵害を証明できた場合を条件とし、280万ドルの和解金を提示した。しかしながらOracleはこの提示を和解金額が少なすぎるとして受け入れなかった。
和解金の総額は、Androidの収入のうち、2012年末(RE38104 の特許権が失効する時)までの0.5%と、2018年4月( 6061520 の特許が失効する時)までの0.015%から導きだされた。ちなみに、RE38104はすでに米国特許商標局により無効とされているのだが、Oracleは上告する模様だ。
この訴訟の最後の特許である – 6061520 – は米国特許商標局により有効であると見なされた。両企業が和解に到達できなかったため、今後の訴訟では、OracleがAndroidによる特許侵害の立証を目指し、そしてそれが証明された場合、法廷に損害額を判断するよう要求するであろう。 その特許権は、静的配列を初期化する際のパフォーマンスを向上させるためのシステムをカバーしている。
発表されたシステムは、静的配列を初期化する際に従来用いられてきたシステムを改善するもので、静的に配列を初期化する際に仮想マシンによって実行されるコードの量を削減する。これを実現するため、クラスファイルを統合する際に、プリローダーは全てのメソッドを識別する。そして、これらのメソッドを実行することで、それらのメソッドで静的初期化が実行されるかを判断する。その後、プリローダーは、メソッドによって実行される静的初期化を指し示す式を作り、この式をメソッドの代わりに.mclassファイルに保存する。こうして、多くの命令を含むメソッドのコードは、仮想マシンに静的初期化の実行を命令するただ1つの式によって置き換えられる。その結果、かなりのメモリを節約することができるのだ。また、仮想マシンは、この式を識別して配列の静的初期化を正しく実行するために改良されている。
裁判所に提出された資料を読むと、他にも興味深いことがわかる。Googleは2008年から2011年の間でAndroidによって 5億5千万ドルの収入を得たと主張していることが明らかになるのだ。これが意味することは、2011年末までに使用された2億台のAndroidデバイスによってGoogleは1台のAndroid携帯電話につき年間で10ドル強の売り上げを得たということだ。しかしながら昨年の10月、Googleは電話会議において、Googleの提供するモバイルプラットフォームは、iOS向けのGoogleマップも含め、25億ドルの価値があると示唆していた。Androidによる収入を差し引くと、20億ドルをやや下回る額が残る。その20億ドルは、iOSプラットフォーム向けのAppleへのマップデータのライセンス料といったような他の収入源から発生するものだ。
訴訟は4月16日から始まり、8週間続くと予想される。