How do I play OpenJDK?
By JavaCecilia on Jan 11, 2013
In OpenJDK, there is plenty of room for innovation and ideas and also clear project management to get releases out there, choosing what projects to work on and prioritizing them. Reading the OpenJDK Bylaws will help participants understand how decision processes are designed.
After learning the rules, there's still plenty of room to learn how they are applied in reality, so plenty of excitement left. I'm pleased to see that the culture of OpenJDK when reading the mailing lists is based on strong values, e.g. technical excellence, contribution and helping others. Many Java User Groups have started engaging their members with OpenJDK in the Adopt OpenJDK program.
OpenJDK Quick StartOracle OpenJDK people Donald Smith, Dalibor Topic and Iris Clark gave an extensive presentation on the governance model for OpenJDK at JavaOne, you should really watch that, these guys know their stuff for real.
I delivered a presentation of a summarized model to the Hamburg JUG just before Devoxx, I'll summarize the presentation below, well aware that I'm omitting some important details, so consider this a crash course, to get a feeling for the governance model. If anything seems odd, please refer to the OpenJDK Bylaws and what the OpenJDK Governing Board says.
You can review lists of the Groups, Projects and people in OpenJDK from the Census page.
General Community role, anyone interested signing up for different mailing lists, making minor contributions.
General Community role, someone that has signed the license agreement OCA, can propose/submit non-trivial changes to OpenJDK code.
Senior role, after nomination of other Members. There are a bit more than 100 OpenJDK Members currently.
- A Group is a set of Participants sharing an interest discussed over email and web page.
- OpenJDK Members can propose creation of a new Group.
- A Group can sponsor Projects.
Group OpenJDK Governing BoardMakes sure everything is working as directed by the Bylaws.
Five members, two members appointed by Oracle, one member appointed by IBM and 2 “at-large” members elected annually. Sponsors projects for Java SE Platform releases like JDK8.
Group OpenJDK MembersMay vote on new Projects, nominate Groups, vote for “at-large” members for the Governing Board.
Other GroupsExamples of other groups are Porters creating ports to different platforms and the group Build sponsoring update releases.
Roles of Groups
Group MemberA Contributor who has history of significant contributions to a group, and elected to membership in that Group.
May nominate other Contributors to elect a Group Member.
Has write access to the Group’s web content and file repositories
Group LeadAn OpenJDK Member who is responsible for directing and coordinating the Group’s activities.
Has the authority to sponsor Projects.
Obligation to act as contact point for Group and look after content.
Obligation to publish a quarterly report on activities on the Group.
Appointed upon Group creation by approval of the Governing Board.
A Group Lead who has departed may be replaced by approval of Group Members and ratification by Governing Board.
A Group can sponsor Projects.
A Project have a specific purpose like to produce code or documentation, e.g. Coin or JDK 8, and can have a code repository.
Projects are operated in an “open, transparent and meritocratic” way.
AuthorCurrently there are approximately 400 authors in total.
Self-nominated, appointed by Project Lead.
Should have done a few relevant, sponsored requests.
May create change sets but may not push them directly.
CommitterNominated and approved by other Committers after a number of significant changes.
May create and push change sets when confirmed by approval process.
May vote on new Committers.
ReviewerAn Experienced Committer, a larger number of changes, nominated and elected by other Reviewers in the Project.
Role only exists in Projects where a Reviewer Role is required.
Reviews and approves change sets.
Project LeadA Committer for the Project responsible for directing and coordinating the Project’s activities.
Considered a Reviewer, and maintain Reviewer status
Elected by the sponsoring Group Lead(s).
Has full authority over all technical matters related to the Project, including when to require formal change reviews.
Has the authority to appoint and remove Authors who are not also Committers.
Obligation to act as contact point for Project and manage content.
Obligation to publish a quarterly report on activities on the Project.