It seems fairly obvious that in the world of open source software development that anyone, anywhere can start reading code and start doing whatever they want with it, but where it gets complicated is when that modified code wants to come back into the source repository. When a programmer starts to actually engage the project community with any ideas or code contributions that reaction can range from admiration and acceptance all the way to flat out denigration. That’s because every project has a certain culture that is created by it’s members and cultivated by the project’s leader(s). But what happens if that project has no leader?
An airplane with no pilot surely crashes into the ground or ocean. But open source projects are not run by machines that simply fail, they are more resilient and just like a country whose leadership has been forcibly removed a vacuum is created and a power struggle emerges when there is no one at the top. Satoshi Nakamoto created Bitcoin and stayed around long enough to ensure it was in good hands and making progress. Or maybe they didn’t. Maybe they left for other reasons. Regardless of his or her motivations for moving on, the Bitcoin community was left searching for the next Satoshi to tell us exactly what should happen next and we’ve spent the last several years trying to tell each other what Satoshi would do if they were still pulling the strings.
I’m absolutely convinced that it’s because Bitcoin as an idea is so revolutionary and controversial that it not only attracts the smartest and the brightest but also scam artists, idiots, politicians, economists and anyone with an Internet connection who thinks they have something to say. But who should control the future of Bitcoin? Are we expected to believe that this amazingly diverse set of actors are going to somehow get together at a round table or chat room and just come to agreement on every issue? I would argue it’s an approach that’s ultimately destined to fail. We should not be trying to emulate existing development models, because there is no existing model that fits what is happening. There hasn’t been a project so large and so important that didn’t have someone or some organization controlling it directly. I think that we don’t need Bitcoin Core Developers; we need Bitcoin core developers.
Everyone from individual users to miners to the core developers themselves need to stop pretending like Bitcoin is theirs. Bitcoin is permission-less so why are we all so obsessed with figuring out who owns it? Why are we giving it to the core developers? Why are we capitulating to the Chinese miners? Why are we getting rattled by uninformed users who couldn’t even read the source code let alone submit a pull request? The fight between these interest groups has gotten so nasty that when you step back from it for a moment you might ask yourself what the fuck did I get myself into? I don’t blame anyone for walking away shaking their head or whiny rage quitting, but I also don’t believe that it’s all a lost cause.
If Bitcoin is going to survive then we must not be afraid of the principles that underly open source itself. The three buttons on GitHub ask us to Watch, Star or Fork the project. It’s that last one that we all want to pontificate on. The nuclear option. Fork…it’s what happens when you’ve finally decided that whomever owns this repository is no longer willing to work with you and you have no other option but to separate. But we shouldn’t be afraid to let our paths diverge. If we can’t work together and find a way to accommodate new feature requests or modifications then maybe we’re better off with two instead of one. If we can’t find a way to work it out then maybe there is justification for having two separate Bitcoins. For those that say a fork is no longer Bitcoin, I’d say you’re both no longer Bitcoin. None of you can claim to be the true Bitcoin. That possibility ended when Satoshi stepped away silently. It’s nothing but a white paper now.
Notice the image here that shows the icons for the Bitcoin Core and Bitcoin Classic Slacks. Can you tell the difference? Nope. You can’t because they’re the same. Both groups think they represent the one true Bitcoin, but it’s an illusion.
It’s two different windows looking out onto the same green fields in crypto world.
I think there is a possibility for all those working on Bitcoin to get together and fix the problems that threaten to tear us all apart, because they’re mostly human problems. We constantly get brilliant engineering solutions, but it’s the social problems that hurt us the most. If we can’t figure out a way to deal with those issues then I’m glad we have multiple teams working on their own vision of Bitcoin. I don’t care who you are, how long you’ve contributed, how many lines of code you wrote or who your dad is, you don’t own Bitcoin. And neither do I.
In closing I believe there are several guidelines to follow to ensure a promising future for Bitcoin:
- Don’t be an asshole
- Don’t be afraid to speak your mind
- Don’t let others stifle your innovation or your excitement
- Write code
- Realize you don’t know everything (no matter who you are)
- Use your Bitcoin so you understand what it is and what it isn’t
- Work together, not against
If we can make progress on these guidelines and learn to shut out the noise I know we can prove to the world that Bitcoin isn’t just an experiment resigned to failure and plagued with infighting.