ネットワークを活用するタイプのエンタープライズシステムにおいて、Javaはそのメインストリームたる立場を確固たるものにしようとしているようにみえる。熱烈な情熱をもってエンジニアやプログラマに受け入れられたJavaが発表されてから12年が経過しようとしているわけだが、その成長は一筋縄ではなかった。そしてもうしばらくの間、Javaを取り巻く状況は発展や非難の渦中にありつづけそうだ。

Javaのオープン性に対する疑念の声

発表されてから12年、Javaは最終的に様々な紆余曲折を経ながら多くの支援を獲得してきた。そして開発言語として一定を地位を得るにいたる。長年そのライセンス体系が避難されオープンソースソフトウェア化が望まれてきたが、その願いも2006年11月13日(米国時間)にGNU GENERAL PUBLIC LICENSE Version 2のもとで公開されるという発表で一応の決着がついた。同成果物はOpenJDKとして現在にいたる。

同ステップがJavaの発展において重要な礎となることは間違いないが、これまで辛酸を舐めてきた懐疑的な関係者は、いくつかの点で依然としてSunの取り組みに疑念を感じている。それは、OpenJDKの大半はオープンソースソフトウェアとして公開されたものの互換性を試験するためのキットへのアクセスが相変わらず敷居の高いものであること、Java関連の標準化に取り組んでいるJCPの策定プロセスに不明瞭な点があることだ。

同社のこうした取り組みに対して明確に反対を表明しているのがASFだ。ASFはJava Servlet 3.0の提案投票を棄権Java EE 6の策定の投票およびJP 2.0 / EJB 3.1の投票に反対票を投じるなど、同社の姿勢に反対態度を示している。同組織はオープンソースソフトウェアで実装されたJavaを開発しようとApache Harmonyを推進しているが、互換性試験キットへのアクセスがオープンではない点は不満を膨らませる大きな要因になっている。

Sunが改善策を発表、しかし……

Sun Microsystemsも何もしていないわけではない。同社は2007年8月9日(米国時間)、「The OpenJDK Community TCK License v 1.0」を発表。OpenJDKを開発しているデベロッパへ、成果物をGPLのもとで提供するという条件のもとで互換試験キットにアクセスできるライセンスを発表した。これまでの同社の体制からするときわめて軟化した態度に変わったといえる。

しなしながら同ライセンスはOpenJDK以外のデベロッパを満足させるものにはならないだろう。Java互換であると謳うにはOpenJDKデベロッパとして移植作業に参加するか、そうでなければこれまでどおりの査定を通じて互換試験キットへのアクセスを獲得しなければならない。これはASFにとっても、Javaを移植したいと考えているほかの多くの小さなFLOSSグループにとっては受け入れがたい条件のように思える。

OSSグループの期待

Sun Microsystemsがソースコードへのアクセスを緩めたことはJavaを活用したいと考えている多くのデベロッパにとって迎合できるものだ。バグの修正も容易になるし、多くの可能性が開けたという点で歓迎できる。それに互換性を確保するという必要性から互換試験キットの開発や配布、利用条件を制御することは同社にとって当然とるべき態度だ。

しかしながら、互換試験キットの制御に強制力を発揮するという現状の態度は、利便性の面でも心情的な面でもデベロッパの非難の対象にはなってしまうだろう。Apache Harmoneyでは特に受け入れがたい条件となるだろうが、Javaを移植したいだけのプロジェクトにとっても最後の段階で互換試験キットへのアクセスが制限されているのは好ましくない問題だ。わざわざJavaの互換性を失いたいと考えるプロジェクトはほとんどないだろう。

同社は今回公開したライセンスがすべてのFLOSSデベロッパや関連組織を満足させるものではないことは十分理解している。懐疑的な関係者も、これが、自らが関わるプロジェクトに対して利益を与えるものではないと理解しつつも、同社の対応には一定の理解を示すだろう。もうしばらくの間はこれまで同様、対話を通じてお互いに満足できる条件を模索していく必要がありそうだ。