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?

2 Answers 2


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".

  • 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! May 14, 2011 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.

  • 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. May 14, 2011 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. May 14, 2011 at 23:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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