Committers are chosen by the ZooKeeper PMC as outlined in the ByLaws. As stated, contributors are made committers by invitation only and are approved by the PMC. Since the nomination and voting process itself is confidential, this document lays out some criteria for granting committership in an effort to make the process slightly more transparent. It is also meant to help PMC members evaluate committer nominations.
As outlined in the ByLaws:
The project's committers are responsible for the project's technical
management. Committers have access to a specified set of subproject's
source code repositories. Committers on subprojects may cast binding
votes on any technical discussion regarding that subproject.
Note the emphasis on responsibility. In practice that means that a committer is expected to review and commit code. A developer that just wants to get his code committed will not benefit from being a committer since, as outlined in the ByLaws, a committer cannot approve their own code to be committed.
So, the task becomes finding someone that will actively review the contributions to ZooKeeper, for example releases, patches, and direction. We further expect that activity to contribute to the health of the community and the project. We will use the following indicators when proposing a new committer:
- Do they participate in a positive way in the community
- Are they familiar with the Apache Way, in particular meritocracy
- Active on the mailing lists, help answer questions when you can and do so in a respectful manner.
- Do they participate in a positive way in the technical management of the project
- Are they in sync with the development community? Submit patches, stick with them and be patient.
- Are they active on the Jiras? Willing to fix bugs as well as implement new features.
- Writing documentation
- Do they understand the code?
- Are they an expert in a certain module? (A developer that contributes a new binding for example.)
- Do they have long term interest in the project?
These are questions that guide the nomination process, but the answers are very subjective. There may be some cases where a committer nomination is based on firm affirmative to a single question, while others may not be nominated in spite of many affirmatives because of a single negative.
New Committer Process
- Start a [DISCUSS] thread on the PMC firstname.lastname@example.org list
- After some time/discussion occurs call a [VOTE] on the email@example.com list
- After 72 hours pass (see bylaws) announce the result of the vote (reply to VOTE thread)
- Notify the new committer, see this page for details, be sure to CC the PMC private@ list with the welcome email. Do not announce on dev@ until this process is completed (in case the committer turns us down).
- See this apache page for details on the apache process re account/karma/etc...
- Once the process is complete announce the new committer on dev@.