Protocolo y stack Radicle Heartwood
- Radicle Heartwood es la tercera versión del protocolo Radicle, un stack de colaboración y publicación de código entre pares.
- Este repositorio incluye la implementación completa de Heartwood, incluida una interfaz de línea de comandos amigable (
rad) y el demonio de red (radicle-node).
- Radicle está diseñado para reemplazar forjas de código como GitHub y GitLab, como una alternativa segura, distribuida y sólida que preserva la soberanía y la libertad de los usuarios.
Requisitos de instalación
- Se requiere Linux o un sistema operativo basado en Unix.
- Se requiere Git 2.34 o superior.
- Se requiere OpenSSH 9.1 o superior y
ssh-agent.
Instalación desde binarios
- Se requieren
curl y tar.
- Para instalar la última versión binaria, ejecuta el siguiente comando:
sh <(curl -sSf https://radicle.xyz/install)
Instalación desde el código fuente
- Se requiere el toolchain de Rust.
- Dentro de este repositorio, puedes ejecutar los siguientes comandos para instalar el stack de Radicle desde el código fuente:
cargo install --path radicle-cli --force --locked
cargo install --path radicle-node --force --locked
cargo install --path radicle-remote-helper --force --locked
- O bien, puedes instalarlo directamente desde un nodo seed:
cargo install --force --locked --git https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git \ radicle-cli radicle-node radicle-remote-helper
Ejecución
- En la carpeta
/systemd se proporcionan archivos de unidad de Systemd para el demonio del sistema y el demonio HTTP. Pueden usarse como punto de partida para personalizaciones adicionales.
- Además, ambos crates incluyen un
Dockerfile.
- Para saber cómo ejecutarlo en modo debug, consulta
HACKING.md.
Cómo contribuir
- Para una introducción sobre cómo contribuir a Radicle, consulta
CONTRIBUTING.md y HACKING.md.
Licencia
- Radicle se distribuye bajo los términos de la licencia MIT y Apache License (Version 2.0).
- Para más detalles, consulta
LICENSE-APACHE y LICENSE-MIT.
Opinión de GN⁺
- Radicle es una plataforma distribuida de colaboración de código que busca reforzar la soberanía del código de los usuarios como alternativa a los servicios centralizados de alojamiento de código. Esto tiene un valor muy importante para los desarrolladores, ya que les da control sobre la propiedad de sus datos y su privacidad.
- La red distribuida que ofrece Radicle no depende de un servidor central, por lo que tiene la ventaja de estar libre de caídas del servicio o censura. Sin embargo, esto también puede afectar la estabilidad y la velocidad de la red, lo que podría impactar negativamente la experiencia de usuario.
- Radicle es un proyecto de código abierto que sigue evolucionando gracias a las contribuciones de la comunidad de desarrolladores. Esto le da la ventaja de poder responder rápidamente a problemas técnicos o a la incorporación de nuevas funciones.
- Antes de adoptar Radicle, conviene considerar la compatibilidad con los servicios centralizados existentes, los requisitos de seguridad del proyecto y las barreras de adopción dentro del equipo.
- Otros proyectos con funciones similares incluyen la versión self-hosted de GitLab y alternativas de código abierto como Gitea, que permiten a los usuarios gestionar su código en sus propios servidores.
1 comentarios
Comentarios de Hacker News
Saludo de uno de los cofundadores del proyecto y enlace con una explicación de cómo funciona el protocolo. La documentación todavía está en proceso.
Parece adecuado para el propósito del proyecto, pero la opinión es que git ya es open source y P2P. Con git se puede conectar a otros servidores y traer o fusionar código directamente sin binarios adicionales. Lo que le falta a git son issues de código, wiki, discusiones, GitHub Pages y, sobre todo, una red de perfiles de desarrolladores. Hace falta una forma de incluir metadatos del proyecto en
.git, y podría requerirse una referencia independiente para no mezclar wiki e issues.Resulta muy interesante ver la evolución de Radicle. Después de asistir a un taller en Protocol Berg 2023, la opinión es que construyeron algo muy potente y novedoso. Lo más interesante del aspecto colaborativo del protocolo es que también está diseñado con enfoque local-first. Se pueden enviar parches e issues sin internet, y el equipo no se ve afectado cuando GitHub tiene problemas.
Duda sobre por qué usan tanto la licencia MIT como Apache. Se pregunta si la licencia MIT no permite eludir responsabilidades adicionales que sí ofrece la licencia Apache, especialmente en lo relacionado con la concesión de licencias de patentes. Como la licencia MIT no menciona patentes, surge la pregunta de por qué no usar solo MIT.
Duda sobre qué tan fácil es para el público general encontrar estos repositorios. Parece no haber archivo
robots.txt, así que los motores de búsqueda podrían rastrearlos. De hecho aparecen resultados en Google y DDG, aunque todavía no muy arriba. El ranking podría mejorar. También sería interesante una herramienta que integre soporte para CI (integración continua). Hacen falta mejores herramientas para limitar los pushes solo a identidades confiables. Por último, se menciona un repositorio de artefactos. Radicle no necesita resolverlo todo, especialmente porque compartir binarios grandes por una red distribuida puede terminar usándose rápidamente para fines no deseados.Felicitaciones por el lanzamiento, y entusiasmo por seguir el proyecto y verlo madurar. Pregunta sobre cómo migrar proyectos alojados en GitHub y si existe un modo espejo durante las pruebas.
La documentación menciona que es importante publicar solo repositorios que uno posee o administra, y comunicarse con otros administradores para evitar inicializar identidades duplicadas del repositorio. Sin embargo, es probable que muchas personas no lean la documentación o no presten atención y terminen ignorando esa indicación. La página principal explica cómo hacer push de código, pero este aviso importante solo aparece en la guía de usuario, lo cual podría ser un problema.
Se pide una definición precisa de términos como "peer to peer" o "distributed". Cuando se usan como palabras de moda, pueden volverse muy ambiguos.
Felicitaciones por el lanzamiento, y comentario de que recuerda a un proyecto similar,
nest.pijul.com, que usa pijul en lugar de git.Mención fuera de tema que recuerda a NESticle.