En octubre de 2007 se empezaba a gestar el embrión de Github, un servicio web para alojar repositorios de código. Salió al público en abril de 2008, y cinco años después es el sitio donde se alojan más proyectos de código abierto, superando a servicios ya asentados como SourceForge o Codeplex.
La influencia de Github a la hora de facilitar el acceso al código a todo el mundo ha sido impresionante. Se podría decir que es la entidad que más ha contribuido al movimiento de código abierto, junto con Stallman (y la FSF con él) y Torvalds. Pero, ¿qué hace tan especial a Github? ¿Qué han hecho ellos que no haya hecho nadie más?
¿Qué hay en Github?
Github es una web donde cualquiera puede hacerse una cuenta y subir el código de sus proyectos. La única restricción es que sean de código abierto y públicos. Los repositorios privados son una caracerística de pago. Además de eso, Github tiene algunos servicios adicionales: un administrador de incidencias (_issue tracker_ en inglés), wiki, _snippets_ de código...
Hasta aquí, nada muy distinto de lo que ya ofrecían otros repositorios como Codeplex o Sourceforge. Y aunque es cierto que el buen diseño y funcionamiento del sitio influye, creo que lo que marcó más la diferencia son sus capacidades sociales. Cuidado: cuando digo sociales, no me refiero a ser el _Facebook del código_. Es en el sentido de permitir la colaboración entre usuarios, de compartir código, de aprender y solucionar problemas entre todos.
Quizás lo más famoso y característico de Github sea el botón "fork". Un click y clonas un proyecto directamente a tu cuenta. Puedes trabajar en él sin que nadie te moleste y después aportar mejoras al proyecto original (o no).
El resultado ha sido un éxito bestial. Muchísimos proyectos se alojan en Github. Podría decirse que una gran parte de la _web moderna_, la de las aplicaciones web, está alojada ahí: jQuery, Rails, Node, Ruby, Bootstrap, Less... Quizás no os suenen estos nombres, pero prácticamente todas las webs que visitáis usan alguna de estas librerías o herramientas. Incluso Linus Torvalds mantiene una copia actualizada en Github del kernel Linux (aunque no acepta parches por ese medio). El éxito de Github es indiscutible en este sentido.
Github, código abierto y software libre
Github ha demostrado algo en el mundo del software libre/código abierto. Aunque los dos conceptos parezcan iguales (compartir el código), difieren en una cosa: para qué se comparte.
Mientras que el software libre aboga por las libertades de los usuarios y programadores, el código abierto tiene un enfoque más utilitarista: compartir el código porque es útil para otras personas. Paradójicamente, el software libre tiende a ser más restrictivo en sus licencias (por ejemplo, cualquier proyecto que use una librería GPL debe ser liberado también bajo GPL) mientras que el código abierto es más "haz lo que quieras con esto": véase licencias ASL, MIT o BSD.
Github ha sido el triunfo del código abierto. Compartir código porque es útil, porque le servirá a más desarrolladores, para evitar reinventar la rueda. Esta es la mentalidad predominante entre los usuarios de Github. De hecho, sólo hay que ir a la página web para darse cuenta de que está enfocara a desarrolladores. La mayoría de repositorios son librerías, compiladores, _frameworks_, todos dirigidos a desarrolladores. Github no es un sitio para que un usuario normal vaya a buscar software libre, como sí era (sigue siendo) SourceForge.
¿Quiere decir esto que el software libre está muerto? No, por supuesto. ¿Serían todos estos proyectos libres sin Github? Probablemente unos cuantos habrían quedado ocultos, o en alguna página donde acceder al código sería bastante más complicado.
Github ha atraído a muchos desarrolladores sin una convicción clara por el software libre, pero a los que no veían ningún inconveniente a abrir su código a cambio de alojamiento gratuito, visibilidad y la posibilidad de ayudar a más desarrolladores. Ese ha sido el gran triunfo de Github: "popularizar" el código abierto.
En Genbeta Dev | Conociendo GitHub, el servicio donde alojar tus repositorios Git
Ver 25 comentarios