Tabla de contenidos
El rey de los repositorios de código
Este es el rey de copas, este el Rey de la Noche y GitHub el rey de los repositorios de código.

Un repositorio es el lugar en el que los programadores guardamos el código fuente de una aplicación junto al historial de cambios que cada participante ha realizado. De esta forma, podemos cambiar de una versión a otra del proyecto con un simple comando.
Aunque existen muchas plataformas para almacenar repositorios en la nube y para compartirlos con otros programadores de forma remota, tendrían que apuntarme con una pistola para que utilizase otra que no fuera GitHub.
Hoy en día, GitHub factura más de mil millones de dólares anuales, pero hace menos de veinte años ni siquiera era una idea. ¿A dónde subían los programadores el código antes de la aparición del Octocat? ¿A quién se le ocurrió la idea de crear una red social solo para desarrolladores de software? ¿Hay vida después de la muerte?
Soy Carlos Sala, desarrollador de software, y esta es la historia de GitHub: la plataforma de código colaborativo más grande del mundo.
El nacimiento de GitHub
En octubre de 2007, Git ya se había convertido en el sistema de control de versiones distribuido más prometedor en la comunidad tecnológica. Solo tres años después de que Linus Torvalds lo programase para utilizarlo en el desarrollo del kernel de Linux.

La aparición Git en la escena del desarrollo de software dió sentido a modelos de negocio innovadores fundamentados en la nueva tecnología de código colaborativo. Así que era cuestión de tiempo que un par de programadores como Tom Preston-Werner y Chris Wanstrath quedaran para tomar unas cervezas en un bar de San Francisco.

Allí, detectaron una oportunidad de negocio que todavía nadie había explotado. Los usuarios de Git necesitaban:
- Un lugar en el que almacenar los repositorios de código en la nube como copia de seguridad.
- Una forma más fácil de usar las características de la tecnología Git mediante interfaces gráficas para que los usuarios no necesitaran aprender tantos comandos de terminal.
- Y nuevas funcionalidades como la gestión de usuarios, permisos o la posibilidad de clonar los repositorios públicos de otras personas con el concepto de fork.
Se trataría de un modelo de negocio freemium en el que ofrecerían la mayoría de servicios de forma gratuita a todos los usuarios. Cobrando una suscripción mensual por otros, como el almacenamiento de repositorios privados o las cuentas empresariales.
Con la visión bien definida, Tom y Chris reclutaron a otros dos desarrolladores para el proyecto y comenzaron a construir GitHub con Ruby on Rails, un framework de desarrollo full-stack de Ruby, muy utilizado en esa época, que ya conocían y cumplía con las necesidades del proyecto.
El ascenso meteórico de GitHub
El 10 de abril de 2008, la primera versión de GitHub se abrió a todo el público, tras varias semanas de pruebas en una beta disponible para un grupo cerrado de usuarios.
El escenario no podía ser más favorable para el proyecto, ya que, además de ofrecer a los usuarios de Git justo lo que estaban pidiendo, habían sido los primeros en construir una nube de servicios en torno a esta tecnología. Era como tirar un penalti contra una portería vacía. Lo único que necesitaban era tiempo para darse a conocer dentro de la comunidad de desarrolladores.
Para finales de 2009, ya se habían creado más de 90.000 repositorios públicos entre los 100.000 usuarios que había registrados y, en 2010, se alcanzó la icónica cifra de un millón de repositorios creados entre todos los usuarios.

Las cifras de usuarios, repositorios y commits crecían tanto, que en 2011 GitHub ya se había convertido en la plataforma de control de versiones más utilizada de Internet. Por encima de sistemas más tempranos como SourceForge y Google Code, que comenzaron operando con Mercurial, antes de que Git existiera. Pero no ofrecían el fuerte componente social con el que GitHub irrumpió en el mercado.

Por supuesto, durante estos primeros años de vida de Github, fueron apareciendo diferentes competidores como Gitorious, Bitbucket o GitLab. Algunos de ellos más centrados en la comunidad open source, otros en dar servicio a grandes empresas, pero ninguno llegó a igualar la cuota de mercado de GitHub. Y a día de hoy, la distancia entre GitHub y la competencia cada día es más grande.
La supremacía de GitHub
En 2012, cualquier empresa tecnológica que quisiera tener presencia dentro de la comunidad de desarrolladores tenía que publicar sus proyectos de código libre en GitHub.

