今回はLinuxには直接の関係は少ないものの、Linuxを含むオープンソースの世界に大きな影響を与えそうな時事ネタを取り上げてみたい。
ご存知の読者も多いと思うが、5月31日(米国時間)、カリフォルニア州米連邦地方裁判所はJavaのパテントをめぐるOracle vs. Googleの一連の訴訟において、大きな区切りとなる判断を下した。同裁判所のAllsup判事は「GoogleがAndroidで使用している37件のJava APIは著作権違反に当たらない」と両社に言い渡したのである。事実上のOracleの敗訴となったこの判決、今後のOSSやプログラミングの世界にどんな余波をもたらすのだろうか。
まずはこの裁判の流れを簡単に整理しておこう。2009年、OracleはSun Microsystemsを買収、これに伴いJavaはOracleが管理するプロダクトとなる。買収当初はOracle色が強くなることを懸念していたJavaコミュニティやユーザも、思った以上にコミュニティの意志を尊重するOracleの姿勢を高く評価、2011年にはOracleブランドのもとで最初のJava SDK「Java 7」がリリースされたことは記憶に新しい。
OracleはJavaを取り巻くさまざまなステークホルダー - コミュニティ、顧客企業、パートナー企業、ライバル企業までに対しても、「え、なんか(Oracleにしては)ずいぶん腰が低いんじゃない?」と思わせるほど気を遣ってきた。それはおそらく、JavaがSunだけではなく、業界全体で育ててきた資産であることを理解していたからだろう。「OracleだけでJavaを好きにするようなことはしないから、みんなのJavaだから、だからOracleで管理することを認めてね」と、それはそれは(Oracleにしては)丁寧に、回を重ねて説得してきた感すらある。ライバルのIBMやSAPもこれに対しては異論を唱えることはなかった。
だがそんなOracleの気遣いなど「関係ないもんねー」とばかりに華麗にスルーしつづけたのがGoogleである。Googleの開発するAndroidに搭載された仮想マシン「Dalvik」はJava VMにそっくりだが、Sun由来のコードは1行も含まれていないとされている。Androidの上で動くアプリはもちろんJavaで開発されたアプリだが、仮想マシンはOracle製ではないから、Androidスマホがいくら売れようともOracleには一銭も入ってこない。これはどうにもOracleには腹ただしい事実である。かのJames Goslingは「Sunにはソフトウェア訴訟というDNAは存在しなかった」とあとから振り返っているが、Oracleの弁護士たちはSun買収が確定する前からこの事実に目を付けており、かなり念入りに訴訟の準備をしていた節がある。
Oracleは2010年8月、「AndroidはJavaの著作権と特許を侵害している」として訴えを起こした。その数、7つのパテントに絡む168件。もっとも後に無効とされたり「訴えている数が大杉」として減らされたりするなど、最終的には2つのパテント/37件まで減らされている。Oracleの弁護士は「Oracleが被った被害は最低でも14億ドル、多く見積もれば約60億ドル相当」というコメントを残しているが、Sunの買収にかかった金額が74億ドルだから、60億ドルはちょっと言い過ぎな気もする。なお余談だが、裁判開始当初、Java VMもクラスファイルも「なにそれおいしいの」状態だったAllsup判事は、専門用語ひとつ理解するのにそれぞれ30分以上かけたとされる。判事も大変なのだ。
もちろんGoogleは「Google/Androidとオープンソースコミュニティに対する挑戦」として徹底抗戦する構えをとる。"オープンソースコミュニティ"まで巻き込んだ形にもっていったのはGoogleの戦略だが、Richard StallmanやSimon Phippsなどの大物がこぞってGoogleを支持した。
2011年の9月にはOracleから「約12億ドルで手打ちにしてあげてもいい」と和解案が出されるもGoogleは「そんなに払うのはいや」と拒否して成立しなかった。結局、裁判は2012年5月まで続くことになる。途中、Oracle CEOのLarry EllisonとGoogle CEOのLarry Pageによる"ラリー直接対決"もあったようだ。
さて、そして2012年5月、2つの判決が続いて下される。ひとつは5月7日、12名の陪審員全員が「GoogleはOracleの著作権を侵害している」という質問にYesと回答した。ただし、フェアユースの使用に関しては陪審員の間で意見が分かれたため、Google側はこれを無効と主張、Alsup判事の決断に委ねられることになる。なお、Oracleが主張していた「TimSort.javaおよび互換コードのrangeCheckメソッド」のわずか9行のコードに関してはGoogleにクロ判定が出ており、Googleは最大で約15万ドル程度の賠償金を支払うことになると見られている。
2つめの判決は5月27日に行われた。Alsup判事は「Googleによる特許侵害はなし」「37件のJava APIは著作権による保護の対象とはならない」と申し渡したのである。Googleの完全勝利と言っていい内容だろう。ここで気をつけたいのは、あくまで今回対象となった37件のAPIが著作権保護の対象とならないとしているだけであり、Java APIのすべてが同様というわけではない。しかし今後のソフトウェア特許、とくにAPIの著作権をめぐる争いにおいて重要な判例となったことは確かだ。
個人的に横目でこの裁判の流れをおいかけてきた者の感想としては、最初からOracleはちょっと不利な流れだったような気がする。最初に申し立てたパテントの数が多過ぎたのも響いたのではないだろうか。とりあえず、本件に関するLarry Ellisonのコメントが聞きたいところである。