¿Qué es GitHub?

GitHub
GitHub es una forja (plataforma de desarrollo colaborativo) para alojar proyectos utilizando el sistema de control de versiones Git. Se utiliza principalmente para la creación de código fuente de programas de ordenador. El software que opera GitHub fue escrito en Ruby on Rails. Desde enero de 2010, GitHub opera bajo el nombre de GitHub, Inc. Anteriormente era conocida como Logical Awesome LLC. El código de los proyectos alojados en GitHub se almacena generalmente de forma pública.

El 4 de junio de 2018, Microsoft compró GitHub por la cantidad de 7500 millones de dólares.​ Al inicio, el cambio de propietario generó preocupaciones y la salida de algunos proyectos de este sitio; sin embargo, no fueron representativos. GitHub continúa siendo la plataforma más importante de colaboración para proyectos de código abierto.

Características

Repositorios

Los repositorios son, como su propio nombre indica, lugares virtuales alojados en la nube en donde los usuarios pueden almacenar cualquier tipo de archivo. Suelen usarse para guardar archivos de texto que representan código en distintos lenguajes de programación, los cuales a su vez conforman un programa o aplicación. Este es el servicio principal que ofrece GitHub: repositorios en donde los usuarios pueden almacenar el código de sus aplicaciones, ya sea de forma pública, privada o a través de una organización.

Para ser identificados, los repositorios muestran información relevante, como la descripción del proyecto, los lenguajes de programación usados o las etiquetas de búsqueda. Un aspecto muy importante de la información de los repositorios es el archivo «README», el cual los desarrolladores pueden crear (ya sea en formato Markdown o en formato de texto simple) para describir su proyecto a fondo. Por lo general, este tipo de archivo suele contener una descripción, capturas de pantalla del programa, instrucciones de instalación y la declaración de la licencia.

En la pestaña de configuración, los desarrolladores pueden cambiar aspectos generales del repositorio, así como aspectos más avanzados. Entre los aspectos más avanzados se incluye el acceso al repositorio (agregar colaboradores y determinar quiénes pueden interactual con él),​ la automatización del y gracias al repositorio (las ramas y sus reglas,​ GitHub Actions, webhooks,​ los ambientes y GitHub Pages), la seguridad del repositorio (la seguridad y el análisis del código mediante alertas de bots y actions,​ las llaves de despliegue​ y los secretos cifrados) y, por último, las integraciones, que incluyen el uso de las aplicaciones instaladas en GitHub y las notificaciones por correo electrónico.

Issues
Los issues, llamados «propuestas» en español, se asemejan, en cierta medida, a los hilos en algunos foros y redes sociales: son publicaciones que tratan sobre una cuestión en específico. En GitHub, los issues son abiertos por usuarios que tienen un fallo con el código del repositorio y quieren recibir ayuda para solucionarlo, por usuarios que quieren plantear una compleja mejora del programa, entre otros usos.​ Se pueden enlazar pull requests a los issues, así como asignar usuarios y etiquetas. Pueden convertirse en debates.

Pull requests
Las pull requests son solicitudes de admisión de código. Los usuarios pueden editar cualquier archivo de código de un repositorio, ya sea a través del editor integrado de GitHub o desde su ambiente local. Cuando el usuario ha editado uno o varios archivos, puede enviar la solicitud al repositorio que quiere modificar. De esta forma, se creará una solicitud en la pestaña de pull requests, donde el creador del repositorio o los colaboradores pueden decidir si aceptar o denegar la solicitud. Adicionalmente, pueden revisar el código y enviar comentarios a modo de retroalimentación. Este proceso se conoce como «revisión de código».​ Al igual que con los issues, es posible asignar usuarios y etiquetas a las pull requests.

Debates
Los debates, llamados en inglés discussions, son una mecánica que estuvo en período de pruebas por un tiempo, siendo posteriormente aceptada como una mecánica nativa de los repositorios.​ Son parecidos a los issues ya que pueden crearse sobre temas específicos y almacenar comentarios de otros usuarios a modo de foro. Para una mejor organización, los debates pueden clasificarse en diferentes categorías que el dueño del repositorio puede crear. A diferencia de los issues, hay un sistema de votos para los comentarios y un usuario con permisos en el repositorio puede marcar una respuesta como «correcta».​ Pueden convertirse en issues.

Actions
Cada repositorio tiene la opción de usar actions, que es un servicio que permite al usuario crear flujos de trabajo con los cuales automatizar ciertas acciones, logrando así una integración continua y una entrega continua. Las actions pueden ser personalizadas gracias al uso de archivos en un formato concreto. En la pestaña de actions pueden encontrarse opciones adicionales.

