BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Open JDK7の基盤を起用しないOpen JDK6

Open JDK7の基盤を起用しないOpen JDK6

Sunは最近OpenJDKのJava6 バージョンをリリースすることを発表した。それはJava 6のコンプライアントインプリメンテーションを作るためのOpen JDK7のコードベースのバックポートを伴う。InfoQはこの決断に関してもっと深く掘り下げるためにSun社のJoseph Darcy氏に話を聞いた。

なぜこの時期にSunはオープンソースJDK 6を決断したのか尋ねたところ、これによってMercurialソースコードリポジトリバイナリープラグアーキテクチャ両方をサポートするOpenJDK 7の変更部分の利点を活用することができるのだとDarcyは述べた。またそれによってSunはOpen JDK7で行われたコードの監査と障害の排除作業の再利用ができるのだ。またそこでは多大な努力がなされ、また2個目のコードベースのプロセスを全て終わらせたくないという願望があったのだ。Darcyへソースコードを発行するOpenJDKと現在のJDK6プロジェクトの違いを尋ねた。そこで彼は現在のJDK6コードはJava リサーチライセンスの下で発行されており、一方Open JDKはGNU General Public License(GPL)のバージョン2の下でライセンスされるという事を述べた。

InfoQは次にOpenJDK6がOpenJDK7の開発に与える影響について尋ねた。彼は下記のように答えた。

JDK7のオープンソース化における努力はJDK7のリリースの可能性を失わせるが、確実に今後のよりよいリリースに向けて前進しているのは確かだ。しかしながら現在のオープンソースJDK7があることを前提として、それを基盤にオープンソースJava SE6を作り出すことは比較的簡単なので、JDK7にはそれほど多大な影響は及ぼさないだろう。そしてJava SE6オープンソース化の誓約を満たすことでJDK7の開発に注目が集まるのが予測される。
また私たちはDarcy氏にOpen JDK7からOpen JDK6をベースとしたどんなリスクが存在するか尋ねたところ、彼はJava7では終了しているAPIの大規模な再構築を見つけ、以前の状態に戻す必要があるかも知れないと述べた。しかしながら彼の予測はほとんどの開発作業が新しいクラスをメソッドを除去したり、最近比較的リスクの低い変更された仕様を元に戻すということでもあるる。またDarcyはこの先数回のリリースに関して、Java 6のアップデートは現在のJDK6コードベースを保ったものになり、現在ではSun社が将来的にOpenJDK6のコードベースに変更を加えるかは未知である。

DarcyはまたJDK6のオープン化に考え得るオプションを説明した。

一つの方法は6のアップデートワークスペースの障害物を全て除去して、全てのコードの監査をやり直すことだ。これをやりたい人は誰もいなかったのだが!もう一つの方法としては、下記に示された技術に基づいたSE 6のインターフェースにさらすためだけにJDK7体格の周りに技術的なラッパーを開発することである。

Java SEにおけるJava ME プラットフォームの模倣 Kenneth Russell、 Tony Wyant著

基本的にユーザークラスはJVMに取り込まれている間に再記述されるので、Java SE6の世界観しか見えないのである。この技術は反射的なアクセスにも対応することができる。これは技術的に興味深い一方、開発にはたくさんの強化が必要であったでだろうし、たくさんの合併症状があっただろう(non-Java インターフェース等)。だからこの技術は私たちが選択した直接的な逆説的な側面からのアプローチよりも、市場に出すのに時間がかかったのであろう。

最終的にInfoQはOpen JDK 6の未来に関して尋ねた。

近いうちに私の目標はOpenJDK 6用の公式Mercurialリポジトリをつくることになるだろう。そのコードベースがどのように進化するかはその重要点を踏まえて未知なことである。なぜなら外部のコミュニティが結果を判断する手助けをするからというのもその理由の一つである。JDKは大規模な銀行から個人的な開発者までと幅広い状況にて使用されている。どのようにバグをフィックスしたり機能を合体させるかというリリースモデルは、ユーザーの範囲全般で妥協したものである必要がある。Open JDK6の開発でJava SE6のリリースモデルの再評価ができるようになる。現在のアップデートリリースはオープンコードに基づいたものになるように変換されるかもしれない。一方、もしかしたら一目瞭然のアップデートとオープンコードベースはいろいろな領域のニーズを満たすべきなのかもしれない。Open JDK 6がリリースされ使用され始めたら将来のリリースモデルの方向性に関する情報が得られるだろう。

DarcyはまたOpenJDK 6がJava One2008までに一大目標を達成しているかもしれないということをほのめかした。

この記事に星をつける

おすすめ度
スタイル

BT