Skip to main content

What is Radicle?

Radicle is a decentralized code collaboration network built on open protocols 🌱. It enables developers to collaborate on code without relying on trusted intermediaries. Radicle was designed to provide similar functionality to centralized code collaboration platforms β€” or "forges" β€” while retaining Git’s peer-to-peer nature, building on what made distributed version control so powerful in the first place.

  • Instead of user accounts and logins, Radicle uses public key cryptography to identify projects and their collaborators.
  • Instead of issue trackers hosted and owned by a corporation, Radicle uses seed nodes. The Radicle Foundation sponsors some, but you can always host a seed node of your own, and use all the same collaboration tools/processes, using open-source code.
  • Instead of dictating your process for collaboration, Radicle lets anyone build new tools or design new workflows around completely open protocols.

You get recognizable collaboration flows from centralized code hosting platforms β€” the "forges" like GitHub and GitLab β€” while also eliminating the reliance and risk on these corporate platforms.

Three interlacing clients create this experience.

  1. Radicle CLI: Command-line tooling for creating a Radicle identity, initiating projects, and pushing code.
  2. Radicle Upstream: A desktop application for collaborating on code with your peers.
  3. The web interface: A web interface for viewing code on the Radicle network.

Radicle is also Drips, an Ethereum protocol for generating recurring income with subscriptions and NFT memberships. Drips helps you create a circular funding network by dripping funds to your favorite creators and dedicating a percentage of your incoming drips to others.

How do I use Radicle?​

Because Radicle is built on open protocols, there will never be one true way to do something on the Radicle network.

Instead, this documentation offers an opinionated way to take common actions around hosting code on the Radicle network and collaborating with others using Radicle-developed projects and interfaces.

To start hosting and collaborating on code in the Radicle network, see our getting started guide.

Additional discovery and collaboration features are planned and under active development.

For more help on using Radicle, be sure to join our community channels.

Radicle's collaboration workflow​

Note: This is a practical overview of the current collaboration workflow using Radicle-built projects. This will change as both the protocols and projects change and add new functionality in the future.

Maintainers (also known as delegates) use rad init and rad push to create a project and synchronize project data between their local state and a canonical branch (usually main or master) on the configured seed node. This makes the project discoverable on the Radicle web interface or in Upstream if collaborators know the project URN and seed node.

Collaborators use rad clone to clone the canonical branch of an existing project on the Radicle network to their local state, make changes, and use rad push to synchronize those changes with a seed node.

Maintainers can either use the CLI or Upstream to find and review/merge collaborations to their project. With the CLI, they use rad track to view the remote peer from their working copy. With Upstream, they can view the changes in the desktop app directly. Either way, they then use git diff to see the proposed changes, git merge to merge them, and rad push to publish the new state of the canonical branch.