What is a committer?
Technically, a committer is someone who has write access to the Chromium SVN repository or the Chromium OS Git repository. A committer can submit his or her own patches or patches from others.
This privilege is granted with some expectation of responsibility: committers are people who care about the Chromium projects and want to help them meet their goals. A committer is not just someone who can make changes, but someone who has demonstrated his or her ability to collaborate with the team, get the most knowledgeable people to review code, contribute high-quality code, and follow through to fix issues (in code or tests).
A committer is a contributor to the Chromium projects' success and a citizen helping the projects succeed.
How do I become a committer?
In a nutshell, contribute 10-20 non-trivial patches and get at least three different people to review them (you'll need three people to support you). Then ask someone to nominate you. You're basically demonstrating your
- commitment to the project (10+ good patches requires a lot of your valuable time),
- ability to collaborate with the team,
- understanding of how the team works (policies, processes for testing and code review, etc),
- understanding of the projects' code base and coding style, and
- ability to write good code (last but certainly not least)
A current committer nominates you by sending email to committers@chromium.org (for Chromium) or os-committers@chromium.org (for Chromium OS) with an explanation of why you should be a committer and links to revisions containing your patches. Two other committers need to second your nomination. If no one objects in 5 working days (U.S.), you're a committer.
If anyone objects or wants more information, the committers discuss and usually come to a consensus (within the 5 working days). If issues can't be resolved, there's a vote among current committers.
Once you get approval from the existing committers, we'll send you instructions for write access to SVN or Git. You'll also get an @chromium.org account and be added to committers@chromium.org or os-committers@chromium.org.
So, in the worst case, this can drag out for two weeks. Keep writing patches! Even in the rare cases where a nomination fails, the objection is usually something easy to address like "more patches" or "not enough people are familiar with this person's work."
Provisional committers
Sometimes people are brought into the Chromium projects with long-term goals of helping the projects: we want committers to be able to add these people and get them productively helping quickly.
An existing committer can sponsor someone (one at a time, please) who is expected to quickly become a committer and stick with the project for a long time. We'll give the provisional committer write access right away. The sponsor is responsible for cleaning up any messes, getting the new person properly trained, and generally getting to the point of formally nominating the new person in 4-6 weeks.
A provisional committer should have already contributed at least one patch so that it's clear the person is ready for write access and so that their provisional commit period isn't half-consumed with just learning about the code and processes.
If a provisional committer fails to get formal commit access in 6 weeks, we'll remove write access and ask them to keep submitting patches using the same process as other new contributors. There will, of course, be strong words for the sponsor.
Maintaining committer status
You don't really need to do much to maintain committer status: just keep being awesome and helping the Chromium projects!
A community of committers working together to move the Chromium projects forward is essential to creating successful projects that are rewarding to work on. If there are problems or disagreements within the community, they can usually be solved through open discussion and debate.
In the unhappy event that a committer continues to disregard good citizenship (or actively disrupts the project), we may need to revoke that person's status. The process is the same as for nominating a new committer: someone suggests the revocation with a good reason, two people second the motion, and a vote may be called if consensus cannot be reached. I hope that's simple enough, and that we never have to test it in practice.
[Props: Much of this was inspired by/copied from the committer policies of WebKit and Mozilla.]