There’s little argument that open source has transformed our world. As a developer, I cannot recall a single day in the last few years where I did not rely on open source software. I’m not the exception. The majority of software engineers today rely on open source daily in their professional lives.
The motivation is clear. Open source is good for humanity. It is making technology more accessible and open — anyone can build anything.
If you had asked a random developer 20 years ago whether this idea of open software would ever catch on, they would have laughed. Sharing intellectual property, your competitive advantage? absurd. Would it affect real business? barely, it’s a niche. The ones leading it? anarchists, trying to tear down establishments.
This is not very far from how many people view blockchain today. Decentralizing control when you can hold on to it? absurd. What is the business use-case? not mainstream, a niche. The ones leading it? anarchists, trying to tear down institutions.
With blockchain, it’s actually worse. The inflated cryptocurrency bubble and its recent recession, the abundance of opportunism and over-speculation, are all adding even more suspicion to the mix.
In the beginning it seemed that open source and for-profit companies were mutually exclusive. Corporations like Microsoft were hailed as the enemies of open source. Companies saw code as their secret-sauce, which sharing would bring-about their downfall or destroy their competitive edge. Today, nothing is further from the truth.
The biggest contributors to open source today are for-profit enterprises like Microsoft, Google, IBM and Facebook. These companies are leading many of the most popular projects like React and TensorFlow. Personally, I was lucky to be part of such a company, Wix.com, and help take it from a walled-garden to number 11 in some obscure ranked list of global open source contributors in 2017.
Why are these companies choosing to open parts of their IP? Well, it’s certainly not because of ideology. Open source is making these companies more competitive.
A good example is Google with Android. Google was late to the coveted space of mobile already predominated by Apple with the transformative release of the iPhone. Microsoft was late as well (technically they were there first but with the wrong product), with more years of operating system domination than the other two combined. Penetrating this emerging market was no easy task.
Part of Google’s strategy was relying on a largely open source operating system, Android. Manufacturers like Samsung would have otherwise found it hard to join — basing critical parts of their business on an ecosystem they have zero control over would be unwise. This strategy paid off. The Android ecosystem grew as the open answer to Apple’s closed garden. Google did forgo the ability to sell licenses for this property, but gained something much more valuable: presence in the pockets of over a quarter of the population of Earth.
The same debate is taking place today about blockchain. Why would for-profit companies, market leaders especially, ever opt to decentralize any part of their business? Isn’t their position of power linked to centralized control?
I argue that they will do so for the same exact reason. Not because of ideology, but because it will make them more competitive. To maintain their positions of influence they will have to make ecosystems that are more open. Otherwise, their competitors will, and win.
We’ve seen why a company like Facebook would release IP like React — a project that transformed the way web frontend is built. What is less clear is why other companies would adopt Facebook’s native technology for their own critical-business paths.
I was fortunate to have had a front row seat to such a decision. When I was at Wix.com there was a debate on whether to base the Wix.com website editor on React. For a company that creates websites for a living, risking the editor is risking the lifeline of the company as a whole.
Imagine that one day Facebook decides to compete with Google for web domination and releases its own web browser as an alternative to Chrome. Significant parts of the web are based on React. What if, in this dystopian future, Facebook decides to make React incompatible with Chrome? This decision could jeopardize Wix.com’s business.
The governance of open source is successful mainly due to the concept of forks. Anyone can take the entire source code of any open source project and make a copy that they control, at the click of a button. If Facebook would ever make React incompatible with Google Chrome, Wix.com can fork React and create a version that is compatible. If the community favors this fork to the one Facebook is maintaining, they would adopt it. At some point, the more popular fork would actually become “the” React in the eyes of the public.
This delicate balance keeps Facebook in check. Facebook may maintain its position of influence as long as it doesn’t abuse it. Where does the line cross? where the consensus says it does.
This sounds awfully close to how blockchain governance works. This same guarantee of the ability to fork is one of the core guarantees this technology provides to its users. One thing to notice is that this guarantee is much stronger under blockchain. Beyond the source code of the system, you can fork all of its data as well.
We’ve drawn several parallels between open source and blockchain. We’ve seen similar regard to both movements in their early days. We’ve seen similar motivations of openness. We’ve seen the same questions whether for-profit companies fit in. We’ve seen the same governance and balance of power.
I argue that it’s more than mere coincidence. I see Blockchain as a continuation of the open source movement, picking up where this left off.
There’s a clear limit to what can be shared with open source. Open source cannot open up live systems, it cannot open their data. You can share the source code for a server, but naturally you cannot share a running instance of this server.
Blockchain is making this next step technologically possible.
Let’s go back to Android. We’ve seen the value the ecosystem derives from having control of the operating system source code — this value allowed companies like Samsung to join in and made this ecosystem attractive.
But Android is not just source code. There are many living services required for the ecosystem to function. Android relies on push notifications, it relies on payments, it relies on apps being downloaded from Google Play. These services are all running instances, not just code. Billions of users query them daily. They hold data.
Who is running those services? Let’s focus on Google Play. With a name like that the answer is self evident. Google is running these services on private infrastructure that isn’t shared with anyone.
What is the cost of having Google in sole control of Google Play? For starters, a 30% fee every developer pays Google for the benefit of distributing their app digitally. But that’s just money. Every mobile developer has felt the uneasiness with the app approval process. Less fortunate ones have experienced app rejection and the 3 strike suspension policy. Absolute control of a distribution channel where said company’s own products are being sold and distributed can’t be good for competition. See what’s going on with Spotify in the Apple store.
What about competing app stores on Android? They’re possible, Amazon did a great job of building an alternative. Unfortunately these alternatives cannot resolve the fundamental problems and offer little differentiation.
Being able to run a service like Google Play together would provide a great value to the Android ecosystem. Such an idea is not technically possible with open source alone.
It is technically possible with blockchain though, I will be more than happy to show a proof of concept in one of my future posts. But let’s be honest, we won’t see this happening any time soon. A community run decentralized Google Play isn’t practical enough today primarily for business reasons.
Instead, I see a different opportunity. An opportunity for a for-profit giant like Microsoft, desperate to carve some niche in the mobile space. Building an app distribution channel that is not completely centralized. Giving a few more guarantees to the developers who are relying on it. Not because of ideology, but because it will make the offering more competitive — more competitive than Google Play and Amazon Appstore at least.
I believe that history will show that every system that has multiple parties relying on it will eventually have to provide its users with some hard guarantees. Not for ideology, but to remain competitive.
This doesn’t mean that every system will run on blockchain. Just like every piece of software doesn’t have to be open source. But there is some critical part of the world that has to be open. Just like some critical parts of software must be open source for companies to be successful.