- Radicle es una red descentralizada de colaboración de código open source construida sobre Git, que permite replicar y gestionar repositorios directamente entre pares sin un servidor central
- Todos los datos y artefactos sociales están firmados con criptografía de clave pública, lo que permite verificar la autenticidad y la autoría
- Los usuarios pueden operar su propio nodo para mantener un entorno de colaboración resistente a la censura, y trabajar con un enfoque local-first incluso sin conexión a Internet
- Mediante Collaborative Objects (COBs), funciones de colaboración como issues, discusiones y revisión de código se implementan como objetos de Git, y los desarrolladores pueden ampliar libremente estas capacidades
- Está compuesto por una arquitectura modular con CLI, web y TUI, lo que lo convierte en una plataforma de forja de código altamente extensible en la que es posible desarrollar y sustituir distintos clientes
Sinopsis
- Radicle es un stack de colaboración de código peer-to-peer basado en Git que, a diferencia de las plataformas centralizadas de hosting de código, no tiene una única entidad de control
- Los repositorios se replican de forma distribuida entre pares, y los usuarios tienen control total sobre sus datos y flujo de trabajo
- Se ofrece como open source y puede usarse libremente bajo las licencias MIT y Apache 2.0
- El repositorio principal tiene el identificador
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Instalación e inicio
- La instalación puede hacerse desde la shell con el siguiente comando:
curl -sSLf https://radicle.xyz/install | sh
- O también puede compilarse directamente desde el código fuente
- Actualmente solo funciona en Linux, macOS y la familia BSD
- También ofrece un entorno de colaboración gráfico mediante el cliente Radicle Desktop
Cómo funciona
- Usa un sistema de identidad criptográfica para garantizar la integridad del código y de los datos sociales, así como la autenticación de la autoría
- Utiliza Git para realizar una transferencia eficiente de datos entre pares
- Intercambia metadatos de repositorios mediante un protocolo de gossip personalizado
Seguridad y persistencia de los datos
- Todos los artefactos sociales se almacenan en Git y están firmados con criptografía de clave pública
- Radicle verifica automáticamente la autenticidad de los datos y la identidad del autor
Autonomía y resistencia a la censura
- Los usuarios pueden operar directamente su propio nodo, manteniendo un entorno de colaboración sin dependencia de terceros
- La red está diseñada con una estructura resiliente y resistente a la censura
Local-first
- Ofrece funcionalidad siempre accesible incluso sin conexión a Internet
- Los usuarios conservan la propiedad de sus datos y pueden moverlos, respaldarlos y acceder a ellos con facilidad
Escalabilidad y capacidad de evolución
- Mediante Collaborative Objects (COBs), funciones como issues, discusiones y revisión de código se implementan como objetos de Git
- Los desarrolladores pueden ampliar los COBs para construir nuevos flujos de colaboración
Diseño modular
- El stack de Radicle está compuesto por CLI, interfaz web y TUI
- Estos están respaldados por Radicle Node y HTTP Daemon
- Cada componente puede sustituirse, y también es posible desarrollar otros clientes
Comunidad y participación
- Radicle es software libre y open source, por lo que cualquiera puede contribuir con código
- La comunidad está activa en Zulip, Mastodon, Bluesky y Twitter
- Los comentarios pueden enviarse a feedback@radicle.xyz, y se publican automáticamente en el canal
#feedback de Zulip
1 comentarios
Comentarios de Hacker News
Sintieron que el párrafo de presentación de Radicle no deja claro en qué se diferencia de un Git autoalojado
Si es una alternativa como Gitea o Forgejo, estaría bien explicar brevemente qué funciones agrega encima de Git
Se entendió como una herramienta para colaborar sin el caos de compartir parches por correo electrónico
Como no conocían Gitea ni Forgejo, la comparación más bien no ayuda
El hecho de mencionar Git en la primera oración lo hace claro
En cambio, la landing page de Forgejo evita mencionar Git o control de versiones y eso resulta más confuso
Ofrece funciones de alojamiento local como Forgejo/Gitea/GitLab, pero funciona sobre una red P2P, lo que lo hace resistente a fallos y permite alojar proyectos públicos descentralizados
Estaría bueno que propusieran directamente cómo redactarlo mejor
Da gusto ver un intento de crear una nueva forja social
Que existan proyectos así ya sirve, aunque solo sea para presionar a GitHub y GitLab a mejorar
Según el FAQ, Radicle intenta resolver el problema de confianza en Git con un sistema de identidad basado en PKI
Pero al final sigue quedando la pregunta de “en la identidad de quién confiar”
Actualmente tienen una correspondencia 1:1 con claves SSH, pero se está ampliando hacia identidades grupales
No es una solución perfecta, pero mediante identidades criptográficas ofrece una estructura donde “la mayor confianza de algunos puede escalar”
Al final, la confianza se distribuye a través de conexiones sociales, como en las relaciones entre personas
Una vez que existe esa confianza, se pueden buscar otros repositorios con el mismo DID
Si hay varias versiones, basta con elegir el repositorio con una fuente confiable o con más actividad
Al convivir con grupos pequeños de sysadmins que ponen a funcionar servicios viejos de internet (IRC, Gopher, etc.), surge la preocupación por la imposibilidad de borrar en sistemas P2P
Se preguntan qué hacer si alguien sube datos personales por error o publica contenido que luego se vuelve problemático por un cambio legal
También hay situaciones de riesgo como el caso de arrestos de radioaficionados en Bielorrusia
No significa que P2P sea algo malo, pero el problema del borrado sigue siendo difícil de resolver
Incluso en GitHub, cuando se sube código con claves secretas, muchas veces ya es demasiado tarde
Más que crear un problema nuevo, P2P simplemente deja al descubierto uno que ya existía
Sería bueno tener una función de publicación diferida que permita cancelar la publicación dentro de cierto tiempo, como en el correo electrónico
También están discutiendo una función de descarte de contenido a nivel de red
Los operadores pueden manipular si algo se borra o incluso reportarlo al gobierno
Los problemas legales dependen al final de la justicia del sistema político
Preguntan cuál es la diferencia con Tangled
Todo el trabajo (issues, revisión de parches, etc.) ocurre en un almacén de datos local y no hay ida y vuelta con un servidor
La red solo interviene al momento de sincronizar
En cambio, Tangled tiene una estructura federada basada en AT Protocol y en la práctica depende de servidores centralizados (AppView)
Estructuralmente es de tipo cliente-servidor
En Radicle no existe el concepto de servidor y todos los nodos son iguales
Aun así, algunos nodos pueden funcionar como servidores HTTP para facilitar el acceso desde el navegador
Según el FAQ, Radicle permite que cada nodo bloquee abuso o contenido ilegal con sus propias políticas
También admite repositorios privados entre peers de confianza
Los datos no están cifrados, pero gracias a la replicación selectiva no quedan expuestos a toda la red
Enlace al FAQ
Sintieron que la página principal necesita una gateway para acceder a un índice de repositorios públicos
Así se podría explorar toda la red
Si existiera ese índice, tendría potencial para reemplazar a GitHub
Aunque no saben si está enlazado explícitamente desde la página principal
Radicle realmente parece un proyecto genial
Llevan meses ejecutando un nodo, pero todavía no lo usan como principal
Creen que una forja P2P es el futuro de la web
Participar ya es una forma de votar
Cada vez que bloquean un proyecto en GitHub, piensan “deberían haber usado Radicle”
Si se opera un nodo detrás de Tor, incluso se podría evitar la presión legal
Algunos proyectos tuvieron problemas con este tipo de configuración en el pasado
Se preguntan cómo se protege un seeder permisivo contra subidas de binarios grandes
Si se guardan todos los issues y discusiones, el tamaño del repositorio podría crecer demasiado
Parece necesario algún tipo de replicación parcial, como shallow clone en Git
Preguntan cuál es la diferencia con Forgejo (protocolo ForgeFed)
Cada nodo funciona con el mismo proceso y las cuentas de usuario usan autenticación autocertificante (self-certifying)
En cambio, Forgejo tiene una estructura federada en la que los servidores se comunican por ActivityPub
Se puede comparar GitHub : Forgejo = Twitter : Mastodon, y compartir archivos : BitTorrent = desarrollo de software : Radicle
Radicle gestiona las referencias mediante namespaces criptográficos por proyecto, no con un servidor central
El control de acceso también se basa en la identidad del usuario, no en el servidor