During a Q&A session, Andreas M Antonopoulos, the author of Mastering Bitcoin, spoke about the maintainers of Bitcoin Core and whether it is possible to know their privileges at any given point in time.
Andreas started by elucidating on the term ‘maintainer’ and the difference between contributors, committers, and maintainers in an open-source project, which is partly hosted on Github. According to him, contributors are those individuals who make pull-requests and actively contribute to the code.
Pull requests refer to the state wherein an individual publicizes the changes they have pushed to a GitHub repository. When this is done, people interested in the project can review the changes proposed, discuss the proposal with the members of the community, and also push follow-up commits.
“All changes to Bitcoin Core happen through pull-requests. Nobody commits [new changes] directly to a [release] branch without a full review of their pull request. All changes go through a pull-request process.”
Whereas, maintainers are those people who are responsible for gathering all the change request, which has been approved by the “broad social consensus of the development community”.
“Changes must have broad consensus and acceptability to be included into the next release. [after discussion about] how to sequence them, when to package them, and what each release should include. Even [those] decisions are heavily influenced by the collaborative communication between contributors, who are commenting on the pull-requests and [fostering] open discussions about [development timelines].”
He went on to say that the main role of a maintainer is to schedule the release and manage them, thereby ensuring that the right changes are included, “putting them through quality assurance testing, and then finally producing a release as a bundle of changes with a specific version number”.
“That [comes with] release notes about what changed, who changed it, who contributed, what effects it has, why the changes were [made], and any upgrade or migration steps that are necessary. Maintainers collect all of that documentation.”
The author stated that the lead maintainer at present for Bitcoin Core is Wladimir van der Laan. He further added that the number of contributors ranges from 30 people, who are contributing to the project on a regular basis, to 500 people, who are contributing to a certain extent.
Andreas also spoke about the people in Bitcoin Core with commit access. This refers to those people with write access to the source code, without going through a third person. Here, he stated that the people in Bitcoin Core with commit access to the repository, do not use that commit access. He said:
“If they do have it, they don’t use it. All commits [are done] by the project maintainers, [who manage releases]. It is a very different perspective [from most projects].”
This was followed by the author stating that currently there are five trusted PGP keys. These keys belong to the lead maintainer, Wladimir van der Laan, Pieter Wuille, Jonas Schnelli, Marco Falke, and Samuel Dobson. These people can sign commits into the repository, however, they are usually not the ones making the commits, he added.
“Wladimir simply reflects, and does administrative work for, decisions which have already been made… by the community. In fact, he exercises very little authority over what goes into a [Bitcoin Core] release. He reflects decisions that have already been made in a very collaborative and open manner, through discussions on the pull-requests and project notes [around] the code.”
Subscribe to AMBCrypto’s Newsletter