Radicle-Heartwood-Protokoll & -Stack
- Radicle Heartwood ist die dritte Version des Radicle-Protokolls, eines Stacks für Peer-to-Peer-Code-Zusammenarbeit und -Publishing.
- Dieses Repository enthält die vollständige Implementierung von Heartwood, einschließlich der benutzerfreundlichen Kommandozeilenoberfläche (
rad) und des Netzwerk-Daemons (radicle-node).
- Radicle wurde als sichere, verteilte und robuste Alternative entwickelt, um Code-Schmieden wie GitHub und GitLab zu ersetzen und dabei die Souveränität und Freiheit der Nutzer zu bewahren.
Installationsvoraussetzungen
- Linux oder ein Unix-basiertes Betriebssystem ist erforderlich.
- Git 2.34 oder höher ist erforderlich.
- OpenSSH 9.1 oder höher sowie
ssh-agent sind erforderlich.
Installation aus Binärdateien
curl und tar sind erforderlich.
- Um die neueste Binär-Release zu installieren, den folgenden Befehl ausführen:
sh <(curl -sSf https://radicle.xyz/install)
Installation aus dem Quellcode
- Die Rust-Toolchain ist erforderlich.
- Innerhalb dieses Repositories kann der Radicle-Stack mit den folgenden Befehlen aus dem Quellcode installiert werden:
cargo install --path radicle-cli --force --locked
cargo install --path radicle-node --force --locked
cargo install --path radicle-remote-helper --force --locked
- Alternativ ist auch eine Installation direkt von einem Seed-Node möglich:
cargo install --force --locked --git https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git \ radicle-cli radicle-node radicle-remote-helper
Ausführung
- Systemd-Unit-Dateien für den System-Daemon und den HTTP-Daemon werden im Ordner
/systemd bereitgestellt. Sie können als Ausgangspunkt für weitere Anpassungen dienen.
- Außerdem enthalten beide Crates jeweils ein Dockerfile.
- Informationen zum Ausführen im Debug-Modus finden sich in
HACKING.md.
Mitwirken
- Eine Einführung dazu, wie man zu Radicle beiträgt, findet sich in
CONTRIBUTING.md und HACKING.md.
Lizenz
- Radicle wird unter den Bedingungen der MIT-Lizenz und der Apache License (Version 2.0) vertrieben.
- Weitere Details finden sich in
LICENSE-APACHE und LICENSE-MIT.
Meinung von GN⁺
- Radicle ist eine dezentrale Plattform für kollaborative Codearbeit als Alternative zu zentralisierten Code-Hosting-Diensten und soll die Code-Souveränität der Nutzer stärken. Das ist besonders wertvoll, weil Entwickler dadurch Kontrolle über Dateneigentum und Privatsphäre erhalten.
- Das von Radicle bereitgestellte dezentrale Netzwerk ist nicht auf einen zentralen Server angewiesen und bietet dadurch den Vorteil, frei von Ausfällen einzelner Dienste oder Zensur zu sein. Gleichzeitig kann sich dies auf Stabilität und Geschwindigkeit des Netzwerks auswirken und damit die Nutzererfahrung negativ beeinflussen.
- Radicle ist ein Open-Source-Projekt, das sich durch Beiträge der Entwickler-Community kontinuierlich weiterentwickelt. Das bringt den Vorteil mit sich, dass auf technische Probleme oder neue Funktionswünsche schnell reagiert werden kann.
- Vor der Einführung von Radicle sollten die Kompatibilität mit bestehenden zentralisierten Diensten, die Sicherheitsanforderungen des Projekts sowie Hürden bei der Einführung im Team berücksichtigt werden.
- Andere Projekte mit ähnlichem Funktionsumfang sind etwa selbst gehostete Versionen von GitLab oder Open-Source-Alternativen wie Gitea, die es Nutzern ermöglichen, ihren Code auf dem eigenen Server zu verwalten.
1 Kommentare
Hacker-News-Kommentare
Ein Grußwort eines Mitbegründers des Projekts mit einem Link zu einer Erklärung, wie das Protokoll funktioniert. Die Dokumentation ist noch in Arbeit.
Es wirkt gut für den Zweck des Projekts geeignet, aber git selbst ist bereits Open Source und P2P. Man kann sich ohne zusätzliche Binärdateien mit anderen Servern verbinden und Code direkt abrufen oder mergen. Was git fehlt, sind Code-Issues, Wiki, Diskussionen, GitHub Pages und vor allem ein Netzwerk von Entwicklerprofilen. Es braucht eine Möglichkeit, Projektmetadaten in
.gitselbst aufzunehmen, und möglicherweise separate Referenzen, um Wiki und Issues nicht zu vermischen.Es ist sehr interessant, die Entwicklung von Radicle zu beobachten. Nach der Teilnahme an einem Workshop auf der Protocol Berg 2023 wirkt es so, als hätten sie etwas sehr Mächtiges und Neues aufgebaut. Besonders spannend ist, dass auch die kollaborative Seite des Protokolls lokal zuerst gedacht ist. Man kann Patches und Issues auch ohne Internet einreichen, und Teams sind nicht betroffen, wenn es bei GitHub Probleme gibt.
Es gibt die Frage, warum sowohl die MIT- als auch die Apache-Lizenz verwendet werden. Ob die MIT-Lizenz nicht zusätzliche Verpflichtungen der Apache-Lizenz umgehen lässt, insbesondere die Klausel zur Patentlizenzgewährung. Da die MIT-Lizenz Patente nicht erwähnt, stellt sich die Frage, warum man dann nicht nur die MIT-Lizenz nutzt.
Es gibt Zweifel, wie leicht normale Nutzer solche Repositories finden können. Es scheint keine
robots.txtzu geben, daher müssten Suchmaschinen sie crawlen können. In Google und DDG tauchen zwar Ergebnisse auf, aber noch nicht weit oben. Das könnte sich verbessern. Ein integriertes Tool für CI-Unterstützung wäre ebenfalls interessant. Außerdem braucht es bessere Werkzeuge, um Pushes auf vertrauenswürdige Identitäten beschränken zu können. Abschließend wird ein Artefakt-Repository erwähnt. Radicle muss nicht alles lösen, vor allem weil das Teilen großer Binärdateien über ein verteiltes Netzwerk schnell zweckentfremdet werden könnte.Glückwünsche zum Release sowie Begeisterung darüber, das Projekt über längere Zeit begleitet und reifer werden gesehen zu haben. Außerdem die Frage, wie Projekte von GitHub migriert werden und ob es während des Testens einen Mirror-Modus gibt.
In der Dokumentation steht, dass man nur Repositories veröffentlichen sollte, die einem selbst gehören oder die man verwaltet, und dass man sich mit anderen Administratoren abstimmen soll, um keine doppelten Repository-Identitäten zu initialisieren. Allerdings ist es wahrscheinlich, dass Leute die Doku nicht lesen oder nicht darauf achten und solche Hinweise ignorieren. Auf der Startseite wird erklärt, wie man Code pusht, aber dieser wichtige Hinweis steht nur im Benutzerhandbuch, was problematisch sein könnte.
Es gibt den Wunsch nach einer genauen Definition von Begriffen wie "peer to peer" oder "distributed". Solche Begriffe können sehr vage werden, wenn sie als Buzzwords verwendet werden.
Glückwünsche zum Release, verbunden mit der Erinnerung an ein ähnliches Projekt, das statt git pijul verwendet: nest.pijul.com.
Eine themenfremde Bemerkung, die an NESticle erinnert.