Apacheグループ、オープンソースJavaへ向けて大きな1歩

Javaコードの少なくとも1バージョン、Java 2 Standard Editionが、悪名高いSun Micorosystems社のライセンス体系から解き放たれる可能性が出てきた。ただ、Sun社自体は前向きでも、これまで法外なライセンス料を支払わされてきた大手顧客のなかには、簡単に応じないところがあるかもしれない。

Sun社が初めてJavaを世に問うてからちょうど10年になる。そのJavaがようやくオープンソースになるかもしれない。Sun社は否定するだろうが、その方向性はここしばらく不可避のものになっていた。オープンソースSolaris 10が2月1日のことであり、今回はJ2SEである。政治的なハードルがいろいろとありそうで、すべてクリアされるまでにはまだ1年程度はかかるだろうが、その次は何だろう。J2 Enterprise Editionか。これはさすがに時間がかかりそうだが、よく考えてみると、J2EE F/OSSの3大プロジェクト、JBoss、Jonas、Geronimoは、いずれもJCP仕様への準拠を確約しており、Sun社との関係もよい。

Apache開発者12人からなるグループが、Harmonyと呼ぶプロジェクト提案をまとめ、単純なプロジェクト呼びかけという形でApache Incubatorメーリングリストに流したのは、先週金曜日のことである。新しいJavaバージョンを一から作り上げ、Apache 2.0フリーソフトウェアライセンスのもとで提供しようという。現在、Sun社の対外的顔として尊敬されているTim BraySimon Phipps、Graham Hamilton各氏がこのプロジェクトに賛意を表明したことから、Javaコミュニティでもかなりの話題になっている。ただ、ドクターJavaことJames Goslingは、ブラジルの開発者会議に出席していて、いまのところ、この提案にどう反応しているかわからない。

「Javaに対してApacheが踏み出すべき当然の1歩」?

最近のHamiltonは、Sun社の新しい「メディア向けの顔」の1人として定着した感がある。土曜日に自身のブログにこう書いている――「J2SEプロジェクトを立ち上げることは、いろいろな意味で、Javaに対してApacheが踏み出すべき当然の1歩だと思う。個人的には、Harmonyプロジェクトがどう展開するかにとても興味がある。というのも、J2SEの本格的実装がどれほど大変な作業か、Sun社のJ2SEチームの面々なら誰でも知っていることだからだ。だが、私はApacheチームの成功を願っており、今後も見守っていくつもりだ」

Phippsの反応はこうだ――「こうしたことと、v6(Mustang)の新しいオープン性が噛み合うところにこそ、Javaコミュニティの将来がある。……何のためのJCPルール変更だったのかと言えば、まさに、コミュニティ主導のこうした責任ある発展を促す情況を作り出すことが目的だった」

ApacheサイトのFAQでは、Harmonyプロジェクトを率いるGeir Magnusson Jr.がこう書いている――「Java 2 Standard Edition仕様の最新バージョンは、J2SE 5だ。これのオープンソース実装を作成し、使用するという目的にメンバーの努力を結集することは、コミュニティ全体として取り組む価値のある作業だと信じる。JCP(Java Community Process)のもとでJSRのオープンソース実装が可能になってから数年になるが、現実はライセンス上の理由があって、Java 5がわれわれの取り上げうる最初のJ2SE仕様となった」

これはJavaコミュニティの分裂につながらないだろうか。そうはならない、とMagnussonは言う。「われわれの目的は、人々を結集し、知識を共有し、共通の問題を解決し、協力できることでは協力しようということだ。Javaコミュニティは、多様性に富んでいてこそ健康を保てる。Java仕様に複数の実装があることこそ、Javaの価値を示すものにほかならない……1つの仕様があって、誰でもそれと整合する実装を作れて、より多くの場所とプラットフォームでJavaコードを実行できる環境が生まれること――それこそがJavaユーザーにとってのJavaの意義である。われわれの努力は、その理想を実現するための1つの力になる」

