There are many misconceptions out there about what Bitcoin is. If you ask random people on the street you may get responses such as "magic internet money", "a digital cash company", or "decentralized cash software". Unfortunately all of those answers are wrong.
http://www.tjep.com/projects/works/15-icons/clockwork-love-gold
I'm a computer scientist and I even went a month or so investigating the space without realizing that there is no "one and only" bitcoin software. Bitcoin is a protocol, or a way that many parties agree upon the implementation of a system.
Google defines a protocol:
a set of rules governing the exchange or transmission of data between devices
Think of Bitcoin as the rules in the Fifa World Cup. There may be many different countries with their own players, strategies, jerseys, and fans. The only important thing is that when they show up to play they all adhere to the same set of rules. As long as a program follows the rules, it is allowed to participate in the bitcoin network.
Why isn't it one central program? Wouldn't that be easier to update?
Because it is just a protocol, Bitcoin is decentralized at the implementation layer. This does come at the cost of more overhead when updating because all the participating software programs need to update individually, but it is a valuable trade-off.
As a developer I can go write my own software, and as long as it adheres to the Bitcoin protocol then I (and anyone else I allow) can use it. As it stands there are many implementations. Here is a list of popular bitcoin software: https://en.bitcoin.it/wiki/Software#Bitcoin_software
One of the most confusing things about the cryptocurrency space is trying to differentiate the scammy coins from the useful technologies. The only redeeming factor of cryptocurrencies is that they are decentralized and censorship resistant. See this article: https://medium.com/coinmonks/bitcoin-blockchain-buzzword-bingo-1b6abbf0f1b4
If a cryptocurrency is developed by a single entity and the only software implementation is controlled by that entity, then the coin isn't truly decentralized. In order to achieve decentralization, the only necessary component is a protocol to be agreed upon. Once the protocol is set, any entities can go and develop their own software as they see fit and as it appeals to their specific users.
What happens when there is a disagreement?
When developers or community members disagree on how the protocol should move forward, everyone can still win. Some of the developers can start their own project working on a new protocol, and the other developers can continue as they were. The developers that wanted the change can simply fork the blockchain and develop in their own way. The protocol that more people favor will have the most users in the end. Forking is the perfect way to let the market decide. This is what happened famously between Bitcoin and the Bitcoin Cash fork.
Follow
https://medium.com/@lane.c.wagner
https://twitter.com/wagslane
Donate
BTC: bc1qvw0ytfntx6zs0lfsruem6xwj0mewng523ktatp
ETH: 0x3d737324ed6Ac204a809d17bc4807C6D2a05D6eD
BCH: qz5j4ypu4wf2x3960elyyxz4vk0z2p9lagfh52xq59
Nano: xrb_1ipdmx5ck6fwc1hkt3fg631z6twjo9e5m6e9dbenm65sbb3e4hgmd1ygxnq3