The ability to collaborate code development has been a hallmark of the internet since the beginning. Open source development in particular has seen tremendous growth over the last decade, indicating that open source development generates a stronger software product and that the use of open source software can provide a better model for both communities and businesses alike. The foundation of much of this growth has evolved around GitHub, the Goliath of peer-to-peer code collaboration tools. With millions of developers using GitHub, the site has transformed from a small, genius collaborative platform to the center of a giant acquisition by none other than Microsoft. While the company said that this investment was to continue their commitment to developer freedom, some were skeptical given Microsoft’s extreme centralization. Massive numbers of developers continued using the platform, hoping that operations would continue as usual. But the discussion of Microsoft at the helm started raising concerns, igniting a discussion that questioned the wisdom of a centralized platform controlling a sizable portion of the world’s open source development. After all, there have been issues with geo-blocking users and development in the past, along with the politicalization of these decisions.
Around this same time, some users found themselves blocked from GitHub, with Microsoft offering no explanation as to why. One of these users was GitHub’s co-founder and former CEO, Chris Wanstrath, who posted a screenshot showing the ban and suggesting that he was officially moving his code elsewhere. It was at this point that other users started asking the critical question: Who is building a decentralized GitHub?
Sonya Kim of Progrmd Capital recently published a thesis around decentralized software development collaboration, citing the move toward open source software and the need for it to be out of the hands of centralized companies. The stats show a clear move in this direction, and the decentralized architecture makes a strong case for why this is the right move. Let’s dig in to find out what decentralization offers code collaboration and what platform models will best support this vision.
Progrmd’s thesis on @radworks_ powering the “read write own” revolution for developers 🌱💧https://t.co/LvQcaFQvZ9
Today, @TornadoCash developer Alexey Pertsev was found guilty of money laundering and sentenced to 64 months in prison. Software development is becoming more…
— Sonya Kim (@sonyasunkim) May 15, 2024
The Rise of Open Source
So first, how do we know that open source is becoming a more critical piece of the overall software development industry? There are a few key stats that shine a very bright light on this trend. First, over the past decade, the difference between commercial license software and open source popularity was around 65% and 35%, respectively. However, in 2023/2024 that number was right around a 50/50 split. Second, the expected change in software development from commercial to open source is projected to shift over the next few years, not only with community-based projects but with enterprise projects as well. Third, the rise of open source development within the Web3 community continues to grow even as the total number of Web3 developers grows.
With this type of development, why is a centralized peer-to-peer collaboration tool problematic? Ms. Kim’s thesis provides some startling details around the scope of the issue, along with the key threats.
GitHub is home to over 100 million users, with 87% using the platform for personal projects, but 56% using it for either professional use or both personal and professional projects. With over 90% of Fortune 100 companies using the platform, there is a unbelievable amount of valuable code development happening within the confines of GitHub.
So why is this such a problem? As Ms. Kim points out, there are drivers that are creating more and more risks to the freedom of this code, the users behind it, and the ability to confidently access, edit, and own the data when it is housed in a centralized company. The threats include:
- Polarisation/politicalisation of software development: this can take many forms, from the risk appetite of developing software such as AI models, to the compromised interests of the host company. In the case of Microsoft, there has been much speculation and criticism of the censorship taking place among users and projects alike, with the most vocal critics questioning whether Microsoft is motivated to ban those accounts developing software that competes with their own or their investments into other development companies. Although this is very difficult to prove, the fact that it is a possibility is problematic.
- User owned data: This is a growing topic of discussion across the board. People are realizing that in the age of free tools and other software, their data is given away through EULAs and what should be owned by them somehow isn’t. In the case of software development, code developers want to (and deserve to) own their own code and data. A centralized platform does not facilitate this, and long EULAs can easily hide clauses where the user gives up their data sovereignty. With open source software, developers may want to give the code away, but they also don’t want it taken away. User owned data will continue to be a critical element to any open source development.
- Geopolitical tension: Sadly, this item speaks for itself. There are a growing number of conflicts either erupting or reaching the boiling point, and as a result entire regions could be blocked from participating in this peer-to-peer development, depriving the rest of the world many creative and important minds. A centralized platform will always carry the risk of the company (or a government demand) removing access based on where people are located.
Decentralizing for Open Source Development and Ecosystem Funding
Given these concerns and this growing issue, what is the solution according to Ms. Kim? The key to insulating against these threats is decentralization. And while a growing number of decentralized code development platforms are in the works, one of the furthest along is Radicle. Similar in function to GitHub, Radicle is a peer-to-peer network designed to support code collaboration in a fully decentralized manner, using clever protocols such as Gossip and Git Fetch to track and validate development updates as groups are participating in a collaboration. Using the innovative features, Radicle is able to efficiently handle how it verifies users working on a development, and how to handle the inevitable conflicts that take place during peer code development.
The other piece to this decentralized open source software development is an innovative funding element. Radworks (the team behind Radicle) has also developed a platform called drips to help connect supporters and the teams of developers working on these open source, freely available projects that many people are using and rely on. Drips provides a form of cascade funding, taking donor funds and not only supporting a particular platform, but sending some of that support to other open source projects that the platform uses. This cascade of funds follows the proportions set by the project, allowing the user donations to spread to many different projects according to how much the platform relies on them. In this way these community-led projects that ask for nothing but create the backbone of the development community can be sufficiently rewarded by those they have helped.
Final Thoughts
Sonya Kim’s thesis on decentralized open source development is a strong reminder of how quickly the software development industry is changing, and what we must do to streamline these trends so we can make full use of them. Decentralization of peer-to-peer software development is a critical way to remove threats and barriers to successful code collaboration. Radworks has developed a strong model for this type of decentralization, with their Radicle and Drips platforms providing both the space and the funds needed for this new age of open source development.