Die dezentrale Plattform fĂŒr gemeinschaftliche Entwicklung Radicle 1.5 ist verfĂŒgbar.

Die Version 1.5 der P2P-Plattform Radicle wurde vorgestellt, die darauf abzielt, einen dezentralen Service fĂŒr die gemeinsame Entwicklung und Speicherung von Code zu schaffen, Ă€hnlich wie GitHub und GitLab, aber nicht an spezifische Server gebunden, zensurfrei und nutzt die Ressourcen der Teilnehmer des P2P-Netzwerks. Die Plattform unterstĂŒtzt typische Elemente sozialer Interaktionen von Entwicklern wie Issues, Patches und Code-Reviews. Die Entwicklung des Projekts wurde in Rust geschrieben und wird unter den Lizenzen Apache 2.0 und MIT verbreitet. Es stehen Builds fĂŒr Linux und macOS zur VerfĂŒgung. Zudem werden ein Desktop-Client, eine Web-OberflĂ€che und eine Konsole entwickelt.

Radicle ermöglicht es, bei der Entwicklung und Verbreitung von Code unabhĂ€ngig von zentralisierten Plattformen und Unternehmen zu bleiben, deren Bindung zusĂ€tzliche Risiken mit sich bringt (Single Point of Failure, das Unternehmen kann schließen oder die Nutzungsbedingungen Ă€ndern). Zur Verwaltung des Codes in Radicle wird das vertraute Git verwendet, ergĂ€nzt durch Tools zur Bestimmung von Repositories im P2P-Netzwerk. Alle Daten werden zunĂ€chst lokal gespeichert (Local-First-Konzept) und sind immer auf dem Computer des Entwicklers verfĂŒgbar, unabhĂ€ngig vom Status der Netzwerkverbindung.

Teilnehmer gewÀhren Zugang zu ihrem Code und zu den damit verbundenen Artefakten wie Patches und Diskussionen von Fehlerberichten (Issues), die lokal gespeichert und auf die Knoten anderer interessierter Entwickler, die mit dem gemeinsamen dezentralen P2P-Netzwerk verbunden sind, repliziert werden. Dadurch entsteht ein globales, dezentrales Git-Repository, dessen Daten auf verschiedenen Systemen der Teilnehmer repliziert und dupliziert sind.

Zur Bestimmung benachbarter Knoten im P2P-Netzwerk wird das Gossip-Protokoll verwendet, und zur Replikation von Daten zwischen den Knoten das Heartwood-Protokoll, das auf Git basiert. Da das Protokoll auf Git basiert, lĂ€sst sich die Plattform leicht mit bestehenden Werkzeugen fĂŒr die Git-Entwicklung integrieren. Zur Identifizierung der Knoten und zur Verifizierung der Repositories wird eine auf öffentlicher SchlĂŒssel-Kryptographie basierende Methode verwendet, ohne dass Benutzerkonten erforderlich sind. Die Authentifizierung und Autorisierung erfolgt auf Basis öffentlicher SchlĂŒssel ohne zentrale Zertifizierungsstellen. Server.

Jedes Repository im P2P-Netzwerk hat eine einzigartige Kennung und ist selbstzertifizierend, d.h. alle Aktionen im Repository, wie das HinzufĂŒgen von Commits und das Hinterlassen von Kommentaren zu Issues, werden vom EigentĂŒmer mit einer digitalen Signatur bestĂ€tigt, die es ermöglicht, die Richtigkeit der Daten auf anderen Knoten ohne die Nutzung zentraler Zertifizierungsstellen zu ĂŒberprĂŒfen. Um auf das Repository zuzugreifen, genĂŒgt es, dass sich mindestens ein Knoten online befindet, auf dem eine replizierte Kopie vorhanden ist.

Knoten im P2P-Netzwerk können sich auf bestimmte Repositories abonnieren und Updates erhalten. Es ist möglich, private Repositories zu erstellen, die nur bestimmten Knoten zugĂ€nglich sind. Zur Verwaltung und zum Eigentum am Repository wird das Konzept der „Delegierten“ verwendet. Ein Delegierter kann sowohl ein einzelner Benutzer als auch ein Bot oder eine Gruppe sein, die an eine spezielle Kennung gebunden sind. Delegierte können Patches im Repository annehmen, Issues schließen und Zugriffsrechte fĂŒr das Repository festlegen. An jedes Repository können mehrere Delegierte gebunden sein.

Radicle-Repositories werden auf den Systemen der Benutzer als gewöhnliche Git-Repositories gespeichert, die zusĂ€tzliche NamensrĂ€ume zur Speicherung von Peer- und Fork-Daten enthalten, mit denen derzeit gearbeitet wird. Diskussionen, vorgeschlagene Patches und Komponenten zur Organisation von ÜberprĂŒfungen werden ebenfalls im Git-Repository als kollaborative Objekte (COB — Collaborative Objects) gespeichert und zwischen den Peers repliziert.

In der neuen Version:

  • Die UnterstĂŒtzung fĂŒr Bare-Repositories wurde verbessert, die kein Arbeitsverzeichnis mit einer Kopie der Projektdateien enthalten, sondern nur die Änderungshistorie und Metadaten wie Branches und Tags speichern. Der Befehl „rad clone“ wurde um die Option „—bare“ ergĂ€nzt, die es ermöglicht, ein Repository als Bare-Ansicht ohne Arbeitsverzeichnis zu klonen. In der Utility „git-remote-rad“ wurde die Handhabung von Bare-Repositories bei den Befehlen „git push“ und „git fetch“ fĂŒr den Zugriff auf externe Rad-Server verbessert.
  • Eine neue Einstellung „patch.branch“ wurde hinzugefĂŒgt, die in der Utility git-remote-rad verwendet werden kann („git-remote-rad -o patch.branch[=<name>]“), um beim HinzufĂŒgen eines Patches automatisch einen Branch im Upstream-Repository zu erstellen, ohne den Befehl „rad patch checkout“ verwenden zu mĂŒssen.
  • Die Ausgabe des Befehls „rad patch show“ wurde verbessert, die jetzt die ursprĂŒngliche Patch-Version anzeigt, die zuvor nur mit dem Flag „—verbose“ ausgegeben wurde. Alle Revisionen werden nun in einer einheitlichen Chronologie angezeigt, ohne zwischen Änderungen des ursprĂŒnglichen Autors und anderen Teilnehmern zu unterscheiden.
  • Die Möglichkeit, Logs in einer strukturierten Ansicht auszugeben, wurde hinzugefĂŒgt, aktiviert durch die Optionen „—log-logger structured“ und „—log-format json.“

Quelle: opennet.ru

60GB SSD 8Gb DDR4