Let's start with a little history. On 8 January 2009, the first release of Bitcoin was announced by Satoshi Nakamoto (satoshi @ vistomail . com.
The Windows-only version of the code was provided as a rar file which is still available at sourceforge. You had to unpack the files and run BITCOIN.EXE and it would automatically connect to other nodes.
A couple of years later, the Bitcoin project moved to GitHub.
When most people talk about the bitcoin source code, they are talking about a bitcoin client.
A bitcoin client is the "end-user software" used mainly for private key generation and signing transactions.
There are over a dozen bitcoin clients with the most famous being Bitcoin Core. There are 4 main GitHub repositories for this:
bitcoin: Bitcoin Core integration/staging tree
bips: Bitcoin Improvement Proposals
libblkmaker: MIT-licensed C implementation of getblocktemplate
libbase58: C library for Bitcoin's base58 encoding
As of today, these are the fingerprints of the "trusted PGP keys" for the GitHub repos:
71A3B16735405025D447E8F274810B012346C9A6
B8B3F1C0E58C15DB6A81D30C3648A882F4316B9B
E777299FC265DD04793070EB944D35F9AC3DB76A
D1DBF2C4B96F2DEBF4C16654410108112E7EA81F
152812300785C96444D3334D17565732E08E5E41
6B002C6EA3F91B1B0DF0C9BC8F617F1200A6D25C
In a GitHub repository, PGP trusted keys are public keys verified and trusted by the repository owners. Trusted keys can be used to verify the authenticity of signed commits and tags in the repository.
So who finally "controls" the source code? Whoever has the private keys for the 6 keys mentioned above.
But remember that control of the Bitcoin source code does not necessarily mean control of the Bitcoin network.
Thank you for writing this post. It made my understanding of Bitcoin better. Please do keep writing.