Bitcoin Core is an open-source code that anyone is able to view, comment on, or propose changes to. Anyone can change Bitcoin Core’s open-source code as their copy as frequently as they wish. You can examine the code on GitHub.
Not all code changes suggested by developers are accepted into the Bitcoin Core repository. Instead, the community intensely reviews and discusses each proposed change and then decides whether to accept or reject the proposed change. Everyone is welcome to participate in these discussions, and the decisions are decided by consensus, not by vote.
Once a change has been accepted by the community, a small group of people who serve as maintainers for the code integrates the changes into the codebase. These individuals are trusted to not arbitrarily add code to the repository without approval from the community.
If maintainers break their trust, they won’t compromise anyone’s existing node, and the original Bitcoin Core code can be restored by ignoring the malicious modifications. With that being said, the role of Bitcoin’s core maintainer carries little power or influence.
The History of Bitcoin Core
Bitcoin Core is the first implementation of Bitcoin, and was created by Satoshi Nakomoto in late 2008. Since Satoshi Nakamoto left the project in late 2010, a series of other people have been taking over as maintainers. Maintainers are not appointed by anyone; instead, they volunteer for the position. If maintainers lose the trust and respect of the community, they may be removed from their positions.
Bitcoin’s code has been fully functional since Bitcoin’s launch in 2009. However, as with any software project, there are bugs to be fixed and upgrades to be implemented.
Many individuals work on improving Bitcoin Core. These individuals are called Core developers, and there are no qualifications or restrictions to being a Core developer. Since Satoshi Nakamoto released the original version of Bitcoin, the number of developers has blossomed. At the time of writing, over 750 individuals have contributed to Bitcoin Core.
Core developers are not a centralized group of people. There is no leader or project manager who instructs developers on what to build or how. Instead, Core developers are individuals from across the world who each decide for themselves how they want to contribute to Bitcoin. In fact, some developers on the bitcoin project, including Satoshi Nakamoto, remain completely anonymous, allowing the merit of their ideas to be judged irrespective of their reputation or resume.
Each node operator in Bitcoin chooses which version of Bitcoin they want to run. The Bitcoin Network consists of thousands of nodes running dozens of different versions of Bitcoin software.
Furthermore, when developers update Bitcoin Core, some members of the Bitcoin network don’t immediately integrate those changes preferring to run old software and ignore updates.
This system gives control over the network to the bitcoin node, not developers and maintainers. If developers implement changes to Bitcoin Core, but most Bitcoin nodes don’t implement those changes, the network won’t be affected by those changes.
There are several different implementations of Bitcoin. There are many other software packages that are capable of joining and communicating with the Bitcoin network. Each of these different implementations interacts with each other to form a single, coherent network, similar to how each browser accesses the same internet despite their differences.