GitHub se desarrolló con la idea de ser una plataforma colaborativa de software libre, pero se ha convertido en mucho más que código. En la actualidad lo usan artistas, constructores, compañías enteras… y ciudades.



Cualquiera puede ahora cambiar los datos de un mapa cuando se construyen nuevos caminos para montar en bici, cuando las carreteras estén en construcción y cuando se hagan nuevos edificios” anunció hace poco la ciudad de Chicago, que ahora se encuentra en GitHub. Ahora la gente administra las restauraciones de sus casas en GitHub. Hace poco un bufete de abogados anunció también que está publicando documentos legales para la financiación en fases iniciales en GitHub. Alguien además publicó el año pasado la totalidad de las leyes Alemanas en Github. (Quizá no sea muy sorprendente que tenga unas 17 peticiones de pull abiertas para realizar cambios). Y por supuesto, GitHub lo usan programadores y desarrolladores que vuelan Drones AR con Node.js o crean sitios webs con jQuery.

Índice

GitHub, según cree el autor original de artículo, está haciendo al software libre lo que internet le hizo a la industria: Está creando un hueco cultural entre la generación anterior de grandes proyectos de software libre y una nueva, más aficionada cultura del software libre de hoy día.

La revolución no será centralizada

Cuando la gente oye “Open” source (ó Software “libre”), piensan en algo democrático, distribuido e igualitario: Gente construyendo algo juntas para que el resto lo use.

Pero en realidad ese no ha sido el caso. La gran mayoria del software libre ha sido creado y mantenido por gente de clases privilegiadas y protegidas. — desarrolladores profesionales — que interactuaban con otros desarrolladores muy parecidos a ellos (Aunque lo bastante diferentes como para tener una discusión con ellos).

Antes de GitHub, el autor pasaba mucho tiempo pensando y hablando sobre cómo sería la forma más adecuada de administrar proyectos de software libre, ya que el coste de la coordinación de un proyecto es bastante importante. Tan importante, de hecho, que cuando un proyecto tenía éxito y conseguía reunir una comunidad importante, tenía más sentido seguir desarrollando el proyecto que fracturarlo en proyectos más pequeños. Pero conforme el proyecto se vuelve más grande y complejo, más difícil se hace el colaborar. Así que un grupo de miembros — o “committers” — se encargaban de la gestión y la producción del proyecto. Esto daba lugar a menudo a diferencias entre los que producen el proyecto y los que lo usan.

GitHub soluciona este problema haciendo del software libre algo mucho más descentralizado. Se convierte en algo que trata menos sobre el proyecto en sí, y más sobre los individuos que participan en dicho proyecto.

El flujo de trabajo usando GitHub es mucho más personal. Una persona (Yo soy github.com/algui91 y el autor del artículo original es github.com/mikeal) tiene una cuenta, y todo lo que publica se crear bajo su perfil. Si alguien quiere agregar algo a su código, ya sea para arreglar algo o mejorar alguna funcionalidad, simplemente hacen un “fork” y copian el proyecto en su directorio personal.

Con este sistema de trabajo se incentiva a la gente a colaborar: Fomenta a los desarrolladores a que arreglen cosas. También proporciona a todos los usuarios una identidad en la nueva cultura del software libre; GitHub es el número uno en esto. De hecho, muchas compañías contratan a gente a través de github, basandose en su perfil, y para algunas, es imprescindible saber trabajar con git.

Lo realmente útil y bueno de este sistema es que cualquiera puede convertirse en usuario de otro proyecto ayudando a desarrollarlo, y al contrario, uno mismo puede beneficiarse de colaboraciones de otras personas en proyectos que hayas creado tú.

Des-centralización como democracia

La primera versión de GitHub hizo una cosa muy bien: Facilitar mucho la publicación de código. Esto fue suficiente para que muchos proyectos prestigiosos, incluyendo Ruby on Rails, migraran su código casi inmediatamente a GitHub.

Sin embargo, luego pasó algo más interesante aún: La gente empezó a publicar prácticamente cualquier cosa en GitHub… pushear código (Si me permitís inventarme el palabro) se convirtió en una rutina como el twittear. Redujo las barreras para entrar ye hizo mucho más fácil el coordinar y contribuir al software libre, GitHub amplió la producción de código a usuarios ocasionales.

Hoy día, un vasto panorama del software simple y comprensible es accesible a una clase de personas creativas que no tienen los conocimientos suficientes como para participar en los grandes proyectos de software libre del pasado.

Ésta confusión de relaciones entre productores, contribuidores y consumidores valora naturalmente proyectos más pequeños y fáciles de entender. — y ha dado lugar a una larga cola de contribuciones. En septiembre de 2012, por ejemplo, la mitad de los usuarios activos en GitHub que enviaron (pushed) cambios enviaron menos de 5 cambios, con el 22% (sobre unas 44000 personas) enviando un único cambio.

Obviamente, ésta afición al software libre tiene grandes ventajas.

Haciendo las cosas más fáciles de usar

Uno de los mayores problemas que han tenido siempre los programas de software libre ha sido el “Fit and finish”. Mala documentación, diseño de la web, y la usabilidad en general ha sido pobre. — Especialmente en comparación con muchas contrapartidas propietarias.

Pero ahora, siendo tan fácil realizar colaboraciones, usuarios menos técnicos ven estas plataformas como lugares fáciles en los que poder mejorar en el que recaen. (Esto significa pequeñas cosas como corregir errores crípticos por mensajes más humanos, por ejemplo)

En el nuevo software libre, la gente quiere usar la tecnología sin tener que convertirse en expertos en ella. La facilidad de uso se valora más que nunca.

Prevenir el exceso de ingeniería

A los ingenieros les gustan los desafíos y las soluciones a ellos se vuelven más inteligentes conforme incrementan las posibilidades de resolverlos. Eso estaba bien cuando los consumidores de esas soluciones eran mentes muy técnicas como los propios ingenieros que disfrutaban resolviendo viejos problemas.

Pero esto ha cambiado con los aficionados, una vez que el problema está resuelto raramente volverá a examinarlo. Lo cual fuerza a los desarrolladores a crear soluciones simples que hagan de los problemas complejos algo sencillo de entender.

Apoyando un ecosistema más amplio

GitHub ha dado poder a una nueva generación de personas para que colaboren, creen y produzcan. Muchos desarrolladores lamentarán la pérdida de las antiguas normas — como el lugar de los commiteadores o la eterna lucha sobre qué licencia escoger — pero el futuro ya está en manos de la nueva generación.

Esto no es solo una herramienta: estamos presenciando el nacimiento de una nueva cultura

Referencias

The GitHub generation: why we’re all in open source now »» Wired.co.uk