Javaをオープンソース化すべきか? 賛成派と反対派が激論

JavaOne最終日に行われたJavaオープン化をめぐるパネルディスカッションでは、「オープンソース化による可能性」を唱える賛成派と、UNIXやLinuxのような「非互換の問題」を懸念する反対派がぶつかり合った。(IDG)

» 2004年07月02日 17時14分 公開
[IDG Japan]
IDG

 Javaをオープンソース形式で提供するべきか? 今週、サンフランシスコで開催のJavaOne 2004でこの問題をめぐる議論が紛糾した。

 BEA SystemsがJava 2 Standard Edition(J2SE)オープンソース化を支持する姿勢を表明した翌日の7月1日、同カンファレンスで開かれたパネルディスカッションでは、さまざまな関係者が異なる見解を示した。Javaオープンソース化を支持したパネリストは、2月にオープン化を求める書簡を書いたIBMのロッド・スミス副社長や、オープンソース団体Apache Software Foundationの理事を務めるブライアン・ベーレンドーフ氏など。

 一方、反対に回ったパネリストは、Sun MicrosystemsでJava開発プラットフォーム・ツール部門CTO(最高技術責任者)など複数の肩書きを持つジェームズ・ゴスリング氏、Sunフェローで副社長のロブ・ジンゲル氏、Red Monkの創設者にして主席アナリスト、ジェームズ・ガバーナー氏。

 現在、SunはJavaをベースにした公式プロジェクトに対して、Java仕様互換の認定を受けるよう義務付けている。Javaの修正は、Java Community Process(JCP)の手続きを経て行わなくてはならない。オープンソース支持者は、もっと自由なやり方を望んでいる。

 オープン化賛成派は、オープンソースにすることでJava技術にもたらされる可能性を強調した。ベーレンドーフ氏は、Java Technology Compatibility Kit(TCK)のテストに通るまでJava仕様互換を主張できないとして、Java仕様のオープンソース実装を求めた。

 「オープンソースプロセスは、最善の普及手段となる傾向がある」と同氏。

 「時に完全な仕様を実装しない場合もある派生物の開発は、いかなるオープンソースプロセスにおいても自然なことだ」と同氏は付け加えた。

 しかしジンゲル氏は、Javaのオープンソース化により厳密に何が得られるのかと疑問を投げかけた。

 「実際に私が求めているのは、もしもオープンソースが解であるのなら、その問題を教えてほしいということだ」(ジンゲル氏)

 同氏は、Javaの互換性は保たれなくてはならないと明言した。Sunは、Javaを発明した同社が自ら世話役を務めることで、互換性を確保することが可能だと主張している。Javaプログラムは「Javaと名乗るものにだまされることはない」と同氏。

 RedMonkのガバーナー氏は、SunがJavaの世話役を務めるという考えは悪くないだろうと語った。同氏はウィンストン・チャーチルが民主主義について述べた言葉を借りて、「SunがJCPの世話役を務めるのは最悪の統治モデルかもしれないが、われわれがこれまで試みてきた中では一番いいやり方に思える」と話した。

 パネリストの1人、Major League Baseball Advanced Mediaの運用ディレクター、ジャスティン・シャッファー氏も、現状維持を主張する。「今日多くの企業にとって非常にうまく機能しているものを、危険にさらす理由があるのか」と同氏は問いかけ、多くの聴衆から喝さいを引き出した。

 Javaの世界とオープンソースの世界では多くの革新が生まれているとIBMのスミス氏は語り、「この先、もっと速いペースで革新が起きるのを見たい」と、Javaのもっとオープンな進路を主張した。

 スミス氏は、J2SEをオープンソースで共有すれば、統合コストを抑えられ、技術をもっと早く市場に投入できると語った。

 ゴスリング氏は、Javaの情報基盤は既にパブリックドメインで公表されていると反論、「(共有は)既に実現している。例えば、バグデータベースはすべて公開されている」と述べた。

 Javaに関して「見つかる欠点はすべて、これまでに皆が発見したものだ」と同氏。

 「誰でもJ2SEの完全なソースをダウンロードできる」とも同氏は語った。「J2SEのSDK(ソフト開発キット)をダウンロードすると、すべてのAPIの全ソースが手に入る。ソースは本当にすべてそこにある」

 同氏は、Java技術の複数のオープンソース実装を認めれば、UNIXで起きたような、そして今Linuxディストリビューション間で起きているような非互換の問題が起きる可能性があると注意を促した。「Linuxは実際には近く、ほぼ互換性があるが、頭痛の種になる程度の違いがある」

 しかしベーレンドーフ氏は、既にJava技術はプラットフォームによって動作が異なると指摘した。例えばJava Message Serviceは、一部プラットフォームではほかに比べて動作が遅く、調整が必要だという。

 今週JavaOneに参加した多くの開発者は、J2SEなどJavaの一部をオープンソースとして公開するというアイデアを好意的に受け止め、オープンソース化により、分散型プラットフォーム「JavaSpaces」やマルチメディアレイヤー「J2ME」といったプラットフォームのパーツ開発が迅速化されるかもしれないと語っている。

 しかし、Javaオープンソース化の主な焦点は、デスクトップやサーバで使われているJ2SEプラットフォームに当てられている。JCPのライセンス変更により、新しいJ2SEバージョン5(コードネーム:Tiger)は、理論的にはオープンソースライセンスの下でリリースされる可能性のある初のバージョンとなる。

 しかし、Sun自身がJ2SEのオープンソース実装をリリースするかどうかは、特に重要ではない。J2EE 1.4のリリースによりJBossなどのプロジェクトの認定が可能になったのと同じように、TigerのリリースによってJ2SEのオープンソース実装に門戸が開かれるだろう――Summa Technologiesのコンサルタント、ブルーノ・フェレイラ・デ・ソーザ氏はこのように語っている。

 デ・ソーザ氏は、Sunは独自にオープンソースのJ2SEプロジェクトを始めるよりも、Kaffeなどの既存のオープンソースプロジェクトへの技術サポートをもっと効果的に提供していくだろうと考えている。

Copyright(C) IDG Japan, Inc. All Rights Reserved.

注目のテーマ