Durante años, GitHub fue mi herramienta por defecto. Repos, pull requests… lo tenía todo. Y lo sigue teniendo. Pero hace tiempo que mis proyectos se alojaron en mi propio Forgejo, y no pienso volver.
El problema no era funcional (que también). Era legal.
La letra pequeña que nadie lee
GitHub es propiedad de Microsoft. Empresa estadounidense. Sujeta al CLOUD Act, esa ley de 2018 que permite al gobierno de EE.UU. exigir a cualquier empresa estadounidense que entregue datos,dondequiera que estén almacenados, con una simple orden judicial.
No importa que tus repos estén en un datacenter de Ámsterdam. Si el proveedor responde a Washington, Washington puede acceder. Punto.
En junio de 2025, el director de asuntos jurídicos de Microsoft Francia declaró bajo juramento ante el Senado francés: «Non, je ne peux pas le garantir». Le preguntaron si podía garantizar que los datos de ciudadanos franceses no serían entregados a autoridades estadounidenses sin autorización francesa. No pudo.
Eso zanja el debate. No es una hipótesis paranoica. Es la propia Microsoft diciendo que no puede prometer soberanía sobre tus datos.
«But I have nothing to hide»
Este argumento me cansa. No se trata de tener algo que ocultar. Se trata de quién tiene jurisdicción sobre tu propiedad intelectual. Tu código fuente es un activo empresarial. Las credenciales que inadvertidamente puedes commitear, las discusiones en issues, los planes de producto en wikis internos… todo eso reside bajo una jurisdicción que no es la tuya.
Y hay más. GitHub habilitó por defecto el análisis de código para Copilot. ¿Puedes garantizar que tu código privado no alimenta modelos de IA? Sus términos lo permiten bajo ciertas condiciones, pero la historia de la industria dice que el opting-out suele llegar tarde y mal documentado.
Forgejo: tu propio GitHub
Forgejo nació en 2022 como fork comunitario de Gitea, cuando este pasó a manos de una empresa con ánimo de lucro. Desde 2024 es un fork independiente, gobernado por Codeberg e.V., una asociación sin ánimo de lucro registrada en Alemania. Licencia GPL. Cero open-core.
Para un equipo pequeño como el mío, tiene todo lo que necesito:
- Repositorios Git con control total de acceso.
- Pull requests y revisiones de código.
- Issues y proyectos tipo kanban.
- Wiki integrada por repo.
- Forgejo Actions, compatible con GitHub Actions (misma sintaxis YAML, mismo runner).
- Container registry y package registry integrados.
- Mirror automático desde/hacia GitHub si necesitas visibilidad pública.
Todo eso corre en un binario Go de 100 MB, con unos 400 MB de RAM en reposo. En mi infraestructura, en mi red, bajo mi jurisdicción. No la de un juez de Virginia.
La migración fue trivial
Exporté los repos desde GitHub. Importé en Forgejo con la herramienta nativa. Las Actions se pueden migrar cambiando dos líneas del YAML. En una tarde, estaba operativo.
¿Y si mañana quiero moverme? forgejo dump genera un backup completo: repos, base de datos, configuración. Sin vendor lock-in.
No es ideología. Es pragmatismo
Alguien me dirá que Codeberg ya ofrece hosting gratuito sobre Forgejo, y que no necesito self-hostear. Y tiene razón para muchos casos. Pero mi perfil es de sysadmin: tengo la infraestructura, tengo el conocimiento, y prefiero que mi código viaje por mi red y duerma en mis discos.
No es un acto de fe libertaria. Es una decisión de riesgos: quitar un vector de riesgo legal que no aporta valor. GitHub me da una red social de desarrolladores. Pero mi código privado no necesita red social. Necesita soberanía.
Conclusión
El CLOUD Act convirtió a GitHub en un riesgo de cumplimiento para cualquier organización europea que maneje datos sensibles. No es especulación: las propias empresas estadounidenses lo reconocen bajo juramento.
Forgejo me da el 100% de la funcionalidad que uso, con el 0% de exposición jurisdiccional. Para un equipo pequeño, no hay trade-off. Solo hay que dar el paso.
Y si algún día necesitas visibilidad pública, un mirror a GitHub te la da sin exponer tu código fuente real. Lo mejor de ambos mundos, bajo tus reglas.





Deja una respuesta