Github es una aplicación de desarrollo colaborativo de software que presta herramientas para trabajar en equipo en el desarrollo de un software.

Esta aplicación permite realizar funciones como fork, que es la copia de un proyecto ajeno en la cuenta del usuario para realizar modificaciones en el mismo y hacer pull que quiere decir que se lo devuelve al dueño con las modificaciones realizadas para que el autor original pueda analizar las modificaciones que el otro usuario ha hecho e incluso incluirlas al proyecto original si estos cambios son efectivos.

Categoría: Despliegue.

URL: https://github.com/

En esta herramienta encontraremos funciones muy útiles para el trabajo en grupo como pueden ser una wiki que permite el mantenimiento de las versiones de cada página, una herramienta de revisión de código para añadir información en todos los ficheros y argumentar y discutir los cambios realizados. Encontramos también un sistema de seguimiento de problemas para que cada usuario que coja el proyecto pueda especificar si ha tenido algún problema y sugieran un cambio y por último, un visor de ramas para comparar los avances y cambios realizados en nuestro proyecto.

Registro y coste

El registro a esta herramienta sigue el conocido ‘freemium’, es decir, es gratuito para proyectos de uso público y con fuentes abiertas, pero por el contrario, para trabajar en grupo e ir desbloqueando funciones, se debe elegir un plan de pago que incluyen las siguientes funciones según el precio y categoría.

En este apartado de la página web, podemos analizar las distintas funciones que incluyen los servicios de pago a fecha de Noviembre de 2017:

  • Developer: Incluye una cuenta personal, repositorios tanto públicos como privados ilimitados y colaboraciones ilimitadas. Por 7 dólares al mes, el usuario puede tener unos permisos básicos dentro de la herramienta e incluso es gratis para estudiantes que formen parte del ‘Student Developer Pack’
  • Team: Desde 9 dólares al mes, este paquete incluye organización de la cuenta, para dar a cada usuario un rol o función dentro de un proyecto, repositorios ilimitados tanto públicos como privados y permisos especiales para usuarios individuales que formen parte del equipo.
  • Business: Desde 21 dólares, con algunas condiciones según la categoría, los usuarios registrados de categoría Hoosted in Github disfrutaran de una cuenta organizada, posibilidad de incio de sesión único evitando simultaneidad, servicio técnico con rápida respuesta y sincronización de equipo. En cambio, los registrados en la categoría Github Enterprise pueden usar funciones como acceso a múltiples organizadores, asistencia 24 horas para cualquier problema serio que pueda surgir, auditorias y acceso a otras plataformas.

Principales ventajas

  • Las principales ventajas de esta herramienta son, que aparte de ser una de las webs más conocidas y cotizadas para el desarrollo de software, las funciones de la herramienta permiten tener una amplia colaboración entre todos los usuarios y con esto conseguir mejorar el proyecto en base a ideas y mejoras que otros usuarios han hecho sobre tu proyecto original.
  • Para trabajar en equipo, es sin duda una herramienta útil porque debido a sus utilidades, se permite que un compañero de equipo o simplemente cualquier usuario puedan escribir en tu repositorio original.
  • Destaca también el visor de código de Github con el que podemos ver todos los contenidos de archivos delimitados de manera rápida y además hacer pequeñas consultas o copiar porciones de código sin necesidad de bajarse todo el repositorio.
  • En cuanto al registro de incidencias, cualquier usuario que detecte un fallo, puede dejarlo anotado en un ticket para describir cual ha sido su fallo y proponer una mejora o cambio en el software.

Principales desventajas

  • La principal desventaja de Github es que para un proyecto abierto es muy buena opción de trabajo, pero para un proyecto privado donde solo un grupo cerrado de personas puedan intervenir se debe elegir una opción de pago, por lo que la herramienta tiene limitaciones en su versión gratuita. Por tanto, si queremos evitar que nuestro proyecto sea público y tenga acceso abierto para todo el mundo, debemos elegir una opción de pago para garantizarnos el blindaje del mismo.
  • Hay otras herramientas como Bitbucket que tienen la opción de restringir al público el proyecto en su versión gratuita, por lo que sería un competidor muy peligroso.

Enlaces a recursos vinculados

En este enlace web, podemos ver el perfil de un usuario que utiliza Github y tiene colgaos varios proyectos.

Ejemplos de uso

El usuario Fabien Senny es a quien vamos a tomar como referencia para ver los ejemplos de uso de la herramienta y analizar su trabajo en diferentes documentos de acuerdo con las características de uso de la herramienta Github.

  • En primer lugar, vamos a abrir uno de sus documentos llamados ‘Logo’, donde posiblemente registra un logo para un nuevo proyecto que el usuario empieza de cero.  https://github.com/FabienSerny/mymodcomments/commit/9f641c1678253bd040aed769c81ee0bbab053351
  • Como veíamos antes, Fabien ha utilizado códigos para desarrollar un logo para su proyecto, en este caso, cualquier usuario registrado puede intervenir para modificar su proyecto y que Fabien pueda revisar estas modificaciones y elegir si añadirlas a su proyecto o no. En esta captura, podemos observar el código de un repositorio distinto, y como vemos, tenemos varias opciones de vista, desde abrirla en nuestro propio escritorio Github para modificar los códigos y proponerlos al autor original, como editar o informar de errores.

  • Para todas estas opciones, debemos estar registrados en categoría de usuario normal, si quisiéramos profundizar en más opciones, deberíamos elegir opciones de pago.
  • Por último, aquí tenemos una captura del perfil de Fabien Serny, el individuo que hemos escogido para analizar sus proyectos usando Github. Podemos observar el número de contribuciones que ha tenido a sus proyectos y cometarios que otros usuarios han dejado en su perfil.

Herramienta revisada inicialmente por Juan Antonio Romero Aguado.