Apache Software FoundationのBrian Behlendorfは、自身ではHarmonyに関与していないものの、「アイデアには大賛成だし、見守っていくし、Apache外部の人々にそのアイデアを説いていくつもりだ」と電子メールでITMJに伝えてきた。

将来の市場で、HarmonyがSun社の「クリーンルーム」版J2SEに取って代わる可能性があるかどうかという質問に、Behlendorfはこう回答する。「これは長期間にわたるプロジェクトだ。J2SE空間に存在する他のオープンソースプロジェクトとどう関係していくかは未定だし、このプロジェクトの基盤となるコードベースの有無だって、まだわからない。プロジェクトの目標もまだ話し合いの段階だが、1つ言えることは、誰も単なる学術的レベルの作業で満足するつもりはない、ということだ。実働環境での使用に堪える本格的なJ2SE実装を生み出し、そこで自分のアプリケーションを実行したい。口には出さなくても、誰もがそう思っているだろう。できたものが他よりすぐれていて、好まれるJavaプラットフォームになるかどうかは、もちろん今後の問題だ」

Java開発者は、囲い込みからの解放を願ってやまない。このプロジェクトはその願いに応えるものになるのだろうか。Behlendorfの考えはこうだ。「その質問に対しては、まず、Javaはもう囲い込まれてはいないことを指摘しておきたい。Kaffe、Classpath、Jikes、GCJなど、J2SEのあれこれの部分には、合法的で力強いオープンソース実装が存在する。Geronimoでもやったとおり、われわれは、オープンソースが標準への準拠と必ずしも矛盾するものではないことを、Sun社にも、広くJavaコミュニティにも証明していきたい。だから、その段階にきたら、J2SE TCKに合格して認定を得るつもりだ」

「Java技術が進化するにつれ、個々のプロジェクトでもJava全体でも、コミュニティへの責任委譲や権限委譲が起こる。これは、Sun社も以前から想定してきたことだろう。その委譲過程で、Harmonyも一定の役割を果たせる。われわれはそう考えている」

Sun社は、ここ4年間、財務面で苦境に立たされてきたが、昨年は開発コミュニティへの食い込みを図り、競争相手(とくに、かつて不倶戴天の敵だったMicrosoft社)との関係改善も企てて、ITビジネス第一線への復帰に意欲を燃やしている。販売と製造の国内的・国際的チャンネルをずっと効果的に使う方法を覚えてきた、というのが観測筋の見解だが、そのきっかけとなったのは、昨年の戦略的な動き(ほとんどが人事面の動き)だろう。

Sun社はオープンソースJavaの開発を止められない

だが、Sun社にそれ以上のことが必要であるのは、同社にもよくわかっている。収入のあまりに多くの部分が、J2EE関連の企業向けハードウェア/ソフトウェア長期ライセンスに集中している。いきなり殻を破って、コードをオープンにできない事情がそこにある。収入面で失うものがあまりに大きすぎるのである。怒りに燃える顧客の出現に、すでに使い道の決まっている資金……。だが、誰かが――そう、Apacheのように尊敬されている誰かが――動いてくれたら……。フム、1つの考えではある。

オープンソースコミュニティが何をやりたがるかは、Sun社がどうこうできる問題ではない。だが、オープンソースJavaは、Sun社の最も差し迫った必要に応えてくれるものではなかろうか。つまり、開発コミュニティから向けられる好意の眼差しである。これがあって初めて、同社のサーバー/ソフトウェア/サービスに売上を伸ばすチャンスが生まれる。今回のプロジェクトが成功し、オープンなJavaが生まれたらどうなるか。Sun社には顧客向けに正当な言い訳ができるし(どうしようもないことでした……)、Javaコミュニティは勝利を喜べる。

いずれにせよ、Sun社はJ2SEのライセンス条件の緩和を、すでに3月に発表している。次の1歩は論理的に明らかだろう。