#chiroito ’s blog

Java を中心とした趣味の技術について

OpenJDK の Author から Committer になりました

これまで通算11個のパッチを書いたので、推薦してもらい、OpenJDKコミュニティ内での信任投票の結果 OpenJDK の Committer になりました。

※推薦してもらった時点では12個でしたが、その間に1個ダメになったので11個でした。

他のOSSだと1個パッチを書くだけでCommitterと呼ばれるようですが、OpenJDKはしっかりとした任命プロセスがあります。プロセスについては以下のリンクに詳細が記載されています。

http://openjdk.java.net/projects/#project-committer

それでは任命プロセスを踏まえて私の例を振り返ってみましょう。私はまず3つのパッチを書いて、Author というロールになりました。これによって、Java Bug SystemやReview用のサーバなどのOpenJDKを開発するためのツールの一部が使えるようになります。

Author になった時のブログはこちらです。

OpenJDK の Author になりました - #chiroito ’s blog

Authorに任命された後もさらにパッチを書き続け、エンハンスも含めて20個ぐらい書きました。しかし、JFRのエンハンスはほとんど不採用となり、8個のパッチが採用され、通算11個のパッチとなりました。

ここに至るまで、ほんとReviewerの末永恭正さん(@YaSuenag)には大変お世話になりました。たくさんアドバイスやレビューをしていただいたので、ほんと足を向けて寝られません。

十分な修正量のパッチが揃ったら、OpenJDKコミュニティにいる誰かに推薦してもらいます。だれに推薦してもらうかによってコミュニティでの信頼度が高まりますので、政治力が非常に重要になります。私の場合は所属している Red Hat の OpenJDK チームのリーダーに推薦してもらいました。

Committerになるには十分な修正量のパッチが通算8個以上必要です。そのため、自信がある人は8個のパッチを書くだけでCommitterになれます。私はそんなにスキルが高くないので、通算11個になるまで推薦してもらうのを控えてました。

こんな感じの推薦メールを出してもらいます。

CFV: New JDK Committer: Chihiro Ito

I hereby nominate Chihiro Ito <xxxx at redhat.com> to JDK Committer.

Chihiro Ito has contributed 12 significant fixes to OpenJDK.

Votes are due by March 27, 2020.

Only current JDK Committers [1] are eligible to vote
on this nomination. Votes must be cast in the open by replying
to this mailing list.

For Lazy Consensus voting instructions, see [2].

Thanks,
Anton // http://openjdk.java.net/census#ant

[1] http://openjdk.java.net/census
[2] http://openjdk.java.net/projects/#committer-vote
[3] List of changes:

[2] List of changes:
http://hg.openjdk.java.net/jdk/jdk/search/?rev=keyword%28chihiro.ito%29%20%7C%20author%28cito%29&revcount=20

(以下パッチの一覧を記載)

このメールに返信する形で投票が始まります。Committer以上の人が良いかダメかを返信することで投票します。投票には期限があり、全てのCommitterが投票をするか、この期限を迎えることで投票が完了します。

私の投票の期限は2020/3/27でした。投票が完了するとこんな感じの結果発表メールを出してもらいます。

Result: New JDK Committer: Chihiro Ito

Voting for Chihiro Ito [1] is now closed.

Yes: 15
Veto: 0
Abstain: 0

According to the Bylaws definition of Lazy Consensus, this is
sufficient to approve the nomination.

[1] https://mail.openjdk.java.net/pipermail/jdk-dev/2020-March/004044.html

この結果がOKだとOpenJDKコミュニティからCommitterとして認められたということになります。(ここから先のプロセスがないのでたぶん)

OpenJDK開発者一覧にあるロールが更新されます。

OpenJDK Census

f:id:chiroito:20200407113826p:plain

これでOpenJDKのリポジトリにコミットができるようになり、ブランチを使ったテストの自動実行ができるようになります。

Submit Repo - Build - OpenJDK Wiki

なお、Author から Committer になるために書いたパッチはこちらです。

興味のある方はぜひOpenJDKへ貢献してみてください。