Sun MicrosystemsはJavaをOpenJDKとして公開した。現在OpenJDKはGPLのもとでオープンソースソフトウェアとして開発がおこなわれている。今後同社から提供される正式版のJavaはOpenJDKをベースとしたものになる。OSS化されたことでこれまでよりも多くの開発者からフィードバックを得やすくなったほか、Sunがサポートしていないプラットフォームへの移植もこれまでよりも容易になる。ただし、OpenJDKの取り組みはそれだけではない。

OpenJDKはいくつものサブプロジェクトから構成されており、それそれが目標に向けた開発に取り組んでいる。なかでもJava仮想マシンをスクリプトのようにダイナミックな言語に対しても扱いやすいものにしようという取り組み「The Da Vinci Machine Project」に注目したい。JSR 292: Supporting Dynamically Typed Languages on the Java Platformの実装に取り組んでいるほかHotSpotの改善、スクリプト言語への対応が検討され作業が進められている。Da Vinci Machine Projectの成果物はJava SE 7からマージされる見通しだ。

Java仮想マシンはもともとJavaを動作させるために設計されたため、Java言語以外のプログラミング言語を実行するのに適していない。しかしながら開発者のニーズはJava仮想マシンにおけるスクリプト言語のサポートまで広がっており、スクリプト言語のサポートは次期Java仮想マシンには欠かせない要求になりつつある。最終的な目標はJavaと同じレベルでJava仮想マシンに性能をフルに発揮できるようにすることだ。

すでにJRubyやGroovyは予想以上に高速に動作するようになっているものの、それはJava仮想マシンの機能を活用したのではなく、インタプリタの実装を工夫したうえで実現したものだ。JRubyやGroovy以外のスクリプト言語で同様の性能を発揮するには、同じだけの苦労をしなければならない。Da Vinci Machine Projectを通じてJava仮想マシン側でサポートができればより多くのスクリプト言語をJava仮想マシンで動作するようにできる。

Java仮想マシンにおけるスクリプト言語の動向に興味があるデベロッパはThe Da Vinci Machine Projectに参加して開発状況をチェックしておくといいだろう。正式リリースはまだだいぶ先の話になるとみられるが、実用レベルを把握しておくうえでは開発状況を調査しておくことは有益だ。