- Manganin es un forge de Git desarrollado en Zig que busca una gestión moderna de código fuente sin concesiones; no replica el modelo estilo GitHub existente, sino que explora nuevas formas de colaboración
- Los colaboradores deben contar con el aval de miembros existentes para poder crear issues y PR; mediante un árbol de avales (vouch tree) que rastrea las rutas de responsabilidad por usuario, protege el tiempo y la atención del equipo central
- Pensado para self-hosting, elimina formatos de datos propietarios y la dependencia de proveedores; almacena todos los datos como archivos de texto plano en Git y requiere solo hardware mínimo
- Puede configurarse para exigir aval incluso al clonar repositorios, bloqueando bots no autorizados y scrapers para entrenamiento de modelos sin JavaScript, redirecciones ni degradación de velocidad
- Busca reducir la fricción y las molestias del modelo GitHub tradicional mediante un flujo de trabajo local-first, donde los issues se escriben y editan offline en el editor preferido y se sincronizan con Git
Estructura de contribución basada en la confianza
- Manganin es un forge de Git) escrito en Zig
- Su nombre proviene de una aleación de manganeso y cobre cuya resistividad eléctrica se mantiene relativamente constante aunque cambie la temperatura
- La cantidad de líneas de código en un PR no necesariamente es proporcional a la calidad ni al esfuerzo invertido, y el tiempo y la atención de los mantenedores de open source son cada vez más escasos debido al burnout
- La visibilidad en redes sociales hace que incluso personas que no han usado realmente un proyecto tengan opiniones fuertes sobre él
- En el árbol de avales, los nuevos colaboradores deben recibir el aval de un colaborador existente
- El avalista promete que el usuario al que avala respetará las reglas del proyecto
- El usuario avalado obtiene permisos para contribuir al proyecto, como crear issues y enviar PR
- Se puede rastrear la relación de responsabilidad desde cada usuario hasta la parte superior del árbol, y también puede haber consecuencias para quien avaló a un usuario que sabotee deliberadamente el proyecto
- Busca crear un entorno de alta confianza vinculando el alcance con el que alguien puede hacer perder tiempo al equipo central con su nivel de confianza
- Toma como caso de comparación la estructura de usuarios de lobste.rs, donde incluso los temas difíciles suelen discutirse con respeto y los bloqueos son poco frecuentes
Self-hosting y propiedad de los datos
- Con una estructura centrada en el self-hosting, evita formatos de datos propietarios y dependencia de proveedores, y minimiza los requisitos de hardware
- El operador es dueño directo del entorno de despliegue y de los datos, que se almacenan en Git como archivos de texto plano
- Puede configurarse para que solo usuarios avalados clonen repositorios, bloqueando bots no autorizados y scrapers para entrenamiento de modelos
Reimaginar el modelo tradicional de forge de Git
- Mientras la mayoría de los forges de Git existentes ofrecen funciones similares, Manganin busca sumar diversidad al ecosistema de control de código fuente con un nuevo modelo de colaboración
- Como mínimo, apunta a ofrecer un modelo distintivo para el desarrollo futuro; en el mejor de los casos, convertirse en una herramienta que acelere el desarrollo de proyectos open source existentes
- GitHub ocupa un lugar tan grande en el desarrollo de software que se lo considera casi sinónimo de Git
- Forgejo y Codeberg fueron diseñados como reemplazos drop-in de GitHub, pero Manganin apunta a un hosting de código fuente basado en Git que no esté atado a decisiones de diseño de hace décadas
- Propone un flujo en el que los issues se crean y editan offline en el editor de texto preferido, y luego se sincronizan de forma nativa de Git y local-first usando herramientas existentes y comprobadas
- Busca mantener cautela en todas las etapas de diseño e implementación para reducir la fricción y las molestias creadas por el modelo GitHub, y ofrecer mejores soluciones a problemas habituales de workflow
- Su objetivo final no es la herramienta en sí, sino servir a los usuarios
Aún no hay comentarios.