Did you miss my @EthCC_ talk? NO WORRIES — I'm not taking it personally. Here's a play by play (with slides!) for your enjoyment 🌱

TL;DR (but do read): @radicle_xyz is building a peer-to-peer alternative for code collaboration and this is why:
1/ Before we get into p2p code collab, let's review how code collab started in the first place...

It started with version-control systems! VCS shifted from closed to open source, but maintained a client-server model. This meant all devs worked on a single central repository.
2/ In 2005, devs realized that they didn’t need a central, 'official' source; instead each user could have their own working copy and a full change history. This was called distributed version control.

DVCS was great because it made everything quicker and more productive.
3/ Linus used a closed-source DVCS called Bitkeeper (for free) early on in Linux kernel development, but after a Linux dev tried to reverse engineer its networking protocols, Bitkeeper revoked their license.

And with this, git was born 😇
4/ git was (and is) great for a lot of reasons. It's fully distributed, peer-to-peer, fast, efficient, and works really well for non-linear development and distributed workflows.

DVCS became *the thing*. Mercurial, Fossil, darcs, and GNU Bazaar all joined the party.
5/ So, how did devs *collaborate* on git? The OG means of collaboration was, of course, the mailing list. Mailing lists are great because they're basically just self-hosted git instances networked via email — no need for a central server. But the usability isn't that great....
6/ As a result, we've witnessed a trend towards hosted platforms as GitHub, GitLab, and SourceHut all rose to prominence.

These platforms host source code centrally, but enable an "online identity" and community that's globally accessible.
7/ Hosted platforms (aka GitHub) have changed the game. They defined a standard way of working, introduced "social coding", and introduced workflows that have *completely* changed the way we collaborate.

I mean, over 40M devs from over 41 countries on GitHub? Pretty amazing.
8/ They've also done a lot for the free and open source ecosystem. Over 1.3M first-time contributors joined GitHub in this last year and 350k+ devs made over 5M contributions to the top 1k projects on GitHub.

Global accessibility has empowered the free and open source ecosystem.
9/ However, we must remember that ultimately — GitHub is nothing without git. Its non-git native features and closed-source platform have overtaken the standard developer experience.
10/ We've witnessed GitHub become a closed-source walled garden built on open soil — similar to the monolith platforms today that "tamed" the early web by capitalizing on the emergent digital spaces & communities that were unlocked by the open protocols of the Internet.
11/ GitHub may be free for open source developers, but at the end of the day, there is no denying that the largest collection of free and open source software is controlled and owned by one U.S. corporation — Microsoft.
12/ Now, this isn't a call to "decentralize everything". When something works as well as GitHub does, it's not enough to propose an alternative on ideology alone.

We're proposing an alternative because we believe that there are *real* issues with hosted platforms...
13/ ...these issues are now, just bubbling under the surface, but as software development continues to eat the world, we'll see these problems become critical points of failure if not solved.

The issues fall into three categories: platform risk, vendor lock-in, and security risk
14/ On platform risk:

These platforms are owned by corporations! They can censor users/content, change Terms of Services, and implement user bans—like those currently in place against Iranian, Syrian, and Crimean GitHub accounts in response to pressure from the U.S. government.
15/ On vendor lock-in:

Your issues, comments, PRs, reviews are entirely hosted on on GitHub. If you lost access, you'd have your *code*, but you'd lose the *collaboration*.

In addition, all of our social relationships—stars, likes, follows—exist solely within these platforms.
16/ On security risk:

If there was a successful attack on GitHub, every single account and project would be compromised — including the GitHub UI.

Contents of private repos could be accessed, code reviews could be impersonated, malicious commits could be introduced and more...
17/ In a world where all software relies on open source code, these issues can *not* be ignored.

Our dependence on hosted platforms is inherently unsustainable. Our reliance on them contradicts the values of the free & open source ecosystem and threatens its health & resilience.
18/ If we return to the beginning of "code collaboration" we return to git. It was designed to be distributed and... peer-to-peer!

As we see advancements in networking & cryptography, peer-to-peer technology reemerges as a new hope for code collaboration.
19/ Peer-to-peer basically means without intermediaries. You don't need to trust or rely on third parties to use p2p networks.

They have multiple layers of resilience: they don't need to "make a profit", they can't be captured, and they don't have a central point of failure.
20/ FOSS & Web3 *needs* peer-to-peer.

When building systems that are inherently disruptive and combative to the current system, we need resilient infrastructure.

When institutions, corporations and governments want to take control, how do we keep them from doing so?
21/ Peer-to-peer can solve *a lot* of the issues of hosted platforms.

- There's no platform risk bc you don't have to trust intermediaries

- There's no vendor lock-in bc users control, moderate and own their data

- There's less security risk, bc there's no central servers
22/ As p2p tech advances and starts to displace the once unique qualities of hosted platforms like network effects, rich UIs, and communities, we ask ourselves — why do we need GitHub? Git was *designed* to be peer-to-peer...

Why can’t we have peer-to-peer code collaboration?
23/ This is what we're building at @radicle_xyz.

radicle starts with git (or your fav dvcs) and extends it with a p2p replication protocol connected to a global project registry.

It enables robust & functional p2p code collab w/o losing the network effects of hosted platforms.
24/ Why is this cool?

- everything is offline & local-first — including artifacts like issues, comments, PRs, and reviews

- everything is cryptographically signed (not just commits)

- you have a sovereign developer "identity" not controlled by GitHub (profile, follows, stars)
25/ If you thought this was cool, you can find my full talk here 👇



If you want to stay updated on development, come join the conversation at http://radicle.community  and be sure to follow @radicle_xyz 🌱

Lots of exciting things on the horizon 😉
You can follow @abbey_titcomb.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: