Github: presentación y datos curiosos de esta comunidad

Muchos desarrolladores principiantes suelen desconocer las posibilidades que ofrecen los controladores de versiones ya que con estos podemos mantener nuestro código a salvo de cualquier peligro y permitir un desarrollo colaborativo entre varios miembros de un equipo sin dolores de cabeza.

Guardar una copia de nuestro trabajo, o en servicios en la nube como Dropbox o Google Drive, puede parecer una buena idea al principio; pero, a medida que nuestro proyecto crece, se realizan cambios o se incorporan a nuestro equipo nuevos colaboradores su mantenimiento terminará en algo incontrolable y altamente inseguro.

Gracias a sistemas de control de versiones como Git, podemos mantener un orden sobre el avance de nuestro proyecto. Por ejemplo, podemos volver atrás si nos hemos equivocado o implementar nuevas funcionalidades procedentes de desarrollos en paralelo sin necesidad de modificar la versión funcional de nuestro proyecto y correr el riesgo de romperlo. Todo son ventajas.

 

GitHub, un servicio para mantener tu código seguro

Aunque existen múltiples alternativas a GitHub, como GitLab, SourceForge o BitBucked, este es el mayor proveedor de alojamiento de repositorios Git. Además es el punto de encuentro para que millones de desarrolladores colaboren en el desarrollo de sus proyectos. Al funcionar sobre la nube y no desde un repositorio local añadimos una capa de fiabilidad adicional ya que si nuestra máquina se estropea, deja de funcionar o se corrompe ya no podremos recuperar todo el trabajo realizado.

La forma en la que trabajamos con GitHub es muy similar a cualquier otro proyecto que tengamos en Git. Subimos a nuestro espacio la versión inicial que llamaremos “master” y de esta haremos un clonado que será la versión con la que trabajaremos. De ese modo, preservamos el código del proyecto original.

Si necesitamos generar una nueva versión o desarrollo independiente podemos desde GitHub generar un “fork” que no es más que una excisión del desarrollo original y con la que podemos trabajar por nuestra cuenta.

 

Características de GitHub útiles para el trabajo en equipo

Además de facilitar una interfaz web, proporciona a sus usuarios una serie de pequeñas herramientas muy útiles para el trabajo en equipo como por ejemplo:

  • Un wiki que funciona con Gollum.
  • Un sistema de seguimiento de problemas, al estilo del clásico sistema de tickets.
  • Una herramienta de revisión de código.
  • Un visor de ramas.

GitHub es totalmente gratuito para alojar código open source, siendo estos repositorios de visibilidad pública forzosamente. Sin embargo, si no queremos que nuestro proyecto se encuentre a la vista de todos, cuenta con un plan de precios más que razonable para activar nuestros propios repositorios privados o incorporar colaboradores externos a la plataforma.

Como curiosidad, en la actualidad GitHub cuenta con más de 26 millones de usuarios en todo el mundo y ya supera los 70 millones de proyectos en línea. Podemos encontrar desde sencillos scripts para hacer nuestras tareas en el trabajo más fáciles, servir de alojamiento público del código fuente de la computadora de abordo del Apolo XI o ser la base que centraliza el desarrollo de proyectos como Tensor Flow, un proyecto de computación con gráficos de flujo para machine learning que cuenta ya con más de 38.000 forks, 25.000 commits y 1.100 contribuyentes y es usado por grandes empresas como Airbnb, Snapchat o Twitter.

 

Alternativas a GitHub

Para muchos, GitHub ha marcado un antes y un después en el modo de percibir el código abierto, la colaboración entre desarrolladores y cómo hacer "social" nuestro código. Pero existen otras soluciones alternativas que podemos valorar.

 

GitLab

Más de 100.000 organizaciones ya confian en GitLab como Sony, NASA o el CERN para el control de versiones de sus desarrollos. Cuenta con una interfaz muy ligera y cómoda desde la que podemos crear nuestra intranet de repositorios privados, establecer niveles de autenticación avanzados a nuestros usuarios o importar aquellos trabajos que ya tengamos en GitHub facilitando una sencilla migración de una a otra plataforma.

 

Bitbucket

Basado en web, es también una interesante solución para dar respuesta a proyectos que utilizan como sistema de control de versiones Mercurial o Git, ofreciendo planes comerciales o gratuitos para pequeños proyectos. Quizá su punto más fuerte es reside en la posibilidad, mediante plugins, de integrarlo dentro de nuestro sistema de gestión de negocio (ERP) como por ejemplo Asana.

 

SourceForge

El servicio lleva activo desde 1999 y fue fundado por VA Software como un almacén de software con un sistema de control de versiones integrado. Desde 2013 es gestionado por Dice Holdings. Aunque en su momento se temía por su continuidad en la actualidad sigue gozando de una buena salud.

 

GitKraken

Pensado para ser usado conjuntamente con Git como cliente, GitKraken es una ágil solución para pequeños grupos de desarrolladores al contar con un interfaz muy sencilla y elegante que permite revisar errores al momento y mejorar nuestro flujo de trabajo mediante el uso de perfiles de usuario en su versión Pro. La versión gratuita permite su uso hasta 20 desarrolladores por proyecto o para organizaciones sin ánimo de lucro.

 

Conclusión

Ahora que ya conoces las posibilidades que los sistemas de control de versiones pueden ofrecer para no perder el control sobre nuestro trabajo ¿a qué esperas para darle uso? No esperes a que sea demasiado tarde. ¿Conoces otros sistemas de control de versiones? ¿Cuál es tu preferido?

Guía de Posibilidades Profesionales en el Ecosistema de Java