Overview

Recent events such as Github monetising CoPilot and deplatforming Tornado cash have demonstrated a significant turning point in user sentiment towards GitHub, and developers across the OSS community have been expressing an appetite for a self-sovereign alternative for code collaboration. The response to this issue is largely based on the principles of the Free Software Movement which, for obvious reasons, is very well represented among OSS developers.

Radicle is building a protocol for distributed code collaboration applications. We want collaboration on software to occur on infrastructure which gives developers a choice in their individual workflows, for communities to have control over their relationships without risk of censorship, and developers freedom to modify code across their tooling stack and distribute it without permission.

Radicles stack is based on a locally stored git monorepo with a globally discoverable identity layer for users, orgs, and projects that can be networked and stored across a decentralised network.

Why?

  1. FOSS community needs FOSS software - Popular centralised forges don’t make their source code free to see, modify, and certainly not distribute modified copies.
  2. Lack of flexibility - developers can’t modify the tool they’re using for collaboration. Individuals tend to have different ideal workflows, but are forced into the most broadly acceptable ones by centralised platforms. Software tools should be designed for emergence and assumes that the end-user holds relevant knowledge and gives them extensive control over the design.
  3. Privacy violation - collaboration platform providers collect and store far more data on users than they would like. In order to protect ourselves and society from the growing power of those that control our data and are able to manipulate media in pursuit of their own ends we must prioritise privacy preserving tools where possible.
  4. Economic misalignment - FOSS communities leveraging collaboration platforms collectively contribute to both user growth and product value, but this value is simply extracted from these communities.
  5. Risk of censorship and deletion - this is a significant issue for communities as they would lose a lot of their production and distribution capacity if access to their collaboration tooling was revoked. As a community each project is trusting centralised forges with their most important infrastructure. This also misaligns centralised forges with the FOSS value of users being be able to run the software for any purpose.

How it works

  1. Open source stack - All code written for the the radicle network should be free to see, modify, and distribute modified versions.
  2. Self-sovereign identity - self sovereign identity gives individuals and organisations the ability to discover and route communication between nodes in a way that is resistance to capture and censorship.
  3. Data discovery in decentralised network - Content addressing through hashes has become a widely-used means of connecting data in distributed systems.
  4. Local first - data should be stored locally and backed up via hosted nodes.
  5. Portability - Portability should allow communities to continue communication and collaboration with members even if they switch providers.
  6. maintain git workflows - Developers have spent a long time learning git based workflows and so we believe it’s important to maintain these as they are open protocol based and minimises the learning curve.
  7. End to end encryption - network of nodes with end to end encryption helps reduce privacy violations and their implications.
  8. Community migration - FOSS communities can be small teams working on an individual repo (example), single orgs (example), and cross org technology community (Example - python has 5,800 orgs on GH). Many users will be in multiple communities on Github, which makes it particularly convenient and hard to replace. We do not expect to take this on directly and instead believe that individual project communities can first backup and then migrate their members over the same way many have done from email to slack.
  9. New financial workflows - Communities have value, particularly ones that collectively work on production. We’re building workflows that centre around communities growing their funding and distributing this funding to ensure that the entire community is served.