GitHub es un sitio web y un servicio en el que seguramente hayas aterrizado varias veces siguiendo enlaces para descargar algún software, patch, aplicación o documento que podría ser de utilidad para tu proyecto. Realmente Github se ha convertido en un lugar de referencia no solo para quienes desarrollan software libre sino también para usuarios de ese software entre los que se encuentran artistas de media art que buscan recursos o patches para sus piezas.
El «Git» en GitHub
Para comprender el verdadero potencial de GitHub, primero debes entender en que consiste un GIt.
Un Git es un sistema de control de versiones de código abierto para la creación de software y aplicaciones que fue iniciado por Linus Trovalds, la misma persona que creó Linux. Git es similar a otros sistemas de control de versiones: Subversion , CVS y Mercurial, por nombrar algunos.
Los sistemas de control de versiones son muy variados y existen diferentes opciones. Se trata de plataformas muy útiles para programadores ya que en el proceso de desarrollo de un software se van realizando diferentes versiones y cambios continuos que son gestionados por ese Git. Con un control de versiones además se posibilita el desarrollo de una aplicacion por varias personas a la vez, facilitando la colaboración.
Este sistema de control de versiones va más allá del desarrollo inicial de un programa ya que como sabrás las aplicaciones se van mejorando en el tiempo y van evolucionando.
Github ha posibilitado no solo la creación de programas de código abierto, sino su mejora y el libre acceso a las últimas versiones de los usuarios de estos programas. De hecho su uso es muy frecuente para usuarios de software libre como wordpress o de sistemas operativos como Linux.
Git es el sistema de control de versiones preferido por la mayoría de los desarrolladores, ya que tiene múltiples ventajas sobre los otros sistemas disponibles. Almacena los cambios de archivos de manera más eficiente y garantiza una mejor integridad de los archivos.
¿Qué hace a GitHub tan especial?
GitHub.com es el lugar donde los desarrolladores almacenan sus proyectos y se conectan con personas afines pero en cierto modo se convierte también en una red social donde desarrolladores y usuarios de aplicaciones se encuentran, colaboran y construyen proyectos que de otra forma solo podrían abordar compañías comerciales.
Repasemos algunas de las razones principales por las que GitHub se ha convertido en un lugar de referencia para tod@s aquell@s que hace uso o desarrollan software libre.
Repositorio o Repo
Un repositorio es una ubicación donde se almacenan todos los archivos para un proyecto en particular. Cada proyecto tiene su propio repositorio, y puede acceder a él con una URL única.
Una búsqueda simple en su buscador, como por ejemplo «Isadora» el software de creación audiovisual sobre el que te hemos hablado, nos devuelve una gran cantidad de recursos en forma de repositorios. En este caso no se trata de repositorios usados para el desarrollo de la plataforma Isadora sino que son recursos y patches de Isadora para ser usados en la plataforma.
Tan solo tienes que hacer clic en el repositorio que más te interese y descargar los patches de Isadora a tu ordenador.
Como ves para el Media Art es un gran repositorio de recursos, te animo a que si usas otros tipos de plataformas busques tus propios recursos.
El buscador principal de Github funciona una forma diferente a la habitual, cuando estás fuera de un repositorio busca en todos pero cuando ya has entrado en uno, busca solo en ese repositorio a no ser que elijas la opción de buscar en todo Github.
Fork, bifurcando un repo
«Fork» o bifurcación es cuando creas un nuevo proyecto basado en otro proyecto que ya existe. Esta es una característica sorprendente que alienta enormemente el desarrollo de programas y otros proyectos. Si encuentras un proyecto en GitHub al que le gustaría contribuir, puede bifurcar el repositorio, realizar los cambios que desee y lanzar el proyecto revisado como un nuevo repositorio. Si el repositorio original que creó para crear su nuevo proyecto se actualiza, puede agregar fácilmente esas actualizaciones a su bifurcación actual.
Pull Request o solicitudes de extracción
Si has bifurcado un repositorio (fork), has realizado una excelente revisión del proyecto, y deseas que lo reconozcan los desarrolladores originales, tal vez incluso incluir tu revisión en el proyecto / repositorio oficial, puede hacerlo creando una solicitud de extracción o «Pull Request». Los autores del repositorio original verán tu trabajo y luego elegir si lo aceptan o no en el proyecto oficial. Cuando emite una solicitud de extracción, GitHub proporciona un medio perfecto para que tu y el encargado del proyecto principal os comuniquéis.
Una gran red social de código libre
Las herramientas de red social de GitHub tal vez sean sus características más poderosas, permitiendo que los proyectos crezcan alentados por la comunidad. Cada usuario en GitHub tiene su propio perfil que actúa como una especie de currículum, mostrando su trabajo pasado y contribuciones a otros proyectos mediante las solicitudes de extracción.
Las revisiones del proyecto pueden discutirse públicamente, por lo que una gran cantidad de expertos pueden aportar conocimientos y colaborar para hacer avanzar un proyecto. Antes de la llegada de GitHub, los desarrolladores interesados en contribuir a un proyecto normalmente necesitarían encontrar algún medio para contactar a los autores, probablemente por correo electrónico, y luego convencerlos de que se puede confiar en ellos y que su contribución es legítima.
Changelogs
Cuando varias personas colaboran en un proyecto, es difícil hacer un seguimiento de las revisiones: quién cambió qué, cuándo y dónde se almacenan esos archivos. GitHub se encarga de este problema al hacer un seguimiento de todos los cambios que se han enviado al repositorio.
GitHub para creadores
Como has podido ver, al hacer uso del buscador de la web, encontramos todo tipo de recursos interesantes para Media Art, ya sea ficheros para ser usados en programas como Isadora, Max/Msp, Pure Data, archivos con modelos 3D para imprimir, animaciones hechas mediante código, software para NetArt, programas incipientes que pueden ser de gran interés, y una larga lista de recursos que se comparten en la plataforma de manera totalmente gratuita.
GitHub se ha convertido en un lugar de referencia para el New Media Art, tanto es así que isntituciones y artistas han llegado a crear repositorios con obras o documentación. En 2014 la Tate Gallery publicó la información de todas sus obras y se realizaron visualizaciones como esta realizada por Florian Kraeutli donde muestra la cantidad de obras adquiridas por la Tate Gallery por año:
Con una simple búsqueda puedes encontrar el perfil y todos los repositorios de artistas y desarrolladores como Miller Puckette, el creador de Pure Data.
Ahora que sabes de qué se trata GitHub, ¿estás list@ para comenzar? Dirígete a GitHub.com y asegúrate de revisar sus páginas de ayuda después de registrarte.