Before we get started, if you’re interested in more in-depth information about the Bitcoin Core Development process, check out Matt’s guide to Bitcoin Core Development for MacOS or Danny’s Bitcoin Core Development for Windows.
How is Bitcoin maintained?
“Bitcoin Core” or the software behind Bitcoin is open source 👇 which means that anyone can view the source code and get involved in making changes.
Bitcoin’s code is primarily hosted on GitHub (as well as being backed up on other sites) and written in 3 main languages at present, C, C++ and Python. There are a few different Bitcoin projects on the go (otherwise known as “depositories”), but they all merge back into the same Bitcoin Core software.
Who maintains Bitcoin?
There are a few key roles that look after Bitcoin’s code, including “Maintainers”, “Contributors” and “Reviewers”. None of these are paid roles though, the people involved do it voluntarily.
Known as the caretakers of Bitcoin, this small team of people is made up of software developers who “merge” or approve/decline suggested changes and edits to the code.
Maintainers are voted in by the team of contributors.
Anyone can make code change suggestions (called Pull Requests) and test/review other open requests. There are a lot of Bitcoin contributors, all of whom are given credit here.
After a Pull Request has been made, there are no hard rules in place for when they will be approved or declined. Typically, 3 maintainers can approve a change, depending on how significant it is. E.g. fixing typos doesn’t take long to approve.
If you’re unsure whether you’re quite ready to write your own code to commit to the project, you can begin by reviewing other people’s code. This is something the industry is still lacking on and is always shouting for more people to review code. Without code being reviewed, it cannot go live, meaning that development can be slower than people want.
If you’re not a techie, you can still help as a reviewer by testing the code changes.
Who approves code changes?
When Bitcoin first began, Satoshi was the only person with complete code access. Before disappearing, he gave the keys and control of the original account to Gavin Anderson. Eventually, Gavin gave this access to Wladimir van Der Laan, who has the keys today.
Currently, there are 5 maintainers in total — Wladimir, Jonas Schnelli, Marco Falke, Samuel Dobson, and Michael Ford.
Supporting the developers
There’s an opportunity to donate and support the developers financially too — a number of big companies sponsor the developers, while donations from the general public are always welcomed!
For more information on donating and contributing to Bitcoin Core, please visit Bitcoin.org.