Java の発展過程の初期に Sun Microsystems は,Java が成功するためにはコミュニティの要求に応えていくことが不可欠である,という大胆な位置付けを行った。その機会を提供するために設けられたのが Java Community Process (JCP) である。導入から約14年,Java の誕生からは17 年を経た現在も,JCP は健全に機能している。
JCP を通じた Java テクノロジの開発と改良,さらには JCP それ自体を監督する機関が JCP Executive Committee (EC) である。現在は2つの EC があり,ひとつは Java SE/EE を,もうひとつは Java ME を担当している。今後2年間にこの2つを統合しようという計画がある。
それぞれの EC は18のメンバで構成されている。その内訳は Oracle, IBM, Nokia など技術ベンダ,Credit Suisse や Goldman Sachs といったユーザ,ブラジルやロンドンなどの Java ユーザグループ,そして Werner Keil 氏のような個人参加者だ。
EC のメンバになることだけが JCP に参加する方法ではない。JSPA (Java Specification Participation Agreement) に署名さえすれば,誰でも JCP のメンバになることができる (手続きの詳細に関しては www.jcp.org/en/participation/membership を参照してほしい)。参加した個人,組織,あるいは企業には,JSR (Java Specification Request) を策定ないし参加する権利が与えられる。JSR は新たなテクノロジを Java エコシステムに導入するための JCP プロセスであると同時に,JCP プロセス自体を改定するための手続きでもある。前者に属する JSR の例としては JSR 335 (Project Lambda), JSR 310 (日付と時刻に関する API), JSR 337 (Java 8 リリース) などがある。先程述べた2つの EC を1つに統合しようという活動は後者で,JSR 355 として管理されている。
EC の会議は,ほぼ毎月1回実施される。大部分はテレビ会議を通じて行われるが,世界中の EC メンバによる対面形式の会議がこれまで3回,参加者のボランティアベースで実施されている。次回は Deutsche Telecom をスポンサーとして,チェコ共和国のプラハで9月に行われる予定だ。JCP 会議の全体カレンダーは jcp.org/en/whatsnew/calendar で確認することができる。
今月のミーティングは 2012年7月31日に実施されている。
いつものことではあるが,ME 関係の参加者は少なかった。iOS を主体とするモバイルスペースでのネイティブアプリケーションの重要性向上,あるいは Android など Java から派生した代替技術のことを考慮すれば,これは Java ME の持つ役割が小さくなっていることを示すものだ。
会議では以下の JSR マイルストーンの達成が報告された。
JSR 359 (SIP サーブレット): 昨日で投票終了。
JSR 358 (JCP の改訂): 7月に投票終了。
JSR 340 (Java サーブレット 3.1 仕様): 初期ドラフト版をプレビュー開始。
JSR 341 (JSP 式言語 3.0): 本日から投票開始。
JSR 355 (JCP EC 統合): 公開プレビューを実施して最終ドラフトを作成,本日より承認投票を開始。
2011年10月に承認された JCP EC Standing Rules 2.1 によれば,各メンバは対面形式の会議に必ず出席して,参加状況の確認を受けなければならない。さらに規約では,会議に2回連続で欠席したメンバは投票の権利を失うことになっている。5回連続,あるいは12カ月の期間内の 2/3 の会議に欠席すると,議席そのものを失う。
SK Telecom と Samsung は,過去8回の会議を7回欠席している。これは規約の発効から最初の12カ月の期間内に予定されている10回の会議の 2/3 を上回っているので,両社は議席を失うことになる。PMO である Patrick Curran 氏に対しては,例外を設けるためにいくらかの融通性があるが,氏がそれを行使する必要はないだろう。
Aplix の John Rizzo 氏は,ここしばらく ME に関して積極的な活動をしてこなかった Oracle に責任の一端がある,という点を改めて指摘した。この意見には Patrick も同意している。
AT&T も過去8回の会議を6回欠席しているので,議席を失いそうな状況だ。年内にあと1回以上欠席すれば,それが現実になる。
Samsung が再度参加するという話もあるが,それは別の部門,おそらくは Java ME の主要ユーザであるプリンタ事業からのものになるだろう。
JSR 355 で2つのグループが統合されれば,いくつか議席の削減が必要になる。その実施計画は次のとおりだ。
- 今年は重複した2議席 – Oracle と IBM – を削減する。
- すべての新しいメンバには,参加承認期間が1年のみであることを通知する。
- 2013年には,自発的な3議席と承諾の得られた2議席をそれぞれ削減する。またすべてのメンバは,再度の申請を必要とする。
- 在任期間を現行の3年間から2年間に切り替える。
- 半数ずつの改選にする必要があるので,上位50%の得票者の任期を2年,それ以外は1年とする。中央の得票者に同票が存在する場合,乱数発生器を使用して決定する。
毎年恒例である JCP Annual Award についても議論された。同賞は今週が締め切りである。この賞は3つのカテゴリで授与される。
- JCP メンバ・オブ・ザ・イヤー
- 最優秀仕様策定者(Spec Lead)
- 最優秀 JSR
受賞者は 2012年10月2日,サンフランシスコで開催の JavaOne カンファレンスで発表される。
今後数カ月において JCP で重要なトピックは,JSR 358 ("JCP のメジャーリビジョン") だろう。JSR 355 が主に統合を扱うのに対して,JSR 358 は JCP をシンプルに,メンバがもっと容易にアクセス可能なものにしようとするものだ。その主な対象は,JSPA それ自身である。
JSPA が威圧的で恐ろしい法律文書であるため,JCP は気軽に参加署名するには不安が大きすぎる,という苦情がしばしば寄せられている。また JSPA は Apache Software Foundation を始めとする高名なメンバのいくつかが数年前に JCP EC を離脱する原因となったライセンス契約である,という点にも注目すべきだろう。詳細は InfoQ の Patrick Curran 氏とのインタビュー を参照してほしい。
現在は3つのレベルのメンバが存在している。
- カジュアルな傍観者。機会があればバグ修正を行う。
- 投票権を持つが,仕様策定を行う意思は持たないメンバ。
- 仕様策定者。
提案ではこれを,次のような3つのドキュメントにリファクタする。
- カジュアルなオンライン参加メンバを対象とした利用規約。
- 投票権と JSR 専門家グループ (Expert Group / EG) への協力を希望するメンバのための,簡略なメンバーシップ契約。
- 仕様策定者に適用される完全な契約。
契約条件があまりに広範な場合,知的財産のコントロールを奪われることを恐れる大企業から敬遠されるのではないか,という懸念が指摘されている。しかし過剰に制約的であれば,威圧的であるという問題の解消にはならないだろう。微妙なバランスが必要なのだ。
読者の関心が高ければ,InfoQ ではこの話題を定期コラムにしたいと考えている。次の会議は2012年9月11日と12日にチェコ共和国のプラハで,対面形式で開催される予定だ。