Que Google, Facebook, Amazon y Microsoft incorporasen GitHub como una herramienta de trabajo más, terminó de confirmar que GitHub era el lugar estándar en el que compartir código con otras personas. Por mencionar nombres que todos conocemos, Visual Studio Code de Microsoft, React de Facebook, Google Web Toolkit o el kit de desarrollo de AWS de Amazon; son algunos de los proyectos que fueron publicados en esa época en GitHub.
La relación entre GitHub y las empresas era beneficiosa para ambas partes: GitHub cobraba una suscripción a las cuentas de empresa según el uso que le daban y el número de empleados; mientras que las compañías eran percibidas como más transparentes y se convertían en un lugar más deseable en el que trabajar, para los desarrolladores; o en un producto más confiable para los usuarios de a pie.

En julio de ese año, la empresa de capital de riesgo Andreessen Horowitz cerró una ronda de inversión de 100 millones de dólares para GitHub. La inversión más grande que la empresa de gestión de capital privado había realizado hasta la fecha. Esta financiación permitió a GitHub crecer a más velocidad y expandir sus servicios más rápido que la competencia.
A finales de 2012, GitHub tenía ya 139 empleados y su facturación crecía aproximadamente un 300% cada año.
No cabe duda de que esta es una historia de éxito. Pero ¿qué historia sería esta si no hubieran aparecido algunas complicaciones por el camino?
Problemas en el paraíso
Al mismo tiempo que GitHub se consolidaba como plataforma líder para versionar y compartir el código fuente de un proyecto, comenzaron a surgir problemas internos y externos que pusieron a prueba su reputación.
Desde escándalos entre los trabajadores hasta ataques a su infraestructura, GitHub tuvo que enfrentarse a momentos difíciles que empañaron su impecable trayectoria.
Acusaciones de sexismo y acoso
Uno de los momentos más polémicos de la historia de GitHub ocurrió en 2014, cuando Julie Ann Horvath, una diseñadora y programadora que trabajaba en la empresa desde 2012, hizo públicas sus denuncias de acoso y sexismo dentro de la compañía.

Julie aseguró haber sido víctima de un ambiente de trabajo hostil, en el que sufrió intimidación por parte de otros empleados y recibió un trato inapropiado por parte del entonces CEO de GitHub, Tom Preston-Werner, y su esposa.
Julie relató al medio tecnológico TechCrunch que, en sus primeros años en GitHub, fue la única mujer diseñadora o desarrolladora en el equipo y que, a pesar de que la empresa se declaraba públicamente como amigable para las mujeres, no tardó en sentirse aislada y menospreciada. Según Julie, la comunicación dentro de la empresa era agresiva y sus opiniones eran ridiculizadas con frecuencia.
Con el tiempo, su situación empeoró cuando la esposa de uno de los fundadores comenzó a interferir en su vida laboral y personal.

Al parecer, la mujer de Tom Preston la invitó como una amiga a quedar en diferentes ocasiones fuera del trabajo para intentar convencerla, con amenazas y extorsiones, de que no hiciera declaraciones públicas en contra de GitHub. Ya que, según le dijo, tenía un gran peso en las decisiones que su marido tomaba en la empresa.
Las tensiones aumentaron cuando Julie fue llamada por recursos humanos para dar explicaciones sobre sus conversiones dentro y fuera de la oficina acerca del tema. En una de las conversaciones entre las dos mujeres, la esposa de Tom aseguró que tenía acceso a las conversaciones privadas que Julie mantenía a través del sistema de mensajería que utilizaban los empleados en GitHub. La acumulación de estos eventos la llevó a sentirse constantemente vigilada en el entorno laboral.
Pero la guinda del pastel llegó cuando Julie decidió dejar GitHub, ya que no quería seguir trabajando en una empresa con un ambiente que consideraba tóxico y misógino. Aunque su renuncia fue confidencial ante el departamento de recursos humanos, alguien escribió un mensaje anónimo en la red social Secret que atacaba su reputación. Ese mensaje se hizo viral y eso fue lo que la terminó de motivar a hacer públicas sus denuncias.

Todos los medios especializados se hicieron eco, generaron un gran revuelo en la comunidad tecnológica y pusieron en entredicho la cultura de trabajo dentro de GitHub. Al crecimiento tan repentino de la compañía, durante los dos últimos años, no le había acompañado el desarrollo de un código ético que cualquier empresa con ese tamaño debe tener.

