A fost lansată versiunea 1.0 a platformei P2P Radicle, care vizează crearea unui serviciu descentralizat de dezvoltare și stocare a codului, similar cu GitHub și GitLab, dar care nu depinde de servere specifice, nu este supus cenzurii și funcționează folosind resursele participanților din rețeaua P2P. Lansarea versiunii 1.0 marchează stabilizarea protocolului și pregătirea platformei pentru utilizarea extinsă. Începând cu această versiune, protocolul va fi modificat păstrând compatibilitatea inversă, iar instrumentele vor include funcții pentru actualizarea fără probleme a sistemelor existente la noua versiune. Dezvoltările proiectului sunt scrise în limbajul Rust și sunt distribuite sub licențele Apache 2.0 și MIT. Pecvențele sunt pregătite pentru Linux și macOS. De asemenea, se dezvoltă un client desktop, o interfață web și o interfață de consolă.
Radicle permite dezvoltarea și distribuția codului fără a depinde de platforme și corporații centralizate, la care legătura aduce riscuri suplimentare (punct unic de eșec, compania se poate închide sau poate schimba termenii de operare). Pentru gestionarea codului, Radicle utilizează Git-ul familiar, extins cu instrumente pentru identificarea repository-urilor în rețeaua P2P. Toate datele sunt în primul rând salvate local (conceptul local-first) și sunt întotdeauna accesibile pe computerul dezvoltatorului, indiferent de starea conexiunii la rețea.
Participanții oferă acces la codul lor și la artefactele asociate, cum ar fi patch-uri și discuții despre corectarea erorilor (issues), care sunt salvate local și replicate pe nodurile altor dezvoltatori interesați, conectați la rețeaua P2P descentralizată comună. În acest fel, se formează un repository Git global descentralizat, ale cărui date sunt replicate și duplicate pe diferite sisteme ale participanților.
Pentru a determina nodurile vecine în rețeaua P2P se folosește protocolul Gossip, iar pentru replicarea datelor între noduri se utilizează protocolul Heartwood, bazat pe Git. Deoarece protocolul se bazează pe Git, platforma se integrează ușor cu instrumentele existente pentru dezvoltare în Git. Pentru identificarea nodurilor și verificarea repositoarelor se utilizează criptografie bazată pe chei publice, fără a folosi conturi.
Fiecare repository într-o rețea P2P are un identificator unic și este auto-certificat, adică toate acțiunile din repository, cum ar fi adăugarea de commit-uri și comentarii la issue-uri, sunt validate de proprietar cu o semnătură digitală, ceea ce permite verificarea corectitudinii datelor pe alte noduri fără a folosi autorități de certificare centralizate. Pentru a avea acces la repository, este suficient ca cel puțin un nod să fie online, pe care există o copie replicată a acestuia.
Nodurile din rețeaua P2P se pot abona la anumite repository-uri și pot primi actualizări. Este posibil să se creeze repository-uri private, accesibile doar anumitor noduri. Conceptul de «delegati» este folosit pentru gestionarea și deținerea unui repository. Un delegat poate fi atât un utilizator individual, cât și un bot sau un grup, legate de un identificator special. Delegatii pot accepta patch-uri în repository, pot închide issue-uri și pot seta drepturi de acces la repository. La fiecare repository pot fi atașați mai mulți delegati.
Pe sistemele utilizatorilor, repositoarele Radicle sunt stocate ca repositoare git obișnuite, care conțin spații de nume suplimentare pentru stocarea datelor despre peers și forks cu care se lucrează în prezent. Discuțiile, patch-urile propuse și componentele pentru organizarea revizuirilor sunt, de asemenea, salvate în repositoarele git ca obiecte colaborative (COB - Collaborative Objects) și replicate între peers.
Radicle 1.0 include:
- Implementarea unui protocol extensibil pentru organizarea muncii rețelei P2P și sincronizarea datelor.
- Elemente de interacțiune socială, cum ar fi issue-uri, patch-uri și revizii de cod.
- Protocol de autentificare și autorizare bazat pe chei publice, care funcționează fără autorități de certificare centralizate. servere.
- Interfață CLI, familiară utilizatorilor care cunosc Git.
- Interfață web pentru navigarea între repositoare și noduri.
- Instrumente pentru asigurarea confidențialității, incluzând suport pentru repositoare private și posibilitatea de a lucra printr-o rețea anonimă Tor.
- Suport pentru compilări repetabile pentru a verifica că fișierele executabile distribuite Radicle sunt construite din sursele declarate.
Funcționalități încă în dezvoltare:
- Instrumente integrate pentru integrare continuă (CI) și livrare continuă (CD).
- Interfața de consolă Radicle TUI (Terminal User Interface).
- Funcționalități avansate de revizuire a modificărilor.
- Sistem de notificări despre modificările din repository.
- Suport pentru profilele utilizatorilor și posibilitatea de a lega mai multe dispozitive.
- Suport pentru etichete.
- Utilitare pentru moderarea și gestionarea nodurilor.
- Aplicație desktop.
Sursa: opennet.ro
