Javaの世界をまとめるためのポイント
JavaFXはまだスタートしたばかりのプロジェクトだが、それをひとつの方向にまとめるだけでも多大な努力が必要だ。しかしGosling氏と、そしてSunには、Javaという非常に巨大なプロダクトを統一された形にまとめ上げてきた実績がある。Javaの世界をうまくひとつの方向に向かわせたポイントはどこにあるのだろうか。Gosling氏は次のように語る。
「私たちは魔法が使えるわけではないので、もちろん多くの努力が必要なのですが、ひとつ言えることは多くのチームがうまく機能するように監督する役割も重要だということです。開発者の中には複数のチームに所属する人もおり、たくさんのチームが依存し合ってネットワークのようなものを形成しています。また、プロジェクトマネージャは様々なツールを使いながら全体をまとめます。開発するだけでなくて、全体の調整を取ることも大事なのです」
また同氏は、特に困難の原因になる要素として、エンジニアのチームやコミュニティが世界のあらゆる場所に散らばって存在している点を挙げている。そのことで、言語や時差、文化など様々な問題が生じる。しかし現在のところコミュニティはうまく機能していると言えるだろう。
そのような活動を支えるのは、メーリングリストやブログ、Wiki、チャットなど様々な手段によるコミュニケーションだ。大勢の開発者が参加するチームにおいてコミュニケーションを円滑に進めるのは難しい。
しかしGosling氏は、非常に大きなコミュニティも、実際には様々な技術に焦点を絞った小さなコミュニティの集まりとして構成されていることが多い点を指摘している。例えばJDK7で新しく導入される予定のクロージャについて考えてみると、非常に多くの人が議論に参加しているが、集中して参加しているのはそのうちの一握りだけだという。したがって、コミュニケーションはそれほど難しくはないというのだ。
「これは、Javaがモジュール単位でうまく構成された技術だからこそできることです。Javaの各モジュールに合わせて、コミュニティの方もうまくモジュール化されているといえるでしょう」
コミュニティに対するSunの姿勢についても、多くの人が注目していることだろう。特に近年Sunは自社のプロダクトを次々をオープンソース化しており、コミュニティ主導の開発へのシフトさせている。そのようにコミュニティによって進められる様々なプロジェクトに対して、Sunはどのような役割を果たしていくべきだろうか。Gosling氏は、それは対象となるコミュニティによって異なると前置きした上で、次のような見解を述べている。
「Sunは強く関わっているコミュニティは、Sunのビジネスに近い分野のものです。例えばアプリケーションサーバやJavaVMに関する部分については深く関与し、リーダシップを発揮しています。ただし、リーダシップを持つといっても強権を発して支配しようというわけではありません。様々な面で責任を追い、コミュニティの一員としてお手本を示しながら全体をまとめていくことが大事なのです」