Un día el desarrollador despertó y descubrió que GitHub se había convertido en el centro de la programación

Cuando los desarrolladores que ya andan por la treintena (o mayores) empezaban en su profesión, GitHub ni siquiera existía. Hoy, el repositorio de código colaborativo con un gatopulpo de logo es parte poco menos que imprescindible en su desempeño laboral.

Nacido en 2008 en una oficina del Valle de San Francisco (como tantos otros proyectos), GitHub tiene hoy más de 9 millones de usuarios registrados, más de 200 millones de visitas al mes y ha sido valorado en más de 2000 millones de dólares (por lo que está en la Unicorn List de Fortune). Utilizan GitHub para gestionar y almacenar su código desde Google a la Casa Blanca pasando por Facebook o incluso el Ayuntamiento de Madrid. En las siguientes líneas repasaremos la historia de GitHub e intentaremos arrojar luz sobre su rutilante éxito.

De aquellos polvos, estos lodos

En tiempos pretéritos las forjas eran uno de los lugares neurálgicos de las ciudades. Allí se reunían los herreros a hacer poderosas armas que luego pasaban a recoger los soldados y guerreros. Los que regresaban de las cruentas batallas, volvían a pasar por las forjas a dejar sus melladas espadas y sus abollados escudos para que los herreros hicieran su magia.

Siglos después, la comunidad del software libre se dio cuenta de que necesitaban algo parecido a las forjas, un lugar centralizado donde colgar sus proyectos (y mantener un histórico de versiones) y que los usuarios pudieran tener acceso a ellos de manera sencilla y rápida, sin tener que ir de web en web. Nació SourceForge (resulta siempre fascinante la poca imaginación que tienen los anglosajones habitualmente para la nomenclatura). Era el año del señor mil novecientos noventa y nueve.

El éxito de SourceForge fue inmediato y pronto surgieron los competidores, algunos de ellos incluso de la mano de gigantes como Google con su Google Code o los australianos Atlassian con Bitbucket, a día de hoy el gran rival de GitHub... pero no nos adelantemos a los acontecimientos, primero tenemos que dar un salto en el espacio hasta Helsinki. En la capital finesa Linus Torvalds, el creador de Linux, se enfrentaba a un problema de sobredimensionamiento en su universal proyecto: demasiados desarrolladores, demasiadas funcionalidades.

Los sistemas de control de versiones son aplicaciones que permiten mantenter registro de todo el trabajo y los cambios en los ficheros que forman un proyecto y permite que distintos desarrolladores (potencialmente situados a gran distancia) colaboren. Son útiles en proyectos pequeños e indispensables en aquellos de mayor envergadura. La más popular de estas sistemas herramientas a principios de siglo era CVS (Concurrent Version System)

Pero ni CSV ni ningún otro sistema de control de versiones de la época se ajustaba a las necesidades del monstruo que tenían entre manos Torvalds y su equipo (demasiado rígido, demasiado tiempo arreglando conflictos) y ante este panorama hay dos maneras de proceder: a) llorar (lo que haríamos la gente normal) y b) ponerse manos a la obra (lo que hacen los genios). Obviamente Linus eligió la opción b y de ahí nació Git, el hoy en día muy popular sistema de control de versiones distribuido, fácil de usar y apto tanto para proyectos pequeños como para obras faraónicas. Estamos en 2005 y el germen de GitHub estaba plantado.

Porque la gracia de GitHub, lo que le diferenciaba en aquel ya lejano 2008, cuando Tom Preston-Werner (creador de Gravatar) y otros dos developers amigos, lo ponían en marcha, de la competencia era eso, era un repositorio de código que utilizaba Git, el novedoso y super-vitaminado Git, para gestionar los proyectos y hacerlos colaborativos. Ya no estamos ante repositorios estáticos donde llegar, bajarte el programa de turno y adiós muy buenas. Esto, la facilidad de uso y el fuerte componente social que desde el principio sus fundadores potenciaron fueron la clave del rápido éxito de la criatura. Eso y el logo más raro y adorable jamás creado, claro.

A brave collaborative new world

