MVC 1.0を通じて
Adopt a JSRを知ろう!
2014-11-15 JJUG CCC 2014 Fall R5-7
#ccc_r57
@miyakawa_taku / @making
概要
• こんど JJUG では、 Adopt a JSR というプ
ログラムでの活動をはじめました
• Adopt a JSR は、 Java ユーザグループのメ
ンバが、 JCP, JSR を通じた Java 仕様策定
に参加するためのプログラムです
1
概要
• セッション前半では、 JCP, JSR, Adopt a
JSR って、そもそもなんだんねん、という基本を
解説します
• セッション後半では、 JJUG が Adopt a JSR
を通じてコミットしている JSR 371 MVC 1.0
についてのディスカッションを行います
2
目次
• JSR: Javaの仕様の構成
• JCP: JSRの作り方
• Adopt-a-JSRとJJUG
3
4
JSR: Javaの仕様の構成
JSR
• Javaの仕様は JSR (Java Specification
Request) で定義されています
– JSR 337: Java SE 8
• https://jcp.org/en/jsr/detail?id=337
• JSR 308, 310, 335 を傘下とする包括的仕様
– JSR 335: ラムダ式
• https://jcp.org/en/jsr/detail?id=335
5
JSR 内容
• JSR ::=
仕様文書
+ 仕様テストツール (TCK)
+ リファレンス実装 (RI)
6
7
JCP: JSRの作り方
JCP
• JSR は JCP (Java Community Process)
という仕組みを通じて作られます
• JCP の仕組み自体、 JSR によって規定されて
います
– JCP 2.9 ← JSR 355
• https://jcp.org/ja/procedures/jcp2_9
• https://jcp.org/en/jsr/detail?id=355
8
JCP 組織
9
EC
(Executive Committee)
JSR XXX
Spec Lead +
Expert Group
JSR YYY
Spec Lead +
Expert Group
JSR ZZZ
Spec Lead +
Expert Group
PMO
(Project Management Office)
JCP メンバー
• 仕様のレビュー
• SL / EG への立候補
• EC 選挙
企業、団体、JUGなど
• 仕様の最終承認
仕様作成の中心
事務局 (Oracle)
JCP プロセス
10
SL / EG JCP メンバー EC
JSR 提案 JSR Review 投票
Early Draft 作成 Early Draft Review
Public Draft 作成 Public Review 投票
Proposed Final Draft,
TCK, RI の準備 実装者のコメント 投票
Final Draft 作成
投票
Final Release 作成
×N
×N
JCP プロセス / JSR 371 の場合
11
済 2014 Q3 JSR Review & 投票
今ここ! → 2014 Q3 Expert Group 組成
2015 Q1 Early Draft
2015 Q3 Public Review
2016 Q1 Proposed Final Draft
2016 Q3 Final Release
JCP メンバー
• Oracle と JSPA という契約を結んだ個人、
企業、組織が JCP のメンバー
– 個人や非営利団体の会費は無料
• JJUG も JCP のメンバー
– https://jcp.org/ja/participation/members/
J
12
JCP 参考資料
• 「これからのJCP、コミュニティと共に」
– http://www.slideshare.net/OracleMiddleJ
P/jcp-jjug
– 7月の JJUG ナイトセミナー、浜本さん資料
13
JEP: JDK Enhancement-Proposal
(補足)
• Java 処理系の実装である OpenJDK の機
能拡張を提案・実行するためのプロセス
– JEP 1
• JSR と重複するものもあります
– Java EE に関する提案などは JEP にはない
– JEP には GC の設計など実装固有の提案もある
14
15
Adopt-a-JSR
Adopt a JSR
• 個人が直接 JCP のメンバーとして活動するの
は現状ちょっとだけ面倒です
– JSPA を結ぶ必要がある
• とはいえ、すごく面倒というわけではない(らしい)
• 次期 JCP (JSR 357) では、より参加が容易になる
• ユーザグループを通じて参加すれば、気が楽
&声が届きやすくなる
⇒ Adopt a JSR
16
Adopt a JSR
• Java ユーザグループのメンバーが、ユーザグ
ループを通じて Java 仕様策定プロセスに貢
献するプログラム
• JUG のメンバーが、この JSR にコミットしま
す!ということを公表
• 活動内容は自由
– レビュー
– 公知活動など
17
JJUG @ Adopt a JSR
• JJUG at Adopt a JSR メーリングリストにて
随時活動報告をおこなっています
• JSR 371 MVC 1.0 にコミットしています
– MVC パターンのウェブフレームワークの仕様
– JSR 366 Java EE 8 の一部
– 9月22日に JSR Review Ballot を通過しました
18
JJUG @ Adopt a JSR 参加方法
• 手順
– JJUG に参加 (MLに登録するだけ)
– JCP アカウントを作成して JJUG にひもづけ
19
Adopt a JSR 参考資料
• 「Java に対する様々な貢献 with Adopt-a-JSR」
– http://www.slideshare.net/OracleMiddleJ
P/adopt-a-jsr-for-japanese-jug
– 7月の JJUG ナイトセミナー、寺田さん資料
20

