Javaを巡っては、米オラクル(Oracle)と米グーグル(Google)が何年にもわたって裁判で争っている。複数の争点があるが、最大の争点は「Java APIの著作権」である。Javaが抱える問題を取り上げるこの特集の最後に、両社が争っている裁判の経緯と意味をまとめておこう。

 オラクルは2010年1月、Javaの開発元である米サン・マイクロシステムズ(Sun Microsystems)の買収を完了した。そして同年8月、買収により取得したJava関連特許とJava APIの著作権(実際にはごく短いコードの著作権を含む)をグーグルが侵害しているとして、米カリフォルニア州連邦地方裁判所に提訴した。具体的には、グーグルが提供するモバイル機器向けプラットフォーム「Android」がJavaの特許と著作権を侵害しているとした。

取り残されたAndroid
 なぜAndroidが問題になったのか。それは、かつて存在していた「Apache Harmony」というオープンソースのJava実装をAndroidが採用していたことに起因する。

 Javaは、JCP(Java Community Process)というコミュニティが仕様を策定している。JCPは複数の企業が参加するオープンなコミュニティだ。

 JCPで決まった仕様に沿って、各社がJavaを実装する。そうした実装に対してサンが互換性試験を実施し、パスすると「Java」を名乗ることができた。

 こうしたJava実装をオープンソースで開発しようという流れが2005年に生まれた。それがApache Harmonyプロジェクトだ。米IBMや米インテル(Intel)といった企業が参加していた。ライセンスとしてはApache Licenseを採用していた。

 これに対し、サンもオープンソースのJava実装のプロジェクトを2006年に立ち上げる。「OpenJDK」だ。ライセンスとしてソースコードの公開を義務付けられるGNU General Public License(GPL)を採用している。

 ところが、サンとHarmonyプロジェクトの間で2007年、テクノロジー互換キット(TCK:Technology Compatibility Kit)の利用を巡る問題が発生する。TCKは、Java実装がJavaの仕様に準拠しているかどうかを確認するものだ。サンは、GPLを採用する実装にしかTCKの仕様を許さないとしたため、Apache Licenseを採用するHarmonyでは利用できなくなった。これをきっかけにHarmonyは、事実上サンの影響下にあったJCPと激しく対立するようになる。

http://tech.nikkeibp.co.jp/atcl/nxt/column/18/00294/052200005/