April 5, 2021

The Role of Open Source in Infrastructure

This is my seventh blog post for the UVA class LPPS 4720.

There are two major types of infrastructure that power the Internet: decentralized and centralized. While open-source software can live on both centralized and decentralized infrastructure, I believe that the future of the Web will rely on distributed computing over a decentralized network of computers. Open-source is key to making this work effectively.

As I mentioned in my previous post Tim Berners-Lee envisioned the World Wide Web as a primarily decentralized platform. With the rise of Web 2.0, websites became more complex, turning into web applications that require servers in order to function. This marked the beginning of the centralization of the Web, where the companies that owned the servers on which these new web applications ran essentially controlled a large portion of the Web. The rise of Cloud Computing greatly accelerated this trend, with companies like Amazon and Google owning a massive share of the servers which power many of the latest web applications. It is definitely possible to run open-source software on Cloud infrastructure, but you are still giving away your freedom to control the computers on which your software is running (this is often a good tradeoff considering how difficult servers are to reliably maintain).

An alternative to Web 2.0-style centralization is a fully decentralized platform to host web applications. There are already many decentralized peer-to-peer protocols native to the Internet such as email, instant messaging, bittorrent, etc., but I’m discussing alternatives to traditional server-based infrastructure. The invention of blockchain technology enabled a secure, trust-free way to store data and build decentralized applications that run on a peer-to-peer network of computers. Blockchain is not a viable alternative to traditional server-based applications in all cases, at least not yet. Decentralized applications (dapps) based on the Ethereum blockchain are less efficient (although this will hopefully be less of an issue with Ethereum 2) and have no centralized authority to contact or blame if something goes wrong. The Ethereum dapp website has a great list of other drawbacks to using these types of applications. The primary benefit of dapps is that they are completely free and open-source—they live on the blockchain so they are automatically trustless and resilient to censorship and control, and users have full confidence that the software they are running is identical to the code they have access to (because everything is open-source).

While it’s possible to build applications using open-source technology on both Cloud Computing platoforms and on the Ethereum blockchain, I believe that dapps are a promising alternative to traditional server-based centralized infrastructure. Even though it’s certainly not the best fit for every application, I believe that the Web 3.0 is the future of the Web and will continue to gain viability as the technology improves over time.

© Samarth Kishor 2020

Powered by Hugo & Kiss.