Usar GitHub es sencillo y ponerte a trabajar con él es realmente rápido. Te abres una cuenta y ya tienes a tu disposición la posibilidad de crear infinitos repositorios públicos. Un repositorio no es más que un archivo, un deposito, un lugar donde guardar cosas, en este caso ficheros con código fuente en cualquier lenguaje habido y por haber. Creas este repositorio (tan sólo tienes que ponerle un nombre), subes tu proyecto desde tu equipo con unos sencillos comandos de Git y listo, ya tienes tu proyecto colgado a disposición del mundo mundial y con interesantes herramientas a tu disposición: bug tracking, gestión de tareas, wiki, estadísticas e incluso una web (las GitHub Pages) para que promociones el proyecto. Todo en unos pocos minutos.

El resto de la comunidad puede descargarse el código, clonar el proyecto, favoritearlo para seguirle la pista y la gran joya de la corona: "forkearlo". Este término es simple y llanamente que una copia del proyecto se convierte en un repositorio en la cuenta del otro usuario, este puede hacer los cambios que vea oportunos (commits) y mediante una petición pull request hacer que te lleguen de vuelta, los analices y si lo consideras oportuno, incorporarlos a tu proyecto. Y tú, claro, puedes hacer lo mismo con los proyectos de los demás. Co-la-bo-ra-ti-vo que diría Pepu Hernández.

Pero es que además, si no quieres que el resto del universo olisquee en tu código pero quieres el resto de características y herramientas que GitHub te ofrece, puedes por una cómoda cuota mensual, disponer de repositorios privados donde sólo tu y quien tu decidas tengan acceso. Así, por ejemplo, Google, que ya cerró Google Code hace unos meses, tiene decenas de proyectos públicos mientras que otros, como Chrome, los tiene bien a buen resguardo de nuestros inquisidores ojos.

Si te parece que esta gente de GitHub ha pensado en todo, no te equivocas. Te ofrecen, por ejemplo, Atom, un potente editor de código con integración con Git de serie o Gist, una sencilla herramienta para compartir snippets de código. Escribes en una herramienta de GitHub, subes el código a GitHub y lo compartes con otra herramienta de GitHub. Círculos perfectos que se cierran. Simetría.

Hacia el infinito y más allá

Los números cantan: más de 9 millones de usuarios, 20 millones de repositorios públicos, 200 millones de visitantes mensuales. Normal que GitHub esté entre las webs más visitadas del mundo o que, después de una reciente ronda de financiación de 250 millones de dólares por parte de Sequoia Capital, se haya convertido en un unicornio de Fortune, es decir, una de las empresas que con menos de 10 años de vida ya valen más de mil millones de dólares.

Además recientemente han abierto oficina en Tokio con clara intención expansionista, han potenciado su plataforma para empresas y los rivales van cayendo poco a poco (del comentado Google Code a Tigris). El futuro es suyo... aunque desde su nacimiento ciertos nubarrones se han cernido sobre sus cabezas y ahí siguen: desde la crítica a unos Términos y Condiciones del Servicio poco esclarecedores con el tema del copyright al desencanto con la herramienta del mismísimo Torvalds ("es sitio simplemente para subir tus proyectos y hacerlos visibles, no para trabajar colaborativamente") o las quejas de empleadas por un entorno de trabajo bastante machista en la compañía, algo desgraciadamente bastante habitual en muchas tecnológicas del Valle de San Francisco, que se terminaron llevando por delante al co-fundador y ya ex-CEO Tom Preston-Werner.

Pero estos nubarrones (algunos muy serios) no han frenado la marcha imparable de GitHub que, si siendo una plataforma orientada a developers ha conseguido los números anteriormente referidos, ahora que el resto de profesionales se está empezando a dar cuenta de su potencial para cualquier tipo de documento que requiera colaboración, organización y mente colectiva (libros técnicos, recopilaciones, manuales...), estos guarismos pueden crecer exponencialmente. Esto no ha hecho nada más que comenzar. La clásica forja pero a la enésima potencia.

Leer más | Seven Ways To Use GitHub That Aren't Coding, How GitHub Conquered Google, Microsoft and Everyone Else
Imagen | s.schmitz

Ver todos los comentarios en https://www.xataka.com

VER 21 Comentarios

Portada de Xataka