Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In open source jargon, is a "committer" someone who creates a commit that gets accepted into a project, or is a "committer" a gatekeeper who decides what commits/patches are or aren't accepted into the "blessed" repository?

share|improve this question
up vote 8 down vote accepted

From Wikipedia:

A committer is an individual who is able to modify the source code of a particular piece of open-source software.

It continues with:

Project committers are usually the lead developers of a project and usually are the ones responsible for the majority of changes and as such as seen as trusted members of the community. Relatedly, committers are usually responsible for the review of patches submitted members of the community for inclusion into the software.

This is the one who has commit rights to the main/production branch, that is, the "gatekeeper".

share|improve this answer
D'Oh! If I'd googled for "Committer" rather than "Software committer", I would have come across that entry. Too clever for my own good. :-o Thanks! – Andrew Grimm May 14 '11 at 15:27

A committer is anyone who has write access to a repository.

Depending on the volume of the project, it might not be a central or "blessed" repository. Some projects are sufficiently large that several highly trusted sub system maintainers serve as gate keepers for different parts of the code, and then their changes get pulled later (during a merge window) to the blessed repository. Linux is a good example of that.

In the modern DVCS era, most major projects are a series of pulls. A maintainer pulls a change from a contributor, then a high level maintainer pulls it all into the blessed repository. So when I say commit access, I mean to a repository that will ultimately be pulled into a release. In other words, any given change passes through a series of gates.

share|improve this answer
I think DVCS pull models really blurred the lines of what it means to be a "committer." Your changes might always make it into the official build as a matter of course, but technically not without the consent of others, where in centralized or DVCS push models you need no such consent. "Gatekeeper" denotes someone who pulls changes up to a certain level, and "committer" makes sense for individual subsystem repos, but neither term makes much sense for any individual project-wide. I'm sure even Linus has subsystem repos he can't push to. – Karl Bielefeldt May 14 '11 at 18:36
@Karl Bielefeldt Thats because you rarely push, other than to a repo only you have write access to. Normally you operate via pulls. That would be why Linus wouldn't have access. – alternative May 14 '11 at 23:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.