Disponibile la piattaforma decentralizzata di sviluppo collaborativo Radicle 1.5

È stata presentata la versione 1.5 della piattaforma P2P Radicle, rivoluzionaria nel creare un servizio decentralizzato per la collaborazione e la conservazione del codice, simile a GitHub e GitLab, ma non legato a server specifici, non soggetto a censura e funzionante attraverso le risorse dei partecipanti alla rete P2P. La piattaforma supporta componenti standard di interazione sociale tra sviluppatori, come issue, patch e revisioni del codice. I progressi del progetto sono scritti in Rust e sono distribuiti sotto le licenze Apache 2.0 e MIT. Le versioni sono preparate per Linux e macOS. Sono in fase di sviluppo anche un client desktop, un'interfaccia web e un'interfaccia da console.

Radicle consente di non dipendere dallo sviluppo e dalla distribuzione del codice da piattaforme e corporation centralizzate, i cui vincoli comportano rischi aggiuntivi (unico punto di errore, la società potrebbe chiudere o cambiare i termini di servizio). Per la gestione del codice in Radicle si utilizza Git, esteso con strumenti per la definizione dei repository nella rete P2P. Tutti i dati vengono prima salvati localmente (concetto local-first) e sono sempre disponibili sul computer dello sviluppatore, indipendentemente dallo stato della connessione di rete.

I partecipanti forniscono accesso al proprio codice e agli artefatti correlati, come patch e discussioni sulle correzioni (issues), che vengono salvati localmente e replicati sui nodi di altri sviluppatori interessati, connessi alla rete decentralizzata P2P comune. Alla fine, si forma un repository Git decentralizzato globale, i cui dati sono replicati e duplicati su diversi sistemi dei membri.

Per la determinazione dei nodi vicini nella rete P2P viene applicato il protocollo Gossip, mentre per la replicazione dei dati tra i nodi è utilizzato il protocollo Heartwood, basato su Git. Poiché il protocollo si basa su Git, è facile integrare la piattaforma con gli strumenti di sviluppo esistenti per Git. Per identificare i nodi e verificare i repository viene utilizzata la crittografia a chiave pubblica, senza l'uso di account. L'autenticazione e l'autorizzazione avvengono sulla base di chiavi pubbliche senza autorità di certificazione centralizzate. server.

Ogni repository nella rete P2P ha un proprio identificatore unico ed è auto-certificato, cioè tutte le azioni nel repository, come l'aggiunta di commit e la scrittura di commenti agli issue, sono convalidate dal proprietario con una firma digitale, che consente di verificare l'integrità dei dati su altri nodi senza l'uso di autorità di certificazione centralizzate. Per accedere al repository è sufficiente che almeno un nodo sia online, in possesso di una copia replicata.

I nodi nella rete P2P possono iscriversi a repository specifici e ricevere aggiornamenti. È possibile creare repository privati, accessibili solo a determinati nodi. Per la gestione e il possesso del repository viene utilizzata la nozione di "delegati". Un delegato può essere un singolo utente, un bot o un gruppo, legati a un identificatore speciale. I delegati possono accettare patch nel repository, chiudere issue e impostare i diritti di accesso al repository. A ciascun repository possono essere associati più delegati.

I repository Radicle sono archiviati sui sistemi degli utenti come normali repository git, all'interno dei quali sono presenti spazi dei nomi aggiuntivi per l'archiviazione dei dati dei peer e dei fork con cui si sta attualmente lavorando. Le discussioni, le patch proposte e i componenti per l'organizzazione delle recensioni sono anch'essi conservati nel repository git come oggetti collaborativi (COB - Collaborative Objects) e replicati tra i peer.

Nel nuovo rilascio:

  • Migliorato il supporto per i repository bare, che non contengono una directory di lavoro con copia dei file del progetto, ma memorizzano solo la cronologia delle modifiche e i metadati, come rami e tag. È stata aggiunta all comando 'rad clone' l'opzione '--bare' che consente di clonare un repository in una vista priva di albero di lavoro. Nell'utilità 'git-remote-rad' è stata migliorata l'interazione con i repository bare durante l'uso dei comandi 'git push' e 'git fetch' quando si accede a un server rad esterno.
  • È stata aggiunta l'impostazione 'patch.branch', che può essere utilizzata nell'utilità git-remote-rad ('git-remote-rad -o patch.branch[=]') quando si aggiunge una patch per creare automaticamente un ramo nel repository upstream, senza dover utilizzare il comando 'rad patch checkout'.
  • È stato migliorato l'output del comando 'rad patch show', che ora mostra la versione originale della patch, visualizzata in precedenza solo con l'attivazione del flag '--verbose'. Tutte le revisioni vengono ora visualizzate in una cronologia unica senza distinzione tra modifiche dell'autore originale e altri partecipanti.
  • È stata aggiunta la possibilità di visualizzare i log in una forma strutturata, attivabile tramite le opzioni '--log-logger structured' e '--log-format json'.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster