I read this paper over the weekend by The Center for Civic Media & The Digital Currency Institute. It looks at the centralization of power among tech companies in the publishing industry, the risks it poses, and how decentralization might help mitigate them.

I liked how they attempt to question the base assumptions around decentralization as the solution. Is the concept of centralization necessarily a bad thing? Or just the current state of it? What are the specific problems centralization is causing? And is decentralization the best way to solve them?

This talk by Albert Wenger makes a similar point that decentralization is not inherently better than centralization. There are fundamental limitations of decentralization and new problems it introduces. We should be intentionally decentralizing to solve a problem, not just decentralizing for the sake of making something that’s not centralized.

I feel strongly that the concentration of power among a few large tech companies is a serious problem that we should be trying to solve.

I’m also extremely bullish on decentralization as a solution to that problem. It’s an appealing technical solution to the problem. And the innovation around blockchains, smart contracts and tokens has the potential to better align the interests of platforms and users. All the excitement around ICO’s is a good thing, because it’s enabling us to run a lot of experiments. Many will fail, hopefully some succeed, but at the very least we’ll learn a lot.

As a thought experiment though, I wonder if we’re too focused on pursuing decentralization as the solution? What if in doing so we’re missing more pragmatic alternatives that are less technically perfect? What about non-technical approaches? Do we really need to build a fully decentralized version of each platform in order to adequately mitigate the risks of the centralized version?

It reminds me of the Joel Spolsky quote:

There’s a subtle reason that programmers always want to throw away the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: they are probably wrong. The reason that they think the old code is a mess is because of a cardinal, fundamental law of programming: It’s harder to read code than to write it.

It’s harder to understand all the intricacies of how the existing paradigm works and construct hypotheses for how we might disrupt the power of large tech companies within that paradigm. It’s a lot easier to write it off as impossible and try to create a new paradigm. But creating a new paradigm costs more, takes longer and there’s no guarantee it will adequately solve all of our problems.

It seems like the majority of the tech world has accepted that decentralization is the way we will eventually solve this problem. I’m curious what alternatives are out there and who’s working on them. Any links or recommendations would be appreciated!