Open source shouldn’t mean closed protocols

”An open source infrastructure for a centralized network now provides almost the same level of control as federated protocols, without giving up the ability to adapt. If a centralized provider with an open source infrastructure ever makes horrible changes, those that disagree have the software they need to run their own alternative instead” — @moxie0

I enjoyed reading moxie0’s post on ecosystems and their evolution but the paragraph above is concerning. I don’t think it is really true.

If Facebook open sourced every line of code and I took it to setup Dionbook, could I compete? The lock-in of a service isn’t in its source code, it is often elsewhere. In the case of Facebook they have the social graph of their massive user base.

We can also look at some of the other examples used:

Slack vs. IRC: You could look at this as an example of the fast startup beating the slow standard. But is that the full story? There have been hundreds of group chat services, and non of them managed to get the lightning strike success that Slack has gotten so far. Many never got any steam, and even mild successes like Campfire had the team think that the space was feature complete and it slowed to a halt too!

It turns out that speed of innovation can have a lot of stop energy put on it. Success is often a large slowing force here. As soon as you have a large user base things change. Take Twitter. They had to famously take a step back and deal with the scaling challenges of their success. Subtle features such as how mentions work had a huge effect on the backend scaling needs of the data model. A slew of Twitter clones have popped up, and many of them have far more “features” (and some are successful in other regions: Weibo).

You can also look at some of the original Web hits, such as Craigslist. If I had a dollar for every time someone in the valley said to me that “I want to create a modern craigslist” I would be a rich man. But, it hasn’t happened yet. The value is in the market, similar to eBay. Disruption can come, but it often needs to disrupt the model. Slack can grow quickly and be a lil better as its ecosystem is teams. AwesomeMobileEbay doesn’t have that luxury, you end up with a chicken and egg problem.

What about the slow growth of Internet protocols?

“We got to the first production version of IP, and have been trying for the past 20 years to switch to a second production version of IP with limited success. We got to HTTP version 1.1 in 1997, and have been stuck there until now. Likewise, SMTP, IRC, DNS, XMPP, are all similarly frozen in time circa the late 1990s. To answer his question, that’s how far the internet got. It got to the late 90s.”

Once again, this is partially being a victim of success, and how interoperability is taken as a big deal. Also, HTTP is getting a lot more attention and HTTP/2 is doing great (in relative time). What would the world look like if a company owned these protocols? Imagine paying an IP tax per packet. Would that company be incented to innovate? Or, if they got enough support, would they be big enough to not have to, and instead the incentive is to be rock solid and get as many packets moving?

I think it is really important to think through the incentive structures, as they are the best way to understand and predict things. You have to ask “where is the money going to be made and by whom?” If there isn’t money, that is a problem itself. Maybe that is why IRC never took off, as it was hard to differentiate… but it could also be because the UX and feature set wasn’t there.

The ecosystem is moving, but it moves at a large scale across the experiments of open systems (the Web) and closed ones. We often end up comparing this to forms of government. One of the reasons I am a fan of democracy, even if it isn’t efficient, is that even if you have a benevolent king, you don’t know what his son will be like.

When you enter into an ecosystem it is prudent to think through the incentives and see if you are aligned to the folks with power, and also think through how their goals may change in the future.

But to the main point that open source allows for something almost as future proof as open protocols doesn’t ring true to me. One of the reasons that I am a fan of the Web is because, as messy as it is, it doesn’t empower any one player too much.

Leave a comment

Your email address will not be published. Required fields are marked *