Sun Microsystemsは、オープンソースプログラマーが、自作のJavaバージョンが同社の互換性要件を満たしているかどうかを簡単に確認できるようにしようとしている。ただし、これが適用されるのは、SunのオープンソースJavaプロジェクトに参加している開発者だけだ。
Sunは米国時間8月9日、オープンソースのJavaプロジェクトにかかわるプログラマーなら誰でも、Javaテクノロジ互換性キット(Java Technology Compatibility Kit)にアクセスできるようにするプロジェクトを発表する。オープンソースのJavaプロジェクトとは、実質的にSunのオープンソースJavaソフトウェアを基本とし、GNU General Public License(GPL)の下にあるプロジェクトを言う。プログラマーはこのテストキットにアクセスして、プロジェクトがJava仕様を遵守していることを確認する必要がある。
Sunの互換性キットテストを通ったプロジェクトは、公式のJavaロゴを無料で使用できると、SunのOpen JDKコミュニティマーケティングマネージャーを務めるRich Sands氏は語った。
互換性キットへのアクセスはこれまで、IBMやMotorolaといった、Javaのライセンスを受けている典型的な大企業と、Sunのスカラシッププログラムに参加している非営利団体だけに限られていた。しかし、スカラシッププログラムにはGPLの下でのソフトウェアを排除するような順守規定があったと、Sands氏は述べた。
「スカラシッププログラムに規定された互換性キットラインセンスには、GPLに適さない条件が少数ながら存在した。われわれは開発者がGPLの下ですべての規定を完全に満たせるようにライセンスを変更した」とSands氏は言う。
Javaプラットフォームは、Java言語で書かれたプログラムを、特定のコンピュータごとに変換する必要なしに、さまざまなマシン上で稼動できるようにするソフトウェアコンポーネントの集まりだ。Java仮想マシンと呼ばれるコンポーネントは、作成済みコードのライブラリを利用することによって、特定のコンピュータ上で正常に実行できるようにプログラムを変換する。オープンソース推進派は長年にわたって、「Java Standard Edition」と呼ばれるJava技術の中核を、オープンソースプロジェクトにするようSunに呼びかけてきた。だが、Sunがこの呼びかけを受け入れたあとでさえ、達成までには何年も必要とした。
この新しい動きは、5月に正式に開始された「Open JDK」と呼ばれる、SunのオープンソースJavaプロジェクトに参加を希望するオープンソースプログラマーの裾野を大きく広げるものだ。
しかし、この新プログラムは、Java Standard Editionを独自で構築しようとするもう1つの試み「Apache Harmony」プロジェクトには適用されない。HarmonyプロジェクトのリーダーGeir Magnusson氏は、Sunに対して互換性キットのライセンス条項の制約をはずすように、4月に呼びかけていた。
この問題では、Apache Software Foundation(ASF)は怒りを隠しておらず、自らも技術的詳細をサポートしているJavaの主要な新仕様、「Java Enterprise Edition 6」に反対票を投じたほどだった。「この問題が解決するまで、(Sunは)新たなJSR(Java specification request:Java仕様案)に取り組むべきではない」と、ASFは反対票を投じた趣旨を説明した。
SunはJavaに関する作業について、必ずしも全員が満足しているわけではないことを認識している。
「オープンソースとフリーソフトウェアの世界において、全員を満足させるというわけにはいかないことはわかっている。ライセンスの問題や哲学、手法において相容れない点がある。これに橋渡しする方法を見いだしたいと懸命に努力しているが、まだ実現できずにいる」とSands氏は語った。
ASFはスカラシッププログラムを通じて互換性テストキットを自由に利用できるし、実際、Harmonyプロジェクト以外のApacheプロジェクトも同様だと、Sands氏は続けた。
オープンソースプログラマーは、主流バージョンやオリジナルバージョンと互換性を持つ必要のない新しい変種を作るなど、ソフトウェアを自由に「枝分かれ」させてかまわない。Sunはこのオープンソース計画によって、プログラマーが新しいアイデアを実験して、ロゴを冠した互換性のある公式のJavaとは違ったものを生みだしていくことを期待している。
ただし、互換性キット自体はオープンソースプロジェクトではない。「互換性が意味するものに対して、独創性を発揮してほしいとは思わない。なぜなら、そうなれば結局は互換性を破壊してしまうからだ」と、Javaソフトウェア製品マーケティング部門シニアディレクターのJean Elliott氏は語った。
Sands氏は、オープンソースへの努力はこれまでのところ成功していると評価した。SunはJavaのすべてをオープンソースとしてリリースすることはできなかったが、これはサードパーティーからライセンスを受けている一部のソフトウェアで許可がとれないからだという。しかし、こうした障害をもプログラマーはコーディングにおける挑戦とみているとSands氏は述べている。
「完全なオープンソースの実装を実現するために、コミュニティーが本当に力をあわせている」とSands氏は語った。
この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