Cómo el código abierto lo cambió todo -nuevamente

0
11

Estamos a punto de concluir otra década de código abierto, y qué viaje tan largo y extraño ha sido. Al volver a leer las predicciones hechas en 2009, nadie tenía la menor idea de que GitHub cambiaría el desarrollo de software para siempre (y para todos), de que Microsoft pasaría de paria de código abierto al mayor contribuyente del mundo, o de una serie de otros cambios dramáticos que se convirtieron en la nueva normalidad durante una década que fue de todo menos normal.

Todos somos open sourcerors ahora que estamos completando la década. Veamos algunas de las innovaciones de código abierto más importantes que nos trajeron aquí.

Un futuro nublado
El código abierto estaba en los titulares antes del 2010, por supuesto, pero gran parte de las noticias en ese entonces eran sobre las guerras religiosas entre el «software libre» y el «código abierto”, o demandas contra Linux. Antes, para ejecutar software de código abierto tenía que llamar a TI para que le provea servidores (o utilizar un repuesto que estaba debajo de su escritorio). La nube cambió todo eso. De repente, los desarrolladores ya no necesitaban obtener carta blanca de TI para ejecutar su código fuente abierto. Así como el código abierto liberó a los desarrolladores de la aprobación de Compras/Legal, la nube también los liberó de la fricción inherente al hardware.

Sin embargo, la nube fue solo el habilitador. Como Corey Quinn señala, la infraestructura se ha vuelto «código abierto», aunque no porque las nubes estén disponibles bajo una licencia de código abierto: «Esta se ejecuta en las nubes, pero yo podría ejecutar un plan Terraform o una configuración serverless de GitHub, y tener algo en funcionamiento para probarlo casi instantáneamente”. Las licencias de código abierto y el acceso rápido al hardware de la nube han abierto la productividad del desarrollador de maneras que podrían haber sido ligeramente visibles a principios del 2010 (AWS se inició en el 2006, después de todo) pero no fueron vistas hasta bien entrada la década.

Git, siempre
«Lo mejor que le pasó al código abierto en la última década fue la introducción por parte de GitHub de la solicitud de extracción», declara Tobie Langel. Habilitado por la nube, continúa, «GitHub le dio visibilidad al código abierto y niveló significativamente el campo de juego para la colaboración». Esta fue siempre el corazón de la promesa del código abierto, pero no fue hasta que GitHub desbloqueó el aspecto social de codificar que se hizo real.

Como Michael Uzquiano argumenta: «Antes teníamos control de versiones, pero GitHub/Lab realmente facilitó que cualquiera bifurcara el código, intente cosas y contribuya con ideas. Comentarios, problemas, aprobación -realmente cumplió con la promesa de que el código sea abierto». Git no nació en la última década, pero, así como la nube, no creció hasta el 2010.

Docker y la revolución del contenedor
Al igual que el control de versiones y Git, los contenedores no fueron acuñados post-2010. De hecho, la idea de los contenedores surgió por primera vez en 1979 con chroot (aunque las semillas fueron plantadas antes). Sin embargo, fue Docker, como Steven Vaughan-Nichols afirma, el que hizo que los contenedores cobraran vida: «Docker o, para ser más precisos, Docker tech, transformó los contenedores en la base de la manera en la que se consume el software hoy en día. Lo ha cambiado todo».

¿Todo? Bueno, sí, al menos para el desarrollo de aplicaciones empresariales, y no porque sea una nueva forma genial de pensar en la virtualización. Como Gordon Haff explica, «los contenedores pre-Docker/Kubernetes eran solo otra técnica de división». La verdadera magia comenzó cuando Docker descubrió la experiencia del desarrollador y a partir de ahí las cosas fueron tomando forma, llevando a la reinvención completa del pipeline CI/CD y más. Hace una década, nadie había oído hablar de Docker y Kubernetes. El mes pasado, más de 13 mil personas se presentaron en KubeCon 2019 para explorar este mundo moderno de aplicaciones que Docker ayudó a crear.

