Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

IT勉強会での初プレゼンなどお助けします!

勉強会でスピーカーをやりたいけど、プレゼンが初めて、苦手という方に無償でコーチできます。スライドのレビューや録画したリハへのアドバイスなどなど。Twitter@jyukutyoまでメンションでもDMでもお気軽にご連絡ください。

私はIT講師の経験があり、プレゼンはデブサミやJJUG CCCなど200人規模の経験が豊富で最大800人の前でプレゼンしました。海外ではDevoxxUSで。デブサミ2017では公募スピーカー1位、デブサミ関西2012アワードで5位となりました。

JavaエンジニアとしてJCPについて知ろう!その2 #jcp #jug

前回はJCPそのものについて解説しました。

jyukutyo.hatenablog.com

今回はみなさん自身がJCPメンバーになるメリットやメンバーの種類、具体的な手順を解説します。

個人でJCPメンバーになって何がいいのか

JCPメンバーには企業や非営利団体、JUGだけでなく個人もメンバーになることができるのでした。個人、という観点でJCPメンバーになるメリットは何でしょうか?JCP PMOのスライドには以下のようなことが書いています。

  • 知識を得る
  • スキルアップできる
  • Visibility(可視度)を上げる
  • 認知度を上げる
  • オルトルイズム
  • Fun(楽しさ)
  • 友人を作る

ここで聞き慣れない言葉があります。"オルトルイズム"です。辞書翻訳するとaltruism=利他主義とあります。日本人である僕やみなさんの多くにはわかりづらい概念です。自分がそこからさまざまなものを得たのなら、そこに対して還元していくよ、というものです。

脱線して個人的意見

諸外国では、サービスであれば、とにかくできる限り安くではなくサービスに対する正当な対価を払う、無償で使えるものなら、何らかのことで貢献する、という文化的側面があると理解しています。私たち日本は(日本人は、日本企業は)どうでしょうか?無償であれば使い倒せばいいのでしょうか。無償であることは当然のことなのでしょうか。JCPOSSへの貢献には言語の壁の影響も非常に大きいと考えますが、いつもいつも使う側にだけいるという姿勢には(私自身に対しても)疑問があります。

私たちJavaエンジニアは、Javaを使うことで給与を得ています。いやいや、Javaがなくなっても無償の他言語を使えばいいじゃない、搾り取るだけ搾ったら捨てて他に行く、だから関係ない、でよいでしょうか。

僕は貢献したい、していきます。すごいことはできません。この投稿も小さいながらその1つです。もちろん単純に利他主義だけではなく、VisibilityやFunの部分もあります。

JCPメンバーになったらできること

JCPメンバーでなくともJavaの仕様策定に関わることはできますが、メンバーになることでより関わりやすくなります。Contributorとして名前を載せたり、ECメンバーの選挙で投票するといったこともできます。

JCPへの参加形態

JCPの会員ステータスは次の5つに分けることができます。

  • オブザーバー
  • 登録ユーザ
  • アソシエイトメンバー
  • パートナーメンバー
  • フルメンバー

オブザーバーはJCPにユーザ登録していない人です。登録ユーザは、JCPにユーザ登録しているけれど、メンバーにはなっていない人です。

JCPのユーザ登録

ユーザ登録はjcp.orgでできます。サイトにアクセスして、Register for Siteのリンクから進めます。

f:id:jyukutyo:20170616193128p:plain

オラクルのSSOを使用しているので、オラクルのアカウントが必要です。OTNを利用する時に使うアカウントですので、ほとんどの方がアカウントを持っていると思います。

メンバーの種類の違い

JCP会員ステータス5つのうち、メンバーは次の3つだけです。

  • アソシエイトメンバー
  • パートナーメンバー
  • フルメンバー

単純に言うと次のように分けられます。

種類 対象
アソシエイトメンバー 個人
パートナーメンバー JUGや非営利団体など法人以外。
フルメンバー 法人と個人でExpert Groupもしくはスペックリード(次回以降説明)となる人。

どのメンバーシップでも費用はかかりません。個人であれば基本的にアソシエイトです。個人でフルになる場合のみ、Employer Contribution Agreement(ECA)といって雇用者に署名をもらう必要があります。アソシエイトでもJavaの仕様策定にContributorとして参加できます。

個人、法人、JUGなどでどのメンバーシップを選択すればよいか、公式サイトにフローチャートがありますので、画像を置きますが最新の情報はリンク先を参照ください。

f:id:jyukutyo:20170619111746p:plain The Java Community Process(SM) Program - Participation - Overview:Getting Involved

なお、私が代表を務めている関西Javaエンジニアの会も、パートナーメンバーとして参加しています。

アソシエイトメンバーになる手順

関ジャバによく来ていただいているid:tomoTakaさんが実際にアソシエイトメンバーとなったときの手順をまとめてくださっています。こちらのとおりに進めれば問題なしです!

tomotaka.hatenablog.com

雑感

以前に比べると、JCPメンバーとなる手順は非常に簡単になりました。JCPのメンバーシップもJavaの仕様と同じ手順で策定、改訂されています(JSR-364)。電子署名で済みます。僕がやったときは文書を印刷してサイン、それを国際FAXでアメリカに送信(1枚100円で10枚以上、間違えると再送信)でした。

JUGメンバーとしてパートナーメンバーになる

