docs

docs

  • Back to radicle.xyz

›Understanding Radicle

Introduction

  • What is Radicle?
  • Getting Started

Using Radicle

  • Overview
  • Creating projects
  • Sharing projects
  • Pushing changes
  • Tracking and viewing contributions
  • Fetching and merging contributions
  • Contributing to projects
  • Adding a custom seed node
  • Running a seed node
  • Troubleshooting
  • Join the Community

Understanding Radicle

  • Why Radicle?
  • How it Works
  • Glossary
  • FAQ

Glossary

clone

To create a working copy of a project on a user's machine. This working copy is where a person can make and publish changes to a project locally.

connect

To create a network connection to another Radicle peer. Connected peers spread information between each other via gossip.

contributor

A peer who has pushed code to a project.

Device ID

The encoding of a peer's public key tied to their device. Right now, there can only be one Device ID per user (See Data Model)

display name

A changeable and non-unique human-readable name chosen by an Upstream user. Like a "nickname" for someone's Radicle ID. This will be possible to change in the future.

follow

Following a project replicates it to your machine. This allows the follower to subscribe to updates from the project's maintainer(s) or other remotes. It is also a way to signal interest in the project or peer by further replicating the data across their network, making it available to other people on the network. See Tracking.

fork

Forking a project in Radicle clones a working copy to your machine and publishes it as a project to the network.

git

A free and open source distributed version control system.

gossip

A means of peer-to-peer communication that relies on the interactions of peers to disseminate information. Participants in the Radicle network share and spread data by keeping redundant copies of projects locally and sharing updates with peers. This allows data to be disseminated according to use and value: the more peers who are interested in certain data the more available it is made to the network. See Gossip.

maintainer

A user who manages and pushes updates to the canonical view of a project. A maintainer is explicitly associated with the project at the time of creation or later, via the project metadata (see Data Model), but there may be multiple maintainers of a project, all maintaining their own trees. At creation, the creator of the project is the sole maintainer.

main

How Radicle Upstream refers to the default development branch of a project.

node

A peer running an instance of the Radicle Link protocol. There can only be one node running per device.

passphrase

A sequence of characters used to encrypt a peer's private key (See Identities) to enable access to the Radicle network. It's also needed to fetch and push changesets to the Radicle network.

peer

A device running the Radicle Link protocol.

project

A project consists of source code, issues, and proposed changesets. It carries a unique, shareable Radicle ID. A project also includes the identities of all its maintainers. The entirety of the project data and metadata, including social artifacts such as comments, are stored within the project's repository on the user's machine. Projects are the principle unit of replication.

project name

A human-readable name that is chosen for a project. It is not guaranteed to be unique.

publish

To make data public to the network. Once something is published, it may be fetched and replicated by connected peers.

Radicle ID

A unique shareable identifier for projects in the Radicle Network. Radicle IDs are usually shared as URNs.

Radicle Link

A peer-to-peer replication protocol built on Git. See How it Works.

Radicle network

The network of peers that replicate and gossip data with Radicle Link.

Radicle Upstream

An open-source desktop application (graphic user interface, GUI) built to interact with and enable access to the Radicle Network and, initially, the primary end-user experience. However, in the future, it will be one of many potential clients that users can use to access the Radicle network.

remote

Another peer's view of a project. Remotes can be pulled/fetched from. Maintainers of a project may choose to track other peer's views of their project by adding them as a remote. In the context of a project, maintainers of a repository may choose to track the views of other owners by adding them as a remote to the project. If the remote repository is found to track other remotes, the tracking repository shall also transitively track those, up to a configurable N degrees out.

seed

An always-on node that automatically tracks discovered projects and serves data to their connected peers, thereby increasing the availability of these projects on the network. More on the role and impacts of seeds.

upstream

The repository in which code contributions for a project are intended to be merged once they pass the review process (i.e. canonical upstream or mainline). The upstream is often the repository of the project's original maintainer or creator. For everyone but the creator of this repository, upstream will be a remote repository.

user

Any individual who has created a Radicle ID on the Radicle network via the Upstream client.

← How it WorksFAQ →
  • clone
  • connect
  • contributor
  • Device ID
  • display name
  • follow
  • fork
  • git
  • gossip
  • maintainer
  • main
  • node
  • passphrase
  • peer
  • project
  • project name
  • publish
  • Radicle ID
  • Radicle Link
  • Radicle network
  • Radicle Upstream
  • remote
  • seed
  • upstream
  • user