IBM と Oracle が OpenJDK プロジェクトの推進で協力するという 10月 11日の共同発表は、多くの人々を驚かせました。今回の動きによって Java エコシステムを提供する最大手 2 社が協力することになり、Java エコシステムが再定義されることになりますが、多くのコメンテーターはこの動きに賛意を示し、今回の発表を Java 技術の将来にとって良い知らせと受け止めています。
Javalobby による意見調査に応じた人達 (最新カウントでは 600 人) の 60 パーセント以上は、OpenJDK プロジェクトの共同スポンサーになるというIBM の決定が Java 技術にとって好ましいものであると答えています。OpenJDK の共同開発を行うという決定によって、企業は IBM 主導による Java の分岐に関する推測を実質的に終えることになり、それは Java 業界にとって数十億ドルもの効果をもたらします。大きな懸念が解消したことで、Eclipse Foundation の Mike Milinkovich は、「これでようやく元どおり技術革新の作業を続けられる」と言っています。
Oracle とIBM による発表が最も影響を及ぼすのは、Java に対する長期的な技術投資を行っている多国籍企業から、Java プラットフォームでのソフトウェア開発を継続すべきかの判断に迷う小さな企業や個人に至るまでの、流動的な Java 業界でなされる難しい選択です。この記事では、Oracle とIBM による決定に関係する、あるいは影響を受ける、キー・ファクターとキー・プレイヤーについての概要を解説します。各セクションの最後には、このアライアンスの各側面を取り上げた Web リソースへのリンクを挙げてあります。
Oracle と IBM の共同プロジェクトとしての OpenJDK
OpenJDK は、Java プラットフォームのためのオープンソースのリファレンス実装です。OpenJDK は、Java SE、Java 言語、JDK、JRE のすべてを包含しています。OpenJDK 仕様に対する要求は Java Community Process による投票の対象となります。新たに提案されている OpenJDK ロードマップが JCP の執行委員会に受け入れられるかどうかは、近く行われる投票によって決まります。
Oracle の Java Platform Group チーフ・アーキテクトの Mark Reinhold は、OpenJDK に従事している IBM の技術者達は、おそらく「主にクラス・ライブラリーに貢献することになり、私たちと共に、複数の Java 仮想マシンの上で使用される共通のソース・ベースに関する作業を行うことになる」と述べています。2 社はおそらく、それぞれの JVM に関して独立に作業を継続することになりますが、「エンタープライズ・レベルの機能の違いの大半は JVM にある」と彼は述べています。
OpenJDK のパートナーとして IBM に手を伸ばすという決定が Oracle による戦略であることは明らかです。Oracle のソフトウェア開発の統括責任者である Adam Messinger によれば、今回の動きは、進化するマルチコア・ハードウェアによる難題に対応し、迅速な動きを求められる両社への圧力を反映したものです。「今回の合意は、2 社が共通して直面している戦略面での現実が反映されたものである」と彼は述べています。
「OpenJDK アライアンスにより、Oracle が孤立することがなくなり、Java エコシステムでの Oracle の役割が実質的に確認され、Oracle が中心的な役割を演ずることになるはずです」と RedMonk の Stephen O'Grady は述べています。
もし Oracle が Java に関して彼らの側に立つベンダー 1 社を選ぶ必要があったとしたら、IBM を選ぶことが最も容易な選択肢でした。企業が IBM に抱く盲目的な信頼 (「IBM 製品を購入したことで解雇されることはない」など) に加え、IBM はうらやましいほど開発者の間で高い評価を得ています。IBM が Oracle と並んで立つことが公知となった今、Java エコシステムを守るという Oracle の課題は、今までとは比べものにならないほど容易になります。
今回の動きは、たとえ Harmony という明らかな犠牲を考慮しても、IBM にとっても望ましいものでした。技術リソースを Project Harmony から OpenJDK に移行することで、IBM は (当然ながら Oracle 主導の下とはいえ) Java 技術の将来に対する影響力を強固なものにしました。2 社は共に、両社の協力により、Java プラットフォーム成長推進のための主たる標準化組織として、JCP を強化し、その能力を高めると述べています。
未解決のまま残された問題は、Project Harmony はどうなるのか、Oracle と IBM のアライアンスは Google (つまり Android) にとってどんな意味をもたらすのか、OpenJDK アライアンス (そして Google の反応) は Java 技術の領域に関わる他のベンダーとってどんな意味をもたらすのか、JCP がどのように、そしてどの程度まで改革されるのか、といった点です。
他の参考資料: OpenJDK と Oracle-IBM の決定
- OpenJDK コミッターの大部分は既に Oracle (以前は Sun) と IBM に雇用されており、それ以外に Google と Red Hat の開発者がいます (この点については、Oracle の Java/FOSS の代表である Dalibor Topic が記事を書いています)。
- IBM の Open Systems および Linux の統括責任者である Bob Sutor は、IBM の決定の理由を列挙しています。彼は、IBM の影響力が強化され、Java というオープンソースの将来、そして JCP がより確かなものになるというプラスの面と、今回の決定が Project Harmony に及ぼす影響による混乱の両面に触れています。
- Stephen O'Grady は、Oracle と IBM による決定が Java エコシステム全体に及ぼす波及効果をアナリストの目で洞察し、OpenJDK に関しての IBM との提携が Oracle にとってなぜ望ましい動きであったのかを含めて解説しています。
- Mark Reinhold は、OpenJDK の新しいロードマップの背景、またそのロードマップでの JSR の分割の背景にある考え方を解説しています。
IBM は長年、Apache Software Foundation によって開発、ライセンスされているオープンソースの Java ランタイム、Project Harmony を支援してきました。Java コミュニティーの一部の人々にとって、何らかの必要が生じた場合、Harmony は公式の Java プラットフォームの実装に代わり得る有効な手段と思われてきました。また Harmony は、独立した Java 実装とライセンスに対する Oracle の立場をテストするためのテスト・ケースとしても見られていました。
IBM のオープンソースおよび Linux® の統括責任者である Bob Sutor は、IBM が技術者たちを Project Harmony から OpenJDK に移行させるという決定は実利的な理由によるものだとした上で、以下のように要約しています。
当初は Sun が、そして後には Oracle が、Java のための重要なテストや認証テスト (Java SE TCK) を Apache に提供しようとしていないことは、IBM にとって明らかになりました。彼らのそうした選択に IBM は異議がありましたが、それは彼らの選択であり、IBM の選択ではありません。そのため、非公式で認定されていない Java として Harmony の推進を継続するよりも、方向を変え、OpenJDK に注力することを決定したのです。
今回の動きによって Harmony の今後は不確かなものになりますが、Harmony プロジェクトが進化を続けるかどうか、またどのように進化するかは開発者達の手にかかっています。Harmony の作成者であり、Apache 理事会委員の Geir Magnusson は次のように述べました。「IBM の決定は Harmony にとって望ましいものではありません。しかし見方を変えましょう。Apache Foundation にとって、何が実現されるかはコミュニティー次第です。私たちはコミュニティーが望むことを実行していきます。」
今回の決定に対する当初の反応は、「ゲーム・オーバー (しかも Harmony だけが対象ではありません)」から、Project Harmony の一部は OpenJDK に採用される可能性があるという見方に至るまで、大きな幅がありました。また一部の人々は、Harmony プラットフォームが今後も別のスポンサー企業、つまり Google の支援の下で、進化を続けるのではないかという推測を行っていました。
他の参考資料: Project Harmony の過去と未来
- Ars Technica のレポーター、Ryan Paul は、Harmony のライセンスの略歴を簡潔にまとめ、Sun そして現在は Oracle による、使用分野の制約の意味、さらには Harmony プラットフォームの擁護者としての IBM の、現在に至るまでの役割を解説しています。
- ASF メンバーの Stephen Colebourne は、Sun/Oracle のライセンス紛争、そして IBM の決定による結末の両方に関し、彼の見方を要約しています。
- Harmony 作成者の Geir Magnusson によれば、Harmony の未来は開発者達の手にかかっています。
- DZone の James Sugrue など、多くの人達は、Harmony ライブラリーのサブセットが Android に使われていることから、Harmony の今後に対する Google の役割に関心を持っています。
Google、Android、そして新たな冷戦が起こるという見解
Oracle と IBM の決定によって影響を受ける Java 技術のベンダーは Google のみではありません。しかしこのストーリーの展開次第で最も多くを失う、あるいは最も多くを得るベンダーは、Google かもしれません。8月に Oracle が Google に対して起こした訴訟 (Android に関連して複数の特許および著作権が侵害されているという主張) は、Java エコシステム繁栄の礎であったオープンソースの精神にとって打撃でした。今回の発表の後、Java の分岐を求める声が高まり、また一部の人々の間では、今まで Java 技術に関して中立な態度をとっていた開発者が Java 技術を見限ることが懸念されています。
Project Harmony に強力な企業スポンサーがいないとなると (Android が Harmony のサブセットの上に作られていることを考えれば)、Google にとっては不利になる可能性があります。その一方で、Google 自体が Project Harmony のスポンサーになることを選択するなら、非常に有利になる可能性もあります。
Google がどのような決断を下すにせよ、その決断は単に Android に影響するだけではなく、ベンダー各社が独自に Java を実装する中で Java 技術をどう考え、どう活用するかにも影響します。また、何人かが指摘しているように、著しくかけ離れた存在としての (Oracle ではなく) Google との新たな冷戦時代に突入するのかもしれません。
- Charles Nutter は、彼がまとめた Oracle と Google との特許・著作権訴訟のブログ記事の中で、訴訟の要点を網羅しており、またこの訴訟が Java エコシステム全体に投げかける波紋について解説しています。
- Greg Luck は 10月 4日のブログ記事「Is it time to fork Java?」の中で、Java を分岐させるという提案の概要を述べています。
- Googling Google のブロガー Christopher Dawson は、Google が採り得る選択肢 (戦うか、参加するか) について述べ、Google は Google であり続けるだろうと結論付けています。
- Google は IBM、Oracle、Red Hat と共に、OpenJDK プロジェクトの主要コントリビューターの 1 社です。
Oracle と IBM は、JCP が今後も Java プラットフォームと Java 言語の仕様を定義する標準化組織であり続けることを示す内容として、両社が協力して JCP の改革と強化に取り組むと述べています。Oracle の代表者達は、JCP による承認が Java SE の発展に不可欠であり、JavaOne で発表された改訂版の OpenJDK ロードマップに対して近く行われる投票が第一歩だと明言しています。
Bob Sutor は、IBM が、「JCP をもっと民主的で透明性があるオープンな組織にするという、長年求められてきた JCP の改革」が行われると見ている、と述べています。また Oracle の代表者達の何人かも、JCP の改革が執行委員会の議題に上っているだけではなく、その議論の結果としての提案はコミュニティーに歓迎されるはずだと示唆しています。
JCP 強化への提案に対し、執行委員会が、そしてコミュニティー全体がどのように反応するかは、時間の経過と共に明らかになるでしょう。ただし Apache Software Foundation のメンバー、Stephen Colebourne によれば、JCP として行われる次回の投票は、改訂された OpenJDK/Java 7 のロードマップに対する最初のテスト・ケースになるだけではなく、Red Hat、VMWare、SAP、Google などのベンダーが Oracle と IBM のアライアンスにどう反応するかの最初のテスト・ケースにもなると思われます。また Colebourne は JCP の分割も提案しています。つまり Java のコア (Colebourne によれば、Java SE、Java ME、そしてJVM) の仕様に対して Oracle が今後も明確に唯一の投票権を保持する一方、補助ライブラリーはベンダーから独立した JCP の指揮下で別扱いとすることを宣言する、という提案です。
- Oracle の代表者の Adam Messinger と Henrik Stahl は共に、JCP に関する交渉は Java コミュニティーに歓迎される可能性があると示唆しています。
- JCP の執行委員会のメンバーが JCP の改革をどう見るかについて知るためには、2010年 2月の DZone のパネル・ディスカッションのコメントを見てください。
- Stephen Colebourne は次回の JCP の投票について、Oracle と IBM の決定に対する執行委員会メンバーの立場がわかるものにすることを提案しています (JAXmag オンラインの Jessica Thornsby によるレポート)。
- Colebourne は JCP を分割することも提案しています。
Oracle と IBM のアライアンスは、Java 技術にとってはメリットがあると見る向きは多いです。このアライアンスによって OpenJDK プロジェクトが加速されると同時に、今まで以上に多くの技術者達が連携し、リソースを共有することができるようになります。今回の動きにより、業界の中で (技術投資と収益の面で) 最も影響力のある 2 つの勢力のエネルギーが、OpenJDK という基本プロジェクトに集約されます。そして、Java 業界全体にとってはメリットよりもデメリットの方が多かったであろう IBM 主導による Java の分岐に関し、憶測が飛び交うことは実質的になくなりました。
IBM の新興技術に関する統括責任者である Rod Smith はコメントの中で、このアライアンスが、Java エコシステムの開発者、ベンダー、そしてビジネスに対し、安定を与える効果があると強調しています。彼は「このアライアンスにより、Java の今後に対する不確実性の一部が解消されるはずである」と述べています。(Sun の従業員であった) Danny Coward は、このアライアンスを「協力的競争の新時代」の始まりだと賞賛しており、Oracle の Adam Messinger は、この「協力的競争の新時代」が Java プラットフォームの革新を加速するだろうと述べています。
安定は望ましいことであり、革新も同様です。どちらも健全な Java エコシステムには不可欠です。安定は巨人の肩にかかっているかもしれませんが、Java 業界の革新は歴史的に妨害勢力の領域でした。この領域では、小規模なベンダーや、ネットワークでの結びつきが弱い独立した開発者達が、場合によると多国籍企業以上の影響力を与えてきました。Java 業界を健全かつ誠実なものに維持し、願わくは繁栄を維持するのは、この 2 つの強大な勢力による相互作用です。
Fabrizio Giudici (そして Gianugo Rabellino) が指摘しているように、最終的な 1 つの疑問があり、それが自由に対する疑問です。この自由というのは、Free Software Foundation によって定義され、オープンソース・ライセンスによって成文化される自由です。Java の将来の基となるコア・プラットフォームが 1 つなのか 2 つなのか、それ以上なのかは、この自由に対する疑問によって決まるのかもしれません。
他の参考資料: Java エコシステムは何によって健全なものになるのか
- Fabrizio Giudici は自由の定義に関する議論 (Rabellino によるオープンソースとオープン・スタンダードを比較した議論) の中で、両者の間のグレーな領域について、また OpenJDK という分岐に価値があるかどうかについて評価を行っています。
- James Governor は Oracle と IBM のアライアンスに関する発表の 10 日前に書いた記事の中で、妨害的革新 (そしてオープンソースのガバナンス) が Java 技術の将来の鉄則であり、もはや例外ではないと主張しています。
学ぶために
- OpenJDK のサイトを訪れ、このオープンソースの Java プラットフォームの実装について学んでください。
- JCP は Java 技術の仕様を開発する標準化組織です。
- 「IBM, Oracle, OpenJDK, and the implications」(Scott Langingham による developerWorks のポッドキャスト、2010年10月) では、IBM の Rod Smith と Jason Gartner が、OpenJDK に関する Oracle と IBM のアライアンスに関して議論しています。
- IBM developer kits のサイトを訪れ、Java プラットフォームのための IBM のランタイムと VM について学んでください。
- Technology bookstore には、この記事や他の技術的な話題に関する本が豊富に取り揃えられています。
- developerWorks の Java technology ゾーンには、Java プログラミングのあらゆる側面を網羅した記事が豊富に用意されています。
議論するために
- My developerWorks コミュニティーに参加してください。そして開発者向けのブログ、フォーラム、グループ、ウィキなどを利用しながら、他の developerWorks ユーザーとやり取りしてください。

Athen O'Shea はハイテク記事の編集者兼ライターであり、以前は JavaWorld.com の編集者でした。彼はフリーランサーとして、2001年から developerWorks に頻繁に寄稿しています。