Javaとオープンソース 新段階を模索
オープンソースソフトを開発・配布している非営利組織、The Apache Software Foundation(ASF)が新たにJ2SEのオープンソース版を開発するプロジェクト「Harmony」を提案した。JavaのコアプラットフォームであるJ2SEの完全なオープンソース版を作る初めての試みという。Sun MicrosystemsがJavaを発表して10年。新たな展開が起こるのだろうか。
Harmonyプロジェクトは、ASFのIncubator project のなかで立ち上げるもので、メンバーのGeir Magnusson Jr.氏が5月6日(米国時間)、メーリングリストで明らかにした。目的は、(1)Apache License v2で利用できるJ2SEの最新版「J2SE 5.0」の実装を開発 (2)ランタイムコンポーネントを共有できるランタイムモジュール(仮想マシンやクラスライブラリ)アーキテクチャをコミュニティで開発―で、互換性テストのためのスイートも開発する。
Magnusson氏はメーリングリストで「J2SEランタイムプラットフォームのオープンソース版には明確なニーズがある」と説明している。「『Kaffe』『Classpath』のようなソリューションの開発が進行中であり、Javaバイトコードを実行する代替アプローチを提供しようという試みもある。これらすべてはソリューションの多様性を提供するものであり、健全なことであるが、障害もあり、大きな可能性への到達を妨げている」と言う。
FAQでは、J2SE 5.0を対象とすることについて、「JSR(Java Specification Request)で認められたオープンソース実装がライセンス上、初めてできるようになるため」と説明。「(オープンソース版をつくることで)Sunに攻撃を仕掛ける意図はない」としている。白紙状態からのスタートだが、賛同者を募って本格始動させたい考えだ。
Javaのオープンソース化への要求は、決して新しい話ではない。
Sunは1998年、「オープンソース」をうたったライセンス方式「SCSL」(Sun Community Source License)を導入した。コードの使用と修正を基本的に無償にして、商利用した場合にのみライセンス料が発生するなどの仕組みだ。
しかし、オープンソースコミュニティには不評だった。Sunの著作権ライセンスが必要であることや、互換性テストにSunのツールが必須なため、事実上、オープンソース下での実装ができないという批判があがった。こうした声を受けながら、Sunは、新しいライセンスの導入などで徐々にJavaオープンソースの要素を取り入れてきた。だが、現在に至るも、コミュニティの満足を得られてはいない。
昨年初めにも、「伽藍とバザール」で知られるEric Raymond氏や、IBMエマージングテクノロジー担当副社長のRod Smith氏がそれぞれ、Sunに公開書簡を送ってJavaのオープンソース化を要請している。
Sunがオープンソース化に慎重なのは、Javaの互換性確保という大命題があるためだ。たとえば、同社の幹部たちは、開発者会議のJavaOneや、さまざまな場で、「Linuxで起こったような『Forking』(分岐)は避けなければならない」と繰り返し発言してきた。
だが、昨年4月の両社の歴史的和解で状況が変わった。SunはMicrosoftとの間のJavaをめぐるすべての係争で和解し、10年間の技術面での提携関係を結んだ。このことがSunの姿勢に変化をもたらしている。
そもそもSunがJavaの互換性に神経質になった背景には、Microsoftの存在がある。両社の法廷闘争は、独自拡張した互換性のないJVMをWindowsに搭載したとして、Sun側がライセンス違反で訴えたのが最初だった。その後の「100% Pure Java」キャンペーンも、Microsoftの独自拡張版Javaをけん制する目的があったという。だが和解によって、大きな危機は取り除かれた。
今年3月16日にSunが発表した「Project Peabody」では、商用ライセンスの条件を緩和した「JIUL」(Java Internal Use License)などの新しいライセンスが導入される。JIULは、社内利用に限ってソースコードを無償で変更でき、J2SEとの互換性維持は自主管理に任すなど、より使いやすくしたという。
Harmonyはこうしたなかで提案されたプロジェクトだ。Apacheのライセンスはオープンソースライセンスのなかでも条件が緩く、開発者には使いやすいと評価されている。
Harmonyについて、Sun副社長兼フェローのGraham Hamilton氏は自身のブログのなかで、「個人的には、私は別のJ2SE実装を必要としているかには完全な確信を持てないでいる」としながら、好意的な見解を表明している。
Hamilton氏は、非常な大変な作業になることを指摘したうえで、「Apacheの成功を祈り、開発を見守っていく」とエールを送った。さらに、「われわれの努力の大半は引き続き、Sunの参照実装を作ることに注がれるだろうが、ある程度はプロジェクトに参加するだろう」と支援する姿勢も見せている。