Wiki
Una función muy útil para algunos repositorios es la de la creación de páginas de wiki. Gracias a estas, los creadores de los proyectos pueden escribir artículos que expliquen más cosas acerca del proyecto. Se encuentran en una pestaña aparte, por lo que no es necesario llenar el directorio del proyecto con archivos de información.

Usuarios

Cualquier persona puede ver el contenido de un repositorio público, de una página de perfil de usuario o de páginas especiales de GitHub sin la necesidad de crearse una cuenta. Sin embargo, no podrá hacer ninguna acción, como comentar en issues o discusiones, hacer un fork de un repositorio, crear un repositorio, etc., si no tiene una cuenta (y ha iniciado sesión en ella).

Al igual que en las redes sociales, GitHub cuenta con una página para cada usuario que se registra en el sitio. En la sección lateral izquierda de los perfiles aparece la información personal y la información adicional del usuario (la foto de perfil junto con su estado, la biografía, la compañía en donde trabaja, el lugar en donde reside, el enlace a su sitio web, su nombre de usuario de Twitter, su dirección de correo electrónico, las personas y organizaciones que lo patrocinan así como las personas y organizaciones a las que el usuario patrocina, las insignias que ha ganado, la cantidad de respuestas en discusiones que han sido marcadas como «correctas» y las organizaciones a las que pertenece; añadir esta información es opcional, ya que pueden dejarse los campos en blanco o desactivar mostrar dichas secciones en los ajustes).

Debajo de la barra de navegación aparece una serie de pestañas a través de las cuales es posible acceder a todos los repositorios creados por el usuario, a sus proyectos, a los paquetes que ha creado, a los repositorios que ha marcado como «favoritos» y a las personas a quienes está patrocinando.

En el 2020, una diseñadora de GitHub anunció una nueva función llamada «GitHub profile READMEs», la cual permite a los usuarios mostrar un archivo en formato Markdown en el centro de la página de su perfil. Para hacer esto el usuario debe crear un repositorio con el mismo nombre de su nombre de usuario y añadir un archivo de texto. Como Markdown admite texto en diferentes formatos e imágenes, es posible hacer una combinación de muchos estilos. Debajo del archivo de texto (si es que lo hay) aparecen los repositorios anclados por el usuario (máximo seis); si este no ha anclado ningún repositorio, aparecerán automáticamente sus repositorios públicos más populares.

En la última sección, debajo de los repositorios anclados o populares, aparece el gráfico que muestra los días en los que el usuario ha hecho como mínimo una contribución y la cantidad de estas. Adicionalmente, el usuario puede elegir si mostrar sus contribuciones a repositorios de organizaciones, si mostrar el gráfico que indica el porcentaje del tipo de contribuciones (revisiones de código, issues, pull requests y commits) o si incluir el número de contribuciones privadas. Del lado derecho hay una lista que enumera los años desde que el usuario se unió a GitHub hasta el presente año. Al hacer clic en uno de ellos, pueden verse las contribuciones hechas por el usuario en el año seleccionado.

Organizaciones

Un usuario puede crear una organización, que no es más que una cuenta que representa a una empresa o equipo de trabajo.​ Se pueden crear repositorios dentro de una organización (los cuales pertenecen a ella) y determinar ajustes por defecto que serán seleccionados cuando se creen nuevos repositorios bajo el nombre de la organización, con el objetivo de mantener una uniformidad conforme a los deseos y necesidades de los miembros.​ Los usuarios que tienen el permiso de administrador pueden enviar solicitudes de unión a los usuarios que deseen, determinando cuáles permisos tendrán y con la capacidad de cambiarlos a su gusto en un futuro.​ Se lleva a cabo un proceso similar en el caso de que se quiera eliminar un miembro de la organización.

Con el objetivo de preservar la seguridad y el control de la organización, el dueño de una puede asignar distintos tipos de roles a los miembros que decida; estos roles difieren en los permisos que tienen, siendo algunos más restrictivos que otros. Existen cuatro tipos de roles: dueños, miembros, gestores de facturación y gestores de seguridad. Con relación a los roles existen los equipos: grupos en los que pueden ser organizados los miembros de una organización según la actividad que desempeñen. Esta función facilita el trabajo grupal y, sobre todo, el orden dentro de la organización. Cada equipo tiene su propia página de debates, pueden ser mencionados directamente, entre otras muchas funciones.

Al igual que los perfiles de usuarios, los perfiles de las organizaciones tienen pestañas en donde se muestran los repositorios que les pertenecen, las personas involucradas —y los equipos en los que son clasificadas—, la descripción, el enlace al sitio web oficial, etc. Funciones como el patrocinio pueden ser activadas igualmente en cuentas de organizaciones. 

Publicar un comentario

Artículo Anterior Artículo Siguiente