Ante la presión pública, la empresa llevó a cabo una investigación interna que concluyó con la renuncia de Tom Preston-Werner como CEO en abril de 2014. Tom escribió una carta de renuncia en su web personal en la que se disculpaba tangencialmente por lo ocurrido. Declaró que había cometido errores que no supo subsanar adecuadamente.
Aunque GitHub implementó cambios en su cultura de trabajo y estructura organizativa para mejorar el ambiente laboral, el escándalo dejó una mancha en su historial y puso en evidencia los problemas de diversidad y equidad en la industria tecnológica.
El mayor ataque DDoS de la historia
Además de a los problemas internos entre miembros de la compañía, Github ha tenido que hacer frente a diferentes ciber amenazas desde su lanzamiento en 2008.
El más destacado ocurrió el 28 de febrero de 2018, cuando GitHub sufrió el mayor ataque de denegación de servicio distribuido (DDoS) registrado hasta la fecha, alcanzando un pico de 1.35 terabits por segundo (Tbps).

Para realizar esta denegación de servicios, los atacantes utilizaron una técnica diferente a la clásica botnet, o red de ordenadores. Esta innovadora técnica fue bautizada como Memcrashed y consistía en explotar una vulnerabilidad de los servidores Memcached, un sistema de almacenamiento en caché de código abierto, mediante la cuál podían enviar solicitudes manipuladas al puerto 11211 de servidores expuestos en Internet.
Mediante la falsificación de direcciones IP, los atacantes lograron que servidores vulnerables enviaran respuestas miles de veces más grandes de lo normal al objetivo, saturando su infraestructura con un volumen de tráfico que era incapaz de gestionar.
Akamai, la empresa de seguridad en la nube que ayudó a mitigar el ataque, señaló que el tráfico provenía de más de mil sistemas autónomos (ASN). La ofensiva se ejecutó con un ritmo de 126.9 millones de paquetes por segundo, doblando la magnitud de ataques previos conocidos como el del malware Mirai en 2016.
Finalmente todo quedó en un susto, ya que a pesar de la magnitud del ataque, GitHub logró recuperarse en pocos minutos gracias a su infraestructura de mitigación DDoS y el soporte de Akamai. En cualquier caso, este incidente resaltó la importancia de asegurar servidores Memcached, recomendando a los administradores bloquear o limitar el tráfico UDP en el puerto 11211 para evitar futuros ataques de amplificación de esta naturaleza.
La adquisición de GitHub
Después de años de crecimiento sin precedentes y de superar las diferentes crisis que pusieron a prueba su reputación, GitHub se encontraba en un punto de inflexión. A pesar de seguir siendo la plataforma de desarrollo colaborativo más grande del mundo, las dudas sobre su futuro comenzaron a crecer.

¿Cuál era el siguiente paso? ¿A dónde debía dirigirse la empresa? Estas preguntas llevaron a la compañía a considerar nuevas opciones. Y fue entonces cuando Microsoft presentó una oferta que cambiaría la historia de GitHub para siempre.
El 4 de junio de 2018, Microsoft anunció la compra de GitHub por 7.500 millones de dólares. Este movimiento inquietó a muchos desarrolladores, ya que Microsoft no siempre había sido vista con buenos ojos dentro de la comunidad del software libre. Durante años, la empresa de Redmond había sido percibida como un enemigo del código abierto, con frases icónicas como la de Steve Ballmer en 2001, cuando dijo que Linux era un cáncer.

Sin embargo, bajo el liderazgo de Satya Nadella, quien por cierto se parece a Gandhi, Microsoft llevaba años tomando medidas para cambiar su imagen de cara a la comunidad open source. Con proyectos como Visual Studio Code, TypeScript, la apertura del código de .NET o el soporte de compatibilidad de Linux dentro de Windows, Microsoft había conseguido limpiar la fachada de software privativo que siempre le había acompañado.
La compra de GitHub fue una pieza más de esta nueva estrategia, con la que buscaban reforzar su presencia en la comunidad de desarrolladores y posicionarse como un actor clave en el futuro del desarrollo y distribución de software.
Nat Friedman, quien fue nombrado CEO de GitHub tras la adquisición, prometió que la plataforma seguiría operando de manera independiente, sin integraciones forzadas con productos de Microsoft. Además, aseguró que GitHub seguiría siendo una plataforma abierta para todos los desarrolladores, sin importar si las herramientas y tecnologías que utilizaban eran de la casa o de la competencia.
A pesar del escepticismo inicial, la adquisición terminó siendo un éxito. Microsoft mantuvo su compromiso con el software libre, invirtió en mejorar la infraestructura de GitHub y lanzó nuevos productos como GitHub Actions o, todavía mejor, GitHub Copilot.
La inteligencia artificial en GitHub
En octubre de 2021, la popularidad de la inteligencia artificial estaba por las nubes gracias a la irrupción de los modelos de lenguaje natural de OpenAI.
El más reciente por aquel entonces era GPT-3, un modelo capaz de generar textos con una fluidez casi humana y que había impresionado a todo el mundo con sus habilidades para escribir artículos, responder preguntas e incluso generar código a partir de descripciones en lenguaje natural.

