Committer Explained

A committer is an individual who is permitted to modify the source code of a software project,[1] [2] that will be used in the project's official releases.[3] To contribute source code to most large software projects, one must make modifications and then "commit" those changes to a central version control system, such as Git (or CVS).

In open-source software development, the committer role may be used to distinguish commit access, a specific type of responsibility, from other forms of contribution,[4] such as triaging issues or organizing events. Typically, an author submits a software patch containing changes and a committer integrates the patch into the main code base of the project.[5]

Commit bit

To have a "commit bit" on one's user account means that the user is permitted to contribute source code changes. This dates to the use of a literal binary digit to represent yes-or-no privileges in access control systems of legacy version control[6] and software systems, such as BSD.[7] The commit bit represents the permission to contribute to the shared code of a software project. It can be resigned or may be removed due to inactivity in the project, as dormant committer accounts can represent security risks.[8]

Common responsibilities

Project committers are usually the lead developers of a project and are the ones responsible for the majority of changes. They are seen as trusted, responsible and reliable members of the project's community.[9] Relatedly, committers are usually responsible for the review of patches submitted by members of the community for inclusion into the software. After a successful review, usually consisting of conformance to coding standards and ensuring it does not introduce any new bugs, the committer will commit that specific patch on behalf of the patch submitter.

Becoming a committer

The process to becoming a committer can vary across projects, but in general, there are three common ways to do it.

  1. Be one of the original developers
  2. Be appointed by one of the original developers
  3. Be successfully voted in by the community of committers[10]

Becoming a committer in an existing project often involves becoming active on both the mailing lists as well as with supplying patches. After enough involvement, the other committers can then vote you in as a new committer. This normally happens through an e-mail vote. The XML-SOAP project hosted at Apache.org is an example of this process.[11]

Notes and References

  1. Web site: Community-led development "The Apache Way". www.apache.org. The Apache Software Foundation. live. 2020-04-06. A committer is a developer that was given write access to the code repository […]. https://web.archive.org/web/20040423141440/http://www.apache.org:80/foundation/how-it-works.html . 2004-04-23 .
  2. Book: Riehle. Dirk. Riemer. Philipp. Kolassa. Carsten. Schmidt. Michael. 2014 47th Hawaii International Conference on System Sciences . Paid vs. Volunteer Work in Open Source . 2014. IEEE. 3286–3295. 10.1109/HICSS.2014.407. 978-1-4799-2504-9. 19009806. A committer is a software developer who has the necessary rights to commit to a code repository. […] Typically, in a two-step process, an author submits a patch and a committer integrates the patch into the main code base.. free.
  3. Book: Fogel, Karl. Producing Open Source Software: How to Run a Successful Free Software Project. O'Reilly Media. 2017. 2nd. 149. A committer is someone who has commit access: the right to make changes to the copy of the code that will be used for the project's next official release.This precise definition is important because, after all, anyone can set up a repository containing a copy of the project's code and allow themselves to commit to that repository;. Karl Fogel.
  4. Web site: Leadership and Governance. www.opensource.guide. Open Source Guides. en. live. 2020-04-06. The term “committer” might be used to distinguish commit access, which is a specific type of responsibility, from other forms of contribution.. https://web.archive.org/web/20170214135728/https://opensource.guide/leadership-and-governance/ . 2017-02-14 .
  5. Web site: OpenJDK Projects. openjdk.java.net. Oracle Corporation. live. 2020-04-06. An Author who is not a Committer still requires the assistance of a Committer to push changesets […]. https://web.archive.org/web/20070514032220/http://openjdk.java.net:80/projects/ . 2007-05-14 .
  6. Book: Brasseur, VM (Vicky). Forge Your Future with Open Source. Pragmatic Bookshelf. 2018. 978-1-68050-639-6. en. It's simply a phrase that originates in the access control systems of legacy version control systems, where a commit access was controlled by the value of a single binary digit (a bit).. VM Brasseur.
  7. Web site: The Life of a Pull Request & Where Commit Bits Come From. 2019-02-03. www.voidlinux.org. live. 2020-04-02. […] people who can merge changes are referred to generally as people with a commit bit. For those who are curious, this term comes from privileged users on a BSD system often having a "wheel bit". https://web.archive.org/web/20190401074726/https://voidlinux.org/news/2019/02/commit-bits.html . 2019-04-01 .
  8. Web site: Commit Bit Expiration Policy. 2013-11-26. www.freebsd.ch. The FreeBSD Project. live. 2020-04-06. FreeBSD committers may […] decide […] to resign their commit bit. […] a committer may become inactive over a long period of time without explicitly resigning their bit. Over the long term, these accounts can represent a security risk […]. https://web.archive.org/web/20200406163615/http://www.freebsd.ch/internal/expire-bits.html . 2020-04-06 .
  9. Web site: Participating in Open Source Communities. Peters. Stormy. Ruff. Nithya. The Linux Foundation. en. live. 2020-04-06. Committers: […] people who have contributed to the project and are considered reliable and responsible enough to be allowed to commit directly to all or some parts of the project […]. https://web.archive.org/web/20190323180933/https://www.linuxfoundation.org/resources/open-source-guides/participating-open-source-communities/ . 2019-03-23 .
  10. Web site: Committer Due Diligence Guidelines. 2017-12-19. www.eclipse.org. Eclipse Foundation. en. live. 2020-04-06. A Contributor may become a Committer once having been nominated and voted in by other Committers.. https://web.archive.org/web/20060209002810/http://www.eclipse.org:80/legal/committerguidelines.php . 2006-02-09 .
  11. http://mail-archives.apache.org/mod_mbox/xml-soap-dev/200006.mbox/%3c852568F9.0079E946.00@d54mta04.raleigh.ibm.com%3e