4

Andrew Chow (2020) compiled a great list on when people gained/lost commit access to Bitcoin Core.

Satoshi asked Andresen to take over as Lead Maintainer, and Andresen passed the responsibility to Van Der Laan. The Lead Maintainer appears to be selected by the previous Lead Maintainer (by convention).

  1. Many others have received/lost commit access. How exactly is this decision made? and by who?

  2. If the Lead Maintainer unexpectedly died (hope not), but if he did, who would decide upon the next Lead Maintainer and how?

6

Many others have received/lost commit access. How exactly is this decision made? and by who?

Nowadays the decision is generally made by the developers during one of the weekly IRC meetings. This is not done by committee nor a specific group, just whoever is attending the meeting when the topic is brought up. It's usually the same people at every meeting.

Typically how adding a maintainer works is that someone brings up a topic for adding a maintainer, others nominate a person to be that, and then the group votes. Since in the past there have really only been one person nominated at a time, it's been a yes/no vote rather than a vote for a candidate. The process is largely informal as the people nominated are typically well known developers and have been around for a while.

For revoking access, the process works pretty much in reverse. Someone brings up a topic to remove access for particular users, typically because they are inactive, and the group votes on whether to do so. There have been a few exceptions to this - Gavin Andresen's commit access was revoked after concerns that his accounts had been compromised. Since he was also inactive, it was decided to leave his commit access revoked.

Developers may also choose to no longer have commit access in which case their commit access is revoked upon asking.

If the Lead Maintainer unexpectedly died (hope not), but if he did, who would decide upon the next Lead Maintainer and how?

It would pretty much be the same process as adding a new maintainer. This is also likely the same process if the lead maintainer decided to step down. Someone would volunteer or be nominated, likely one of the current maintainers, and then that person is voted on by the group at a meeting.


In general, there is a formal process for adding or removing commit access. It's generally done by the group of developers attending an IRC meeting with those developers essentially voting yes/no.

| improve this answer | |
  • Thanks again Andrew. Superb reply as always :-) Now that there is institutional interest in Bitcoin, do you think more robust governance mechanisms are needed? It is only a matter of time before major banks have their own Bitcoin 'devs' contributing to the GitHub repo. As a group, they could flood the IRC, and get someone pro-institutional-banking in to commit access ranks. At which point Bitcoin no longer belongs to us, but rather to banks and how they choose to develop it. – Aman Saggu Oct 27 at 16:45
  • 2
    Generally the maintainers have been established developers who are well known already. I think it would be unlikely that a newcomer would be able to become a maintainer. Furthermore, given how informal the process is, the "votes" from randoms and newcomers would be given less weight. If many established developers were to NACK (vote no) a potential maintainer, then he would not be given access. – Andrew Chow Oct 27 at 16:56
  • That makes sense. I suppose if formal governance mechanisms are used, it ceases to be 'decentralised'. Perhaps the informal approach is okay for now. – Aman Saggu Oct 27 at 17:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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