JJUGや関ジャバを通じて、パートナーメンバーとなることもできます。ただ、Javaの仕様に貢献するときはやはりアソシエイトかフルメンバーになる必要があります。こちらの手順もtomoTakaさんがまとめてくださっています。

tomotaka.hatenablog.com

メンバー間でのできることの違い

公式サイトに記載がありますので、翻訳したものを掲載しますが、最新の情報はリンク先を参照ください。

項目 オブザーバー 登録ユーザ アソシエイトメンバー パートナーメンバー フルメンバー
JSRのレビュー Yes Yes Yes Yes Yes
ドラフト仕様のレビュー Yes Yes Yes Yes Yes
Expert Groupの資料閲覧 (JCP 2.8上記JSR) Yes Yes Yes Yes Yes
Expert GroupとContributorの候補者の閲覧 Yes Yes Yes Yes Yes
JSRの提案に対してサポーターとして名前が掲載される Yes Yes Yes Yes Yes
JSRのウォッチリストを作成する Yes Yes Yes Yes
Contributorに推薦される Yes Yes Yes Yes
Expert Groupに推薦される Yes Yes Yes Yes
新しいJSRを提案する Yes Yes Yes Yes
JCPメンバーイベントに参加する Yes Yes Yes
JSRにContributorとして作業する Yes Yes
Executive Committee選挙でアソシエイト席の投票をする Yes
Executive Committee選挙で批准席の投票をする Yes Yes
Executive Committee選挙で選抜席の投票をする Yes Yes
Executive Committeeで作業する Yes Yes
コミュニティドラフトをレビューする (JCP 2.1) Yes
Expert Groupsで作業する Yes
JSRのリーダとなる Yes

The Java Community Process(SM) Program - Participation - Overview:Getting Involved

JCPイベント

メンバーになるとJCPのメンバーイベントに参加できます。たとえば、毎年JavaOne期間中にJCP Party & Awards Ceremonyがあります。僕も参加しています。

f:id:jyukutyo:20160919185753j:plain

ここで、JCP Member/Participant of the Yearの授賞式があり、受賞者はガラスの盾がもらえます。また、メンバー有志のバンドNull Pointersの演奏があります。

次回は

Javaの各仕様の提案であるJSRについてご紹介します。

JavaエンジニアとしてJCPについて知ろう! #jcp #jug

このブログを読んでいただいているということは、Javaを少なくとも使っているという状況と想像します。それでは、JCPのことはご存知でしょうか?

JCPとは

JCPとはJava Community Processのことです。公式サイトはこちらです。

The Java Community Process(SM) Program

JCPJavaの仕様策定に大きく関わっています。Javaの新しい仕様、たとえばJava SE 8で導入されたラムダ式のような新しい機能は、どのようにプロセスで導入されたのでしょう?オラクルのすごいエンジニアたちがJavaラムダ式を入れよう!と思いついてガリガリコードを書いて、できたから次のバージョンに入れた…というわけではありません。Javaでは新しい仕様を導入したりすでにある仕様を改訂するためには、JCPにある標準化のプロセスを踏まなければなりません。JCPのP、プロセスはこういったものです。

JCPはこのプロセスのドキュメントやコードの著作権など契約関連を管理します。

JCPは誰がやっているのか

JCPの組織としてはExecutive Committee(EC)とJCPメンバーがいます。

EC

ECは指導的な立場のグループでです。2017年6月時点のECメンバーは以下です。

最新のECメンバーはこちらで確認できます。

The Java Community Process(SM) Program - Participation - Executive Committee Info

メンバーは企業や非営利団体、JUG(Java User Group、後述)、個人開発者です。メンバーの議席は米オラクルが恒久的に1席、批准席(PMOの推薦)が16席、JCPメンバーから選挙で選出する席が6席、アソシエイトメンバー(次回の投稿で説明予定)から選挙で選出する席が2席です。合計25席です。日本からは富士通がECメンバです。

ECは仕様策定でのさまざまな承認をします。

JCPメンバー

ECと同様、企業や非営利団体、JUG、個人開発者で構成されます。人数などの制限はありません。誰でも、まさにみなさんもJCPメンバーとなることができます。JCPメンバーとなることで、Javaの仕様策定に関わることができます。

JCPメンバーとなっている日本企業は以下です。

JCPメンバーとなっている日本のJUG(Java User Group)は以下です。

  • 日本Javaユーザグループ(JJUG
  • 関西Javaエンジニアの会(関ジャバ)
  • GlassFish Users Group Japan
JUGとは

Javaの勉強会、コミュニティです。JCPメンバーになっているJUGは上の3つですが、日本各地にJUGがあります。もちろん、世界各国にJUGがあります。

日本Javaユーザーグループ

関ジャバ - connpass

なお、私は関ジャバの創設メンバーの1人でして、今も代表をやっています。みなさんもお近くのJUGのイベントに参加してみてください!

JCP PMO

JCPの日々の運営はPMO(Program Management Office)というところで行われています。実は、PMOには日本の方がいます。もちろんUSで勤務されていますが、関ジャバをJCPメンバーに申請する際にとてもお世話になりました。また何度も日本のJUGでJCPについて説明されています。

この記事はそのときの資料も参考にしながら書いています。関ジャバで話していただいたときの資料はこちらです。

www.slideshare.net

次回は

次回はJCPメンバーの種類やメンバーになる方法をご紹介します。

*1:2017/06/19追記