A committer is an individual who is permitted to modify the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
of a software project,
that will be used in the project's official
releases. To contribute source code to most large software projects, one must make modifications and then "commit" those changes to a central
version control system
Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code ...
, such as
Git
Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.
Design goals of Git include speed, data integrity, and suppor ...
(or
CVS).
In
open-source software
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
development, the committer role may be used to distinguish commit access, a specific type of responsibility, from other forms of contribution, such as
triaging issues or organizing events. Typically, an author submits a
software patch
Software consists of computer programs that instruct the execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital computers in the mid-20th cen ...
containing changes and a committer integrates the patch into the main code base of the project.
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
Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code t ...
and
software system
A software system is a system of intercommunicating software component, components based on software forming part of a computer system (a combination of Computer hardware, hardware and software). It "consists of a number of separate Computer progr ...
s, such as
BSD
The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginni ...
.
The commit bit represents the
permission to contribute to the shared code of a
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
project. It can be resigned or may be removed due to inactivity in the project, as dormant committer accounts can represent security risks.
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. 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.
# Be one of the original developers
# Be appointed by one of the original developers
# Be successfully voted in by the community of committers
Becoming a committer in an existing project often involves becoming active on both the
mailing list
A mailing list is a collection of names and addresses used by an individual or an organization to send material to multiple recipients.
Mailing lists are often rented or sold. If rented, the renter agrees to use the mailing list only at contra ...
s 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
Electronic mail (usually shortened to email; alternatively hyphenated e-mail) is a method of transmitting and receiving Digital media, digital messages using electronics, electronic devices over a computer network. It was conceived in the ...
vote. The XML-SOAP project hosted at Apache.org is an example of this process.
[http://mail-archives.apache.org/mod_mbox/xml-soap-dev/200006.mbox/%[email protected]%3e]
References
{{reflist
Free software culture and documents
Version control