sugarlife's blog

Javaとか、http://twitter.com/sugarlife

最近のProject Jigsaw の流れ:コミュニティ投票でNo (Public Review Ballot)

Java の新たなバージョンである JDK 9 のリリースが約 2 ヶ月後に控えているが、最大の目玉と言っても過言はない Project Jigsaw がコミュニティから No を突きつけられた。この最近の流れを、極力意見を混ぜずに事実を淡々と紹介する。

Project Jigsaw とは

  • 乱暴に言うと Java の新しい分割の仕方としてモジュールを導入しようという取組
  • 詳細は手前味噌ですが以下のスライド参考

前提

最近の流れ

Project Jigsaw は Draft Releases の期間でした。なお、私は OpenJDK 実装をそれなりに読んでおり、各自の立場から反対意見の要約を示すことができないと思いますので、詳細な内容は紹介しません。詳しくはリンク先を確認してみて下さい。

2017/1/17 - 2/16 Early Draft Review
  • Spec Lead (Oracle の Mark Reinhold氏) (と Expert Group) により JSR の要件に則った仕様書の草案が公開され、(場合によっては大幅な)レビュー&改訂作業が行われる。ここでは一般のレビューは行われません。
    • Spec Lead の Mark 氏は JDK 9 全体の Spec Lead も兼任している
3/21 - 4/20 Public Review
4/25 - 5/8 Public Review Ballot

f:id:cco:20170509194940p:plain

これからどうなるか

JCP で定められている通り、否決された場合は Spec Lead と Expert Group は 30 日以内に EC から提起された懸念に対応するための仕様草案の更新・修正を行い、再び審査投票を実施します。この審査投票でも否決された場合は JSR は終了し、Expert Group は解散されます。

ただ、JDK 9 のリリース予定日が 7/27 と差し迫っている中、懸念に対する仕様変更はまだしも、その実装は更に時間がかかる可能性が高く、リリースにも影響が及ぶことは十分に考えられる状況です。現在はまだ投票結果が出たばかりなので、今後の動向に注目していく必要があります。

追記

追記1:Jigsaw 否決の内情について

EC member は全団体が頭ごなしに No と表明しているわけではありません。その一例として Tomitribe のコメントを紹介します。

Though a No vote feels like rejection we ultimately believe it is the most supportive vote for gaining a greater level of consensus we believe is necessary from a JSR, while still keeping time pressure.

Jigsaw における技術的な課題について指摘している団体もおりますが、懸念について駆け込み的に対応しようとした Expert Group とのコンセンサスの取り方について疑問を持ち、最初の投票で Yes と投じにくいと判断した団体も多くいるようです。各団体のコメントは投票結果のページから確認ができます。

追記2: JDK 9 の JSR

JDK 9 も同じタイミングで JSR 379 Java SE 9 Release Contents にて JCP の承認プロセスを実施していますが、こっちは賛成多数で可決しました。

f:id:cco:20170509203914p:plain