Después de que Microsoft adquirió GitHub, muchos desarrolladores han estado buscando alternativas para alojar su código. Microsoft (y muchas otras empresas gigantes) tiene la costumbre de comprar tecnología/sitios/productos comprobados para expandir su alcance. Skype es un ejemplo, y ahora Github también lo es.
Sin embargo, la noticia sobre la adquisición de GitHub fue una ducha fría para la comunidad. Si bien personalmente nunca me gustó GitHub y lo considero un desastre de usabilidad, fue el destino al que acudir para albergar una gran cantidad de proyectos de código abierto. Monopoly rara vez es saludable, y el final (obstaculizante) de GitHub lo demuestra una vez más.
Afortunadamente, hay muchos otros sistemas de control de versiones entre los que puede elegir. No todos tienen todas las funciones de GitHub, pero dependiendo de para qué los necesite, las opciones son bastante buenas. Si usted es uno de esos desarrolladores que busca cambiar de GitHub, enumeraremos aquí algunas de las alternativas: todas son autohospedadas porque no desea confiarle a otra persona su preciado código, ¿verdad?
1. GitLab
Incluso antes de que GitHub cayera en manos equivocadas, GitLab era una alternativa bastante popular. Ahora espero que llame mucho más la atención. GitLab es de código abierto y su edición principal es gratuita. También hay versiones pagas; comienzan en $ 4 por usuario por mes. Es una herramienta completa del ciclo de vida de DevOps con funciones de planificación, prueba, empaquetado y lanzamiento. También viene con una wiki y funciones de seguimiento de problemas. Puede implementar GitLab internamente o en la nube.
2. Gafas
Si la instalación sin dolor es su principal preocupación, entonces no hay nada mejor para usted que gafas. Viene con binarios listos para usar para Windows, Linux, Mac y Raspberry Pi, pero también puede usar Go para instalarlo en cualquier otra plataforma donde se ejecute Go. Gogs es ligero y rápido, y aunque no tiene todas las características de los trajes grandes y caros, viene con un wiki, seguimiento de errores, control de versiones, etc.
3. Seguimiento
seguimiento es una excelente opción si está buscando una alternativa minimalista de GitHub. Esencialmente, Trac es un wiki mejorado y un sistema de seguimiento de problemas para proyectos de desarrollo de software. Para el control de versiones, utiliza Git y Subversion, pero también puede funcionar con una docena de otros (p. ej., Mercurial, Perforce, etc.). Con su buena funcionalidad de generación de informes, Trac es una buena opción si tiene que monitorear de cerca y con regularidad el progreso de los proyectos.
4. GitBucket
GitBucket es un clon de GitHub escrito en Scala. No tiene tantas funciones como las otras aplicaciones de la lista. De hecho, su principal ventaja es su similitud con GitHub. En otras palabras, si empiezas a extrañar GitHub, siempre puedes recurrir a GitBucket. Sus características incluyen visor de repositorio, seguimiento de problemas, solicitudes de extracción y una wiki. Puede ampliar su funcionalidad con la ayuda de complementos, pero no espere demasiado de ellos.
5. Mercurio
A diferencia del otro software en esta lista, Mercurial es completamente diferente de GitHub porque no usa el servidor de Git, aunque puede convertir sus datos de Mercurial en objetos de Git. Mercurial no es la única alternativa de servidor GitHub que no es Git: hay muchos otros sistemas de control de versiones, como Perforce, Subversion, etc., que puede usar para administrar su código fuente.
Incluí Mercurial porque es bueno, multiplataforma y viene con un montón de extensiones. Además, muchos de mis amigos, que han usado tanto GitHub como Mercurial, dicen que Mercurial es mucho más fácil de usar. También me gusta su arquitectura distribuida. En términos de funciones, la instalación principal no es alucinante, pero hay extensiones para casi cualquier cosa imaginable.
Con o sin GitHub, la vida continúa. No se lamente demasiado por GitHub; podría ser bueno que ahora sea propiedad de Microsoft. Esto estimulará el crecimiento de sus alternativas, y creo que algunas de ellas serán mejores que el GitHub que conocemos hoy.