MVC 1.0 を通じて Adopt a JSR を知ろう!

  • 1.
    MVC 1.0を通じて Adopt aJSRを知ろう! 2014-11-15 JJUG CCC 2014 Fall R5-7 #ccc_r57 @miyakawa_taku / @making
  • 2.
    概要 • こんど JJUGでは、 Adopt a JSR というプ ログラムでの活動をはじめました • Adopt a JSR は、 Java ユーザグループのメ ンバが、 JCP, JSR を通じた Java 仕様策定 に参加するためのプログラムです 1
  • 3.
    概要 • セッション前半では、 JCP,JSR, Adopt a JSR って、そもそもなんだんねん、という基本を 解説します • セッション後半では、 JJUG が Adopt a JSR を通じてコミットしている JSR 371 MVC 1.0 についてのディスカッションを行います 2
  • 4.
    目次 • JSR: Javaの仕様の構成 •JCP: JSRの作り方 • Adopt-a-JSRとJJUG 3
  • 5.
  • 6.
    JSR • Javaの仕様は JSR(Java Specification Request) で定義されています – JSR 337: Java SE 8 • https://jcp.org/en/jsr/detail?id=337 • JSR 308, 310, 335 を傘下とする包括的仕様 – JSR 335: ラムダ式 • https://jcp.org/en/jsr/detail?id=335 5
  • 7.
    JSR 内容 • JSR::= 仕様文書 + 仕様テストツール (TCK) + リファレンス実装 (RI) 6
  • 8.
  • 9.
    JCP • JSR はJCP (Java Community Process) という仕組みを通じて作られます • JCP の仕組み自体、 JSR によって規定されて います – JCP 2.9 ← JSR 355 • https://jcp.org/ja/procedures/jcp2_9 • https://jcp.org/en/jsr/detail?id=355 8
  • 10.
    JCP 組織 9 EC (Executive Committee) JSRXXX Spec Lead + Expert Group JSR YYY Spec Lead + Expert Group JSR ZZZ Spec Lead + Expert Group PMO (Project Management Office) JCP メンバー • 仕様のレビュー • SL / EG への立候補 • EC 選挙 企業、団体、JUGなど • 仕様の最終承認 仕様作成の中心 事務局 (Oracle)
  • 11.
    JCP プロセス 10 SL /EG JCP メンバー EC JSR 提案 JSR Review 投票 Early Draft 作成 Early Draft Review Public Draft 作成 Public Review 投票 Proposed Final Draft, TCK, RI の準備 実装者のコメント 投票 Final Draft 作成 投票 Final Release 作成 ×N ×N
  • 12.
    JCP プロセス /JSR 371 の場合 11 済 2014 Q3 JSR Review & 投票 今ここ! → 2014 Q3 Expert Group 組成 2015 Q1 Early Draft 2015 Q3 Public Review 2016 Q1 Proposed Final Draft 2016 Q3 Final Release
  • 13.
    JCP メンバー • Oracleと JSPA という契約を結んだ個人、 企業、組織が JCP のメンバー – 個人や非営利団体の会費は無料 • JJUG も JCP のメンバー – https://jcp.org/ja/participation/members/ J 12
  • 14.
    JCP 参考資料 • 「これからのJCP、コミュニティと共に」 –http://www.slideshare.net/OracleMiddleJ P/jcp-jjug – 7月の JJUG ナイトセミナー、浜本さん資料 13
  • 15.
    JEP: JDK Enhancement-Proposal (補足) •Java 処理系の実装である OpenJDK の機 能拡張を提案・実行するためのプロセス – JEP 1 • JSR と重複するものもあります – Java EE に関する提案などは JEP にはない – JEP には GC の設計など実装固有の提案もある 14
  • 16.
  • 17.
    Adopt a JSR •個人が直接 JCP のメンバーとして活動するの は現状ちょっとだけ面倒です – JSPA を結ぶ必要がある • とはいえ、すごく面倒というわけではない(らしい) • 次期 JCP (JSR 357) では、より参加が容易になる • ユーザグループを通じて参加すれば、気が楽 &声が届きやすくなる ⇒ Adopt a JSR 16
  • 18.
    Adopt a JSR •Java ユーザグループのメンバーが、ユーザグ ループを通じて Java 仕様策定プロセスに貢 献するプログラム • JUG のメンバーが、この JSR にコミットしま す!ということを公表 • 活動内容は自由 – レビュー – 公知活動など 17
  • 19.
    JJUG @ Adopta JSR • JJUG at Adopt a JSR メーリングリストにて 随時活動報告をおこなっています • JSR 371 MVC 1.0 にコミットしています – MVC パターンのウェブフレームワークの仕様 – JSR 366 Java EE 8 の一部 – 9月22日に JSR Review Ballot を通過しました 18
  • 20.
    JJUG @ Adopta JSR 参加方法 • 手順 – JJUG に参加 (MLに登録するだけ) – JCP アカウントを作成して JJUG にひもづけ 19
  • 21.
    Adopt a JSR参考資料 • 「Java に対する様々な貢献 with Adopt-a-JSR」 – http://www.slideshare.net/OracleMiddleJ P/adopt-a-jsr-for-japanese-jug – 7月の JJUG ナイトセミナー、寺田さん資料 20