Scoprite l'alternativa peer-to-peer e open source a GitHub: ecco Radicle

Lo sviluppo software diventa ancora più collaborativo e decentralizzato: Radicle si presenta come alternativa peer-to-peer a GitHub mettendo i programmatori nelle condizioni di mantenere pieno controllo sui loro progetti.

Nell’ambito dello sviluppo software, è importante usare strumenti che consentano a più programmatori di cooperare in modo efficiente. I principali vantaggi includono la possibilità di gestione dei progetti, il controllo delle versioni, la tracciabilità delle modifiche e la semplificazione delle modalità di collaborazione. Il punto di riferimento è GitHub che, oltre a snellire la gestione dei progetti software, aiuta a mantenere un registro delle modifiche apportate al codice, consente a più sviluppatori di cooperare in simultanea, facilita la revisione del sorgente, permette di tracciare e risolvere bug con un approccio ben organizzato e guarda al concetto di integrazione continua, in modo da automatizzare i processi di build e test, garantendo una distribuzione più rapida e affidabile del software.

Risultato di 4 anni di sviluppo da parte di un team composto da 12 persone, Radicle si presenta come alternativa a GitHub open source e peer-to-peer (P2P). Ma cosa c’entra il P2P con lo sviluppo software? Cerchiamo di spiegarlo nel seguito.

Radicle logo

Lo sviluppo del software diventa decentralizzato con Radicle, alternativa a GitHub

Allontanandosi dallo schema storicamente adottato da GitHub, Radicle è un progetto che mira a rivoluzionare il modo con cui gli sviluppatori cooperano. La piattaforma, presentata in queste pagine, poggia su una rete peer-to-peer che elimina qualsiasi intermediario e consente agli utenti di fidare su un’architettura resiliente, a sua volta basata sull’autonomia dei singoli soggetti.

Radicle adotta comunque un approccio local-first: ciò significa che le sue funzionalità risultano sempre disponibili anche senza accesso a Internet. Gli utenti rimangono sempre proprietari dei loro dati, potendo sempre migrare e “backuppare” i loro dati, sia in modalità online che offline.

Diversamente rispetto alle applicazioni di condivisione file come BitTorrent, Radicle permette agli utenti di selezionare quali repository ospitare secondo politiche granulari. Ciò offre la possibilità di bloccare facilmente eventuali contenuti indesiderati o configurare i nodi per ospitare solo il contenuto esplicitamente consentito.

Sebbene Radicle sia a sua volta basato su Git, potenzialmente in grado di accogliere e replicare qualunque tipo di contenuto, la piattaforma non è adatta per gestire file di grandi dimensioni in formato binario.

Perché prendersi la briga di creare un clone di GitHub quando c’è già la nota piattaforma, di proprietà di Microsoft, che consente di condividere e gestire i repository Git? Perché, come spiega l’ideatore di Radicle, “non vogliamo utilizzare una piattaforma proprietaria, controllata da terze parti. Non è desiderabile che un soggetto terzo gestisca materiale personale (…) determinando autonomamente se e come sia o meno appropriato“.

Sicurezza tramite crittografia a chiave pubblica

L’autenticità e l’autorevolezza di tutti i dati conservati in Radicle è intrinsecamente assicurata, grazie all’utilizzo della crittografia asimmetrica (crittografica a chiave pubblica). In questo modo gli utenti possono avvantaggiarsi di un ambiente sicuro e non alterabile per i loro sforzi collaborativi.

Il vantaggio di Radicle è che la piattaforma assegna ID univoci e “stabili” ai repository, consentendo operazioni di convalida locali e svincolandosi dal tradizionale modello client-server.

Il repository Radicle è il nucleo della collaborazione tra programmatori: costituisce la base per lavorare senza soluzione di continuità, dal momento che ciascun repository è replicato in tutta la rete decentralizzata.

Un “gossip protocol” è un tipo di protocollo di comunicazione distribuito utilizzato nelle reti P2P per la diffusione efficiente di informazioni tra i nodi. Radicle utilizza proprio un meccanismo del genere, facilitando lo scambio di metadati tra i nodi e identificando i repository tramite le chiavi pubbliche. I nodi diffondono le informazioni dei repository per costruire tabelle di instradamento che facilitano l’individuazione (discovery) e la replicazione del contenuto dei repository.

Come provare Radicle su Linux e macOS

Al momento l’obiettivo degli sviluppatori di Radicle è quello di concentrarsi sui sistemi Linux e macOS: in futuro potrebbe essere rilasciata anche una versione di Windows, anche se al momento non è ancora ufficialmente in cantiere.

Per provare Radicle e installare la piattaforma per lo sviluppo software collaborativo, è sufficiente impartire il seguente comando nella finestra del terminale:

curl -sSf https://radicle.xyz/install | sh

Eliminando gli intermediari, Radicle assicura un ambiente resistente alla censura ed offre agli utenti il controllo completo sulle attività di collaborazione a livello di codice.

Credit immagine in apertura: iStock.com – Jay Yuno

Ti consigliamo anche

Link copiato negli appunti