Github vs Bitbucket. Mi opinión personal sobre cual usar.

Git es un sistema de control de versiones muy popular en la actualidad, poco a poco le ha ganado terreno a otros sistema de versiones como Mercurial o Subversion, si obviamos sus ventajas frente a otros sistemas de control podríamos decir que debe parte de su fama al portal Github.

Github es por excelencia el sitio de moda para alojar nuestro repositorio de código. Esta basado en Git (aunque sobre decirlo), y es el elegido por grandes empresas como Facebook o Twitter para liberar sus proyectos OpenSource, es tan común en el mundo del desarrollo que muchas ofertas de trabajo te piden como requerimiento tener Github para comprobar que realmente eres tan bueno como dices ser.

Luego tenemos Bitbucket, otro sitio donde alojar nuestros repositorios, usa Git pero también es compatible con Mercurial, lo cual es una ventaja para los que siguen usando este sistema. La interfaz después del lavado de cara que le dieron hace unos meses la convierte bastante similar a Github, pero a mí me gusta más el tema de colores elegidos en Bitbucket.

¿Por que usar uno de estos sitios? La principal ventaja es tener centralizado el desarrollo de forma que todo el equipo pueda enviar y comprobar cambios de forma sencilla sin necesidad de ver uno a uno los cambios en los equipos de cada desarrollador. Otra ventaja es tener un lugar gratuito donde hacer esto, o sea donde poder organizarte y mostrar tus trabajos al publico (siempre que sean OpenSource).

Pero, entonces si son similares ¿Cual me conviene?. Esta claro que si usas Mercurial tu primera opción debe ser Bitbucket, aunque Github te permite alojar tu repositorio mercurial, no es tan sencillo en primera instancia como con su competidor (ver http://hg-git.github.com/).

Luego depende de gustos, si te gusta estar a la “moda” y seguir el Hype, Github es tu sitio, pero si por el contrario te gusta analizar y tomar decisiones basándote en algo más “real” deberías de tener en cuenta el tipo de proyecto que deseas alojar y el equipo que lo va a desarrollar.

Veamos, Github nos permite disponer de repositorios ilimitados con un numero también ilimitado de colaboradores de forma gratuita, siempre y cuando los proyectos sean OpenSoruce, por lo tanto es buena opción para estos casos, además si buscas una amplia comunidad que pueda aportar cambios al código de forma sencilla, github es una buena opción ya que hay una gran cantidad de desarrolladores registrados y activos a diario.

El tema cambia cuando hablamos de crear proyectos cerrados, o lo que es lo mismo, repositorios privados, si este es tu caso deberás de pasar por caja, el plan mínimo son apenas unos 7 dolares al mes (unos 5.5 euros aprox.) donde contarás con 5 repositorios privados y un numero ilimitado de colaboradores. Seamos realistas, al menos en mi caso no veo necesario un numero ilimitado de colaboradores, dudo mucho que tenga un proyecto en el que participe tanta gente como colaboradores permitido como para necesitar este plan (ten en cuenta que los usuarios que hagan pull request no se consideran como colaboradores). Es aquí donde entra en juego Bitbucket.

Bitbucket nos permite en su plan gratuito crear repositorios privados y públicos indistintamente, sin limite de proyectos a alojar, pero limitándonos en el numero de colaboradores permitidos, en este caso a 5. Un numero a mi parecer bastante aceptable para pequeños equipos o desarrolladores independientes, y es que un proyecto de pequeña o media envergadura no suele tener demasiados programadores. Llegado el caso de necesitar más de 5 programadores podemos contratar el plan básico por unos 10 dolares al mes (unos 7.5 euros aprox.).

Conclusión: Desde mi punto de vista si tienes un proyecto OpenSource en el que buscas que la comunidad participe abiertamente y ves necesario darle permiso para modificar el código directamente a muchos desarrolladores, tu elección debe ser GitHub. Pero si por el contrario el numero de desarrolladores no es un factor importante, o si tu proyecto es privado y de un grupo pequeño de desarrolladores, yo elegiría Bitbucket.

Lo cierto es que con el que más cómodo me siento es con Bitbucket, pero mientras la comunidad se mueva mayoritariamente en Github seguiré subiendo mi proyectos públicos ahí, y los privados a Bitbucket. Yo no soy ningún experto, al contrario, un novato que ha usado poco ambos sistemas, pero creo que mis conclusiones pueden ayudar a guiar a otros sin comerse demasiado la cabeza. Si tienes experiencia en alguno de estos portales, animate que tu opinión sera gratamente bienvenida en los comentarios.