Microsoft, que desde su adquisición había impulsado GitHub con mejoras en su infraestructura y seguridad, tenía claro que la IA iba a ser la siguiente gran revolución en el mundo de la programación. Así que, en colaboración con OpenAI, presentó GitHub Copilot, una herramienta basada en inteligencia artificial que prometía cambiar la forma en que los desarrolladores escribían código.
Copilot se desarrolló sobre un modelo basado en GPT-3 llamado Codex, entrenado específicamente con código fuente de múltiples lenguajes de programación. Esto le permitía predecir con bastante certeza las siguientes líneas que el programador iba a escribir.
La aparición de Copilot generó polémica en el sector de la programación por varios motivos:
- Por un lado, los programadores, entre los que me incluyo, vieron peligrar sus puestos de trabajo. Aunque para ser sinceros, esto no duró demasiado. Ya que, cuando pruebas Copilot, te das cuenta de que es una herramienta que solo agiliza ligeramente la velocidad a la que escribimos código. Como su nombre indica es un copiloto, por lo que necesita a alguien que conduzca el desarrollo. Por el momento, es una muleta para desarrolladores y está lejos de hacer desaparecer puestos de trabajo.
- Otro de los problemas de GitHub Copilot era el tema de las licencias. Dado que la herramienta está entrenada con el código de millones de repositorios de GitHub. ¿Bajo qué licencia se encuentra el código que genera si ha sido alimentado con proyectos licenciados de forma diferente? ¿Querrías que el código de tu empresa sea utilizado para entrenar a una herramienta que podría estar utilizando la empresa que te hace la competencia?

A pesar de las polémicas, la adopción de Copilot creció rápidamente. En junio de 2022, GitHub lanzó una versión de pago con una suscripción mensual de 10 dólares, y para 2023, más de un millón de desarrolladores ya lo utilizaban activamente. Microsoft trabajó en las integraciones de Copilot en otras herramientas, como Visual Studio Code, y anunció que seguiría mejorándolo con versiones más avanzadas del modelo de inteligencia artificial.
GitHub Copilot, sin duda, inició un nuevo capítulo en la historia de la plataforma, demostrando que la inteligencia artificial no solo podía ayudar a los desarrolladores, sino también redefinir la forma en que se escribe código. Copilot no es perfecto, pero cada día progresa en la personalización del código generado, adaptándose al estilo de cada programador; tomando contexto del proyecto en el que estás trabajando y del código que has escrito en el pasado.
El futuro de GitHub
A día de hoy, GitHub es prácticamente una red social para desarrolladores, el lugar en el que habitamos. Una pieza clave en el ecosistema del software y, desde la llegada de la inteligencia artificial, un laboratorio de experimentación donde las máquinas empiezan a escribir código junto a nosotros.
Pero, ¿hacia dónde va GitHub en los próximos años? Bajo el ala de Microsoft y con herramientas como Copilot, parece que la plataforma seguirá trabajando en la automatización del desarrollo de software.
Quizás en el futuro los repositorios no sean solo archivos estáticos, sino entornos vivos donde la IA colabore activamente con los programadores, proponiendo cambios, corrigiendo errores e incluso escribiendo código por su cuenta.

Y lo que estoy seguro que pasará, es que en algún momento el Copilot se integrará totalmente con el sistema operativo del ordenador, aprovechando que Microsoft tiene un producto tan potente como Windows.
GitHub ha revolucionado de muchas formas el desarrollo de software y seguirá haciéndolo. Desde aquel bar de San Francisco donde dos tipos vieron una oportunidad en ofrecer servicios alrededor de la tecnología de Git, hasta convertirse en una compañía valorada en miles de millones de dólares.