La ciencia de datos se vuelve común
Big Data siempre ha sido un sueño para «el resto de nosotros» (es decir, las empresas menos Google) y antes del 2010 vimos grandes esfuerzos para hacerlo realidad. Hemos tenido data marts desde la década de 1970, business intelligence un poco después, y en el 2005 vimos a Roger Magoulas acuñar el término «big data». No obstante, ninguno de estos realmente anticipó cuán grandes podrían ser esos datos, y cuán cruciales serían los científicos y los ingenieros de datos hasta bien entrada la década que vio a Apache Hadoop (creado en el 2008) desarrollarse y ser reemplazado rápidamente por una ola de bases de datos NoSQL y otra infraestructura de código abierto.

Actualmente, la infraestructura utilizada para almacenar y transmitir grandes volúmenes de datos es principalmente de código abierto. El código abierto hizo posible la ciencia de datos moderna, ya sea con bases de datos modernas, como MongoDB, que facilitan el trabajo con datos no estructurados; o las diversas herramientas, como Apache Kafka, que se utilizan para mover datos. Casi todo eso sucedió en los últimos 10 años.

Además, las herramientas que utilizamos para analizar datos son cada vez más de código abierto. De hecho, gran parte de las herramientas (como TensorFlow) han sido de código abierto desde el primer día, en lugar de un pase Hail Mary de un proveedor exclusivo intentando resucitar las desvanecidas fortunas de su alguna vez amada herramienta de análisis de datos. Numpy y Scikit-learn se han vuelto «ubicuos», señala el experto en Python Matt Harrison. Ninguno de los dos existía en el 2010. El código abierto ha sido fundamental para hacer crecer este mundo y como Jacob Redding sugiere: «La ciencia de datos no sería tan grande sin Pandas, Scikit, Jupyter y el mundo entero de R”. Todos ellos de código abierto, por supuesto, y bajando el listón para cualquiera que quiera probar la nueva tecnología.

Lenguajes de programación de código abierto
¿Recuerda cuando los lenguajes de programación estaban cerrados? La última década parece haberle cerrado la puerta a esa era para siempre, con Apple eventualmente sucumbiendo al movimiento de código abierto y lanzando Swift. Al mismo tiempo, una gran cantidad de frameworks de JavaScript (Node.js, Angular, React, Vue, etc.) llegaron (y a veces se fueron) en un período frenéticamente fecundo de innovación de lenguaje y framework. De hecho, junto a este mundo de frameworks de JavaScript (cada vez más grandes que los navegadores para los que alguna vez fueron diseñados, como Alberto Ruiz sugiere), también vimos surgir un grupo de lenguajes nuevos y de niveles más bajos como Go, Rust y WebAssembly.

Rich Sharples señala que, aunque que la «marcha continua» de Java hacia el código abierto comenzó antes del 2010, la última década lo vio tomar impulso y ganar fuerza con la implementación OpenJDK de Java que continúa respirando una nueva vida en el idioma. Sin embargo, mirando hacia el futuro, Danese Cooper señala que la inminente revisión de la Corte Suprema de Google vs. Oracle tendrá repercusiones monumentales, tan grandes como la amenaza de SCO en su momento (en el futuro de Linux). Está en juego la capacidad de copyright de las APIs, por supuesto, pero también el futuro de Java. Manténgase al tanto.

El curveball de la década
Curiosamente, Microsoft está involucrado en casi todas estas áreas, aunque comenzó la década con Steve Ballmer luchando contra el código abierto. Sin embargo, si avanzamos rápidamente hasta el 2020, «la mutación de Microsoft de estar totalmente en contra del código abierto («el código abierto es un cáncer”) a ser uno de [sus] mayores contribuyentes”, representa un cambio masivo, como Benoit Jacquemont dice. Actualmente, muchos desarrolladores usan Visual Studio Code de código abierto como su editor de código, TypeScript de código abierto para crear aplicaciones web, y GitHub para almacenar su código. Microsoft es dueño de todos.

Han pasado demasiadas cosas en esta década (y ni siquiera hemos hablado de cómo Android de código abierto potencia gran parte de los dispositivos móviles, del impacto de Let’s Encrypt en la industria de las autoridades de certificación, de cómo el código abierto está a la vanguardia del aprendizaje automático, etc.), y aún nos queda mucho camino por recorrer. La metamorfosis de Microsoft nos recuerda que las organizaciones y las industrias pueden cambiar, y que está dentro de nuestros intereses adoptar el código abierto. Dado lo impredecible que fue esta última década, no me atrevo a pronosticar los próximos 10 años, excepto para decir que seguramente incluirá mucho más código abierto.

Matt Asay, InfoWorld.com