GitHub, la plataforma que ha conseguido convertirse en menos de diez años no sólo en un referente, sino también en una herramienta que es casi imprescindible para cualquier desarrollador que esté pensando en sacar adelante un proyecto de código abierto valiéndose de la ayuda de los demás.
Pero pese a estar concebida para ayudar a los desarrolladores de software, GitHub está empezando a llamar la atención de muchos otros tipos de usuario que en ocasiones ni siquiera saben programar. Y es que sus múltiples opciones y posibilidades colaborativas están haciendo que esta plataforma también esté utilizándose para proyectos tan dispares como escribir un libro o la creación de drones con la filosofía del Open Source.
¿Por qué GitHub?
¿Pero qué ha podido llevar a que una plataforma pensada para el desarrollo de software sea utilizada también para otras cosas? Posiblemente la clave esté la universalidad de sus dos pilares fundamentales: permitir crear versiones diferentes de un mismo proyecto para que cada uno lo adapte a sus necesidades y que estas versiones puedan integrarse después al proyecto principal.
Estos dos pilares hace que GitHub sea una plataforma ideal para el trabajo colaborativo sea cual sea el proyecto. ¿Quieres escribir un libro entre varias personas? Pues cada uno puede trabajar en diferentes capítulos que luego irá integrando al conjunto total. ¿Quieres hacer una guía de viajes o un libro de recetas? Pues tres cuartos de lo mismo.
Ahí está la clave, en el trabajo colaborativo. Esta es una plataforma especialmente diseñada para él, por lo que partirás de la base de que la mayoría de usuarios está ahí para ayudar a crear algo. Esto hace que cuando tengas en ella un proyecto inmediatamente tengas la posibilidad de recibir la ayuda a quienes les interese lo que estás haciendo, dándote un siempre valioso feedback o colaborando contigo.
Y esas ayudas y colaboraciones las podrás administrar de diferentes maneras. Podrás «fichar» miembros para tu proyecto creándoles perfiles de colaboradores, y como cada vez se hace un cambio en el proyecto GitHub te sugiere que expliques qué has modificado, es increíblemente fácil saber cómo avanza el proyecto y detectar cualquier tipo de fallo.
Es evidente que un texto o proyecto colaborativo se puede desarrollar en miles de plataformas. Pero GitHub no sólo tiene una ingente cantidad de usuarios y potenciales colaboradores, sino que también es completa, sencilla de utilizar, y tan segura que en ella confían empresas de la talla de Google, Facebook o la mismísima Casa Blanca. Por lo tanto la pregunta no sería tanto por qué utilizar GitHub, sino más bien ¿por qué no?
Guías y listados colaborativos
¿Alguna vez has pensado en lo bien que te vendría tener las recomendaciones de otros usuarios cuando vas de viaje? Existen muchas plataformas diferentes para conseguirlo, pero a Dylan Egan se le ocurrió recurrir a GitHub para crear una guía colaborativa con todos los hoteles, restaurantes y puntos de interés imprescindibles recomendados por el resto de usuarios para cada una de las ciudades que planea visitar.
Entre los múltiples proyectos colaborativos de esta página también encontramos un hueco para los padres primerizos. El proyecto se llama Baby Sleep Guides, y como su propio nombre indica pretende crear una guía definitiva con todos los trucos y técnicas para conseguir que los más pequeños de la casa duerman mejor.
Pero si en vez de hacer que tu hijo se duerma lo que quieres es utilizar las horas en vela para aprender algo nuevo, también hay quien ha utilizado esta plataforma para crear con la ayuda de los demás un listado con libros gratuitos para aprender a programar. El listado es enorme, un claro ejemplo de lo que se puede conseguir cuando varias personas colaboran en un mismo proyecto.
Quien haya organizado algún tipo de evento sabe lo caótico y complicado que puede resultar contactar con cada uno de los asistentes para que confirmen si van a ir o no. Por eso no es raro que también nos encontremos con que hay quienes han tirado de GitHub para democratizar sus listas de invitados, tanto si son para fiestas como incluso para bodas.
Versiones de canciones, recetas o tipografías
Aunque GitHub integra ningún tipo de herramienta que sirva para la edición musical, sí que se puede subir código que pueda ser utilizado por otras aplicaciones. Por eso a Adam Wood se le ocurrió utilizar esta plataforma para que los amantes de los cantos gregorianos tuvieran una página central en la que crear diferentes versiones para varios instrumentos de la canción Nova Organi Harmonia.
Algo parecido es lo que nos proponen en Fork the Cookbook, un proyecto en el que la idea es que cada colaborador pueda crear diferentes versiones de una misma receta sugiriendo cambios en los ingredientes o proporciones. De esta manera, junto a cada receta aparecerá un indicador en el que podemos ver y acceder a las modificaciones que se han hecho de ella.
Otro tipo de versiones son las que propone el proyecto The League of Moveable Type. En él se van añadiendo diferentes tipos de fuentes de escritura creadas por los colaboradores, y cualquiera puede descargarlas para utilizarlas, crear y subir otras nuevas, o modificar las ya existentes para crear nuevas versiones o variaciones a partir de ellas.
Los abogados también están utilizando GitHub para hacer la vida de todos un poco más sencilla. Con la misma filosofía con la que se difunde el software libre, algunas firmas de abogados han subido colecciones de documentos legales y acuerdos de patentes para que los desarrolladores y startups puedan adaptarlos a sus necesidades y utilizarlos para ahorrarse unos cuantos euros en la redacción de este tipo de documentos.
Soporte oficial
Como hemos dicho al principio las grandes empresas también utilizan GitHub, aunque no todas se limitan a hacerlo para subir y manejar las versiones de sus aplicaciones. Por poner un ejemplo, Valve tiene una página destinada a que los usuarios puedan escribir sus problemas o bugs en busca de soporte. Una vez subidos, cada uno de estos problemas puede ser clasificado y comentado.
También se ha utilizado esta plataforma para organizar de una manera más directa y democrática cualquier tipo de evento. Un ejemplo lo encontramos en la página del festival de JavaScript JSFest Oakland, en la que se utilizó GitHub para recibir y aceptar las propuestas de quienes querían participar en las charlas o actividades.
¿No sería extremadamente democrático que los ciudadanos pudiéramos informarnos y participar activamente en la modificación de leyes locales? Pues el Senado del estado de Nueva York también ha pensado en eso, razón por la que también tiene su propio perfil para lo que ellos mismos han denominados proyectos de código abierto. Algo parecido ha hecho también el mismísimo gobierno alemán al crearse un perfil en el que publicar todas sus leyes.
Twitter es una de las redes sociales más importantes del mundo, y para mantener su posición ha decidido apoyarse en la filosofía del código abierto incluso para crear sus normas de uso. Como lo lees, Twitter tiene su propia cuenta en GitHub, y allí nos permite participar en la creación de unas normas básicas y democráticas de convivencia.
Hasta donde llegue la imaginación
GitHub también tiene herramientas secundarias creadas para aumentar la visibilidad de los proyectos que aloja, pero que también pueden ser utilizadas sin tener ningún proyecto. Un ejemplo son las GitHub Pages, una herramienta con la que podremos crear un blog de manera sencilla, y que incluso tiene una función de escritura zen para poder escribir centrándonos únicamente en nuestro texto. Como podemos ver los resultados son sorprendentes.
Y como no, quien empieza creándose un blog perfectamente puede acabar escribiendo un libro. Aquí también se puede echar mano de esta plataforma si lo que quieres es hacerlo de manera colaborativa para que en él haya la máxima cantidad de conocimientos disponible. De esta manera se ha creado tanto un libro para introducirnos en MongoDB como otros para aprender JavaScript.
Hace un par de años GitHub empezó a ofrecer la posibilidad de renderizar los modelos en 3D alojados en su web. Esto le ha abierto las puertas de par en par a proyectos que, como Printrun y Make Me, pretenden permitir que los usuarios puedan imprimir sus proyectos en tres dimensiones.
¿Y para qué limitarse a imprimir sencillos modelos en tres dimensiones si también puedes utilizar la ayuda de los usuarios para crear un robot? Es lo que se está intentando con OpenROV, un proyecto que trata de crear un robot submarino de forma colaborativa y manteniendo todos los pasos abiertos y accesibles para que cualquiera se lo pueda construir.
Estos mismos principios colaborativos también podrían utilizarse en la medicina, aunque en este es un campo GitHub aun está en pañales. Aun así, esto no ha impedido que haya quien ha decidido subir su genoma a la plataforma para ayudar a quien quiera utilizarlo desarrollar un sistema de análisis de código abierto. ¿Estaremos a las puertas de la medicina colaborativa?
Por último, GitHub también implementó la posibilidad de utilizar los datos geográficos aportados por sus usuarios para crear con ellos todo tipo de mapas. De esta manera, quienes quieran mapear los datos que han ido recogiendo en sus estudios lo podrán hacer de manera sencilla y automática. Lo único que hace falta es subir los datos con la sintaxis apropiada dentro de un archivo .geojson.
Como veis. hoy mismo ya se están desarrollando una infinidad de proyectos que poco tienen que ver con el software, e incluso se están dando los primeros pasos en conceptos como la robótica o la medicina colaborativa. Si GitHub responde a esta demanda ofreciendo nuevas herramientas, quizá dentro de poco sea lo más normal del mundo que esta plataforma sea la cuna de múltiples proyectos abiertos de todo tipo.
Te esperamos en los siguientes artículos en donde hablaremos más acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.