Desde servidores web hasta protocolos de encriptación, estas 15 herramientas de código abierto forman el soporte invisible del internet moderno, y la mayoría de las personas nunca ha oído hablar de ellas.

Credit: wirestock / Magnific
El internet con el que interactúas todos los días —transmitiendo video, enviando mensajes cifrados, cargando páginas web en milisegundos— funciona en una vasta y en gran parte invisible capa de software que nadie vende. Este software es de código abierto: su código está disponible públicamente, se distribuye libremente y es mantenido por comunidades de desarrolladores que a menudo son voluntarios no remunerados o ingenieros cuyos empleadores contribuyen con su tiempo porque los proyectos son demasiado importantes para dejarlos sin financiación.
La magnitud de lo que este ecosistema soporta es difícil de exagerar. La mayoría de los servidores web del mundo funcionan con software de código abierto. El cifrado que protege tu sesión bancaria fue diseñado en público, no en un laboratorio corporativo. El sistema operativo que potencia el servidor que entrega tu correo electrónico es casi seguramente Linux, que, a pesar de ser uno de los proyectos de software más importantes de la historia, fue iniciado en 1991 por un estudiante finlandés de ciencias de la computación publicando en un grupo de noticias de Usenet.
Lo que hace interesante esta historia no es solo el software en sí, sino cómo llegó aquí. La infraestructura de código abierto no fue construida por un plan coordinado. Se acumuló a través de décadas de decisiones individuales por parte de ingenieros que querían resolver un problema y compartir la solución. Con el tiempo, esas soluciones fueron adoptadas, mejoradas e incrustadas tan profundamente en la arquitectura de internet que reemplazarlas sería enormemente difícil, lo que crea tanto una resiliencia como una fragilidad. Cuando un proyecto crítico de código abierto está bien mantenido, todo el internet se beneficia. Cuando no lo está, como demostró una vulnerabilidad en 2014 en OpenSSL llamada Heartbleed, las consecuencias pueden ser mundiales.
Los proyectos en esta lista fueron seleccionados porque operan por debajo de la capa visible de la web —no las aplicaciones que los usuarios abren, sino la infraestructura de la que dependen esas aplicaciones. Algunos son bases de datos. Algunos son servidores web. Algunos son lenguajes de programación que se han vuelto tan universales que son prácticamente utilidades. Unos pocos son herramientas de construcción o sistemas de contenedores que cambiaron cómo se despliega el software. Juntos forman un retrato de cómo realmente funciona internet: no como una colección de productos pulidos, sino como una pila viva y evolutiva de código compartido.

Credit: Lukas / Unsplash
El sistema operativo que ejecuta la mayor parte de internet comenzó como un proyecto paralelo. En agosto de 1991, Linus Torvalds, entonces un estudiante de 21 años en la Universidad de Helsinki, publicó un mensaje en el grupo Usenet comp.os.minix anunciando que estaba trabajando en un sistema operativo gratuito —"solo un pasatiempo", escribió, "no será grande y profesional como gnu". Ese descargo de responsabilidad ha envejecido mal. Linux ahora potencia la gran mayoría de los servidores web del mundo, prácticamente todas las supercomputadoras del mundo, el sistema operativo Android y una parte sustancial de la infraestructura en la nube que sustenta la vida digital moderna.
Linux es un kernel, el núcleo de un sistema operativo que gestiona los recursos del hardware y permite la ejecución de software. No es un sistema operativo completo por sí solo; distribuciones como Ubuntu, Debian, Red Hat y Fedora empaquetan el kernel de Linux con software adicional para hacerlo usable. Pero el kernel es la base, y ha demostrado ser duradero más allá de casi cualquier expectativa razonable.
Las razones del dominio de Linux en entornos de servidor son tanto técnicas como económicas. Es gratuito de usar, lo que importa a la escala de ejecutar miles de servidores. Es estable y confiable durante largos tiempos de actividad. Es altamente configurable; los ingenieros pueden reducirlo para ejecutarlo en dispositivos integrados pequeños o ajustarlo para cargas de trabajo de computación de alto rendimiento. Y debido a que su código fuente es abierto, las organizaciones pueden auditarlo, parchearlo y contribuir con mejoras, en lugar de esperar que un proveedor solucione un problema.
El proceso de desarrollo del kernel de Linux es una de las operaciones de ingeniería de software más sofisticadas del mundo. Miles de desarrolladores contribuyen con código, que es revisado a través de un riguroso proceso de envío de parches antes de ser fusionado. El propio Torvalds sigue supervisando el desarrollo del kernel, aunque el proyecto ahora involucra a grandes empresas tecnológicas — Google $GOOGL, Intel $INTC, Red Hat, IBM $IBM y otras — cuyos ingenieros contribuyen con porciones sustanciales del código.
La influencia de Linux se extiende mucho más allá de los servidores. La plataforma Android, que funciona en la mayoría de los teléfonos inteligentes del mundo, está construida sobre el kernel de Linux. Las Chromebooks ejecutan un sistema operativo basado en Linux. Los electrónicos de consumo, enrutadores, televisores inteligentes y sistemas de control industrial frecuentemente ejecutan distribuciones de Linux embebido. El proyecto que Torvalds describió como un hobby en 1991 se ha convertido en el sistema operativo más ampliamente desplegado en la historia.

Credit: Brett Sayles / Pexels
Antes de Nginx, antes de los balanceadores de carga en la nube, antes de la infraestructura expansiva del alojamiento web moderno, estaba Apache. El Servidor HTTP Apache fue el software de servidor web dominante durante la mayor parte de la historia comercial de internet, y sigue siendo de uso generalizado hoy en día. Comprenderlo significa entender cómo se construyó la web temprana.
Apache surgió en 1995 de una colección de parches aplicados al servidor HTTPd de NCSA, uno de los primeros servidores web jamás escritos. Un grupo de webmasters comenzó a intercambiar modificaciones — "parches" — para corregir errores y agregar características que el software original carecía. El nombre Apache a veces se dice que deriva de "un servidor parcheado", aunque la Fundación de Software Apache no ha confirmado oficialmente esta etimología. Independientemente del origen, el proyecto creció rápidamente, y para 1996 Apache se había convertido en el servidor web más popular de internet, una posición que ocupó durante más de 20 años.
La arquitectura de Apache está construida alrededor de módulos — componentes discretos que se pueden habilitar o deshabilitar para agregar funcionalidad. Un administrador puede cargar un módulo para habilitar el cifrado SSL, otro para manejar la reescritura de URL, otro para soportar scripting del lado del servidor con PHP. Este diseño modular hizo a Apache enormemente flexible, y se convirtió en la opción predeterminada para ejecutar sitios web dinámicos durante la era en que LAMP (Linux, Apache, MySQL, PHP) era el estándar de pila web para la mayoría de aplicaciones web.
El sistema de configuración del servidor, basado en un archivo llamado httpd.conf y un concepto llamado archivos .htaccess, dio a los webmasters individuales un control significativo sobre el comportamiento de su servidor. El archivo .htaccess en particular se volvió ubicuo — las instalaciones de WordPress, por ejemplo, dependen de él para el enrutamiento limpio de URLs.
La cuota de mercado de Apache disminuyó significativamente después de que Nginx introdujera una arquitectura impulsada por eventos que manejaba la alta concurrencia de manera más eficiente. El modelo tradicional de proceso por conexión de Apache consumía más memoria bajo carga pesada. Pero Apache nunca desapareció — permaneció dominante en entornos de alojamiento compartido y todavía se usa ampliamente en configuraciones que favorecen su flexibilidad y documentación madura sobre el rendimiento bruto. La Fundación de Software Apache, la organización sin fines de lucro que supervisa el proyecto, también se convirtió en el hogar institucional de docenas de otros proyectos de código abierto, dando a Apache una influencia que se extiende mucho más allá de su servidor HTTP.

Credit: panumas nikhomkhai / Pexels
Nginx (pronunciado "engine-x") fue creado para resolver un problema específico: a principios de los 2000, los servidores web basados en la arquitectura de Apache tenían dificultades para manejar decenas de miles de conexiones simultáneas de manera eficiente. Igor Sysoev, un ingeniero de software ruso, comenzó a desarrollar Nginx en 2002 para abordar esto, y lo lanzó públicamente en 2004. El software introdujo una arquitectura asíncrona impulsada por eventos que manejaba conexiones concurrentes con mucho menos sobrecarga de memoria que el modelo tradicional de un proceso por solicitud.
El problema que Sysoev estaba abordando tenía un nombre: el problema C10K, formulado en 1999 por el ingeniero Dan Kegel, que preguntaba cómo un servidor web podría manejar 10,000 clientes simultáneos. El modelo predeterminado de Apache asignaba a cada conexión un hilo o proceso, lo que se volvía caro a escala. Nginx en cambio usaba un bucle de eventos de un solo hilo —similar a cómo se diseñaría Node.js más tarde— que podía manejar muchas conexiones dentro de un solo proceso.
La eficiencia de Nginx lo convirtió en la opción preferida para sitios de alto tráfico. Es particularmente adecuado para servir archivos estáticos, actuar como un proxy inverso frente a servidores de aplicaciones y manejar la terminación SSL. Los principales sitios web utilizan Nginx como la capa frontal de su infraestructura, descargando trabajo de los servidores de aplicaciones al hacer que Nginx maneje activos estáticos y enrute solicitudes dinámicas a los servicios de backend.
Más allá del servicio web crudo, Nginx se volvió esencial como un proxy inverso y balanceador de carga. En una implementación moderna típica, Nginx se sitúa frente a un clúster de servidores de aplicaciones —aplicaciones Node.js, Python o Ruby— distribuyendo solicitudes entrantes y proporcionando una interfaz consistente al mundo exterior. Maneja la cola de conexiones, el almacenamiento en búfer de solicitudes, y puede configurarse para devolver respuestas en caché para solicitudes comunes, reduciendo significativamente la carga en los servidores de aplicaciones.
Nginx, Inc., la compañía que Sysoev fundó en torno al proyecto, fue adquirida por F5 Networks $FFIV en 2019 por alrededor de $670 millones. El proyecto de código abierto continúa bajo esa propiedad, con una versión comercial llamada Nginx Plus que ofrece características adicionales. La versión base de código abierto sigue siendo ampliamente utilizada y desarrollada activamente. Según la mayoría de las medidas de uso de servidores web, Nginx y Apache juntos representan una mayoría sustancial de sitios activos, con Nginx habiendo superado a Apache en participación de mercado entre los sitios de alto tráfico.

Credit: panumas nikhomkhai / Pexels
Las bases de datos relacionales son los caballos de batalla de la capa de datos de internet, y MySQL se convirtió en la opción predeterminada para una generación de desarrolladores web. Creado por los desarrolladores suecos y finlandeses Michael Widenius y David Axmark en 1995, MySQL ofreció una alternativa rápida, confiable y gratuita a sistemas de bases de datos comerciales como Oracle $ORCL. Se convirtió en la "M" en la pila LAMP y potenció gran parte del contenido dinámico de la web temprana.
Las prioridades de diseño de MySQL eran pragmáticas: velocidad y simplicidad sobre el cumplimiento estricto de los estándares. Las primeras versiones de MySQL omitieron características como procedimientos almacenados, disparadores y restricciones de clave externa a favor del rendimiento bruto de las consultas. Esto lo hizo bien adaptado a aplicaciones web con muchas lecturas —foros en línea, catálogos de comercio electrónico, sistemas de gestión de contenido— donde la capacidad de recuperar datos rápidamente importaba más que la integridad transaccional compleja.
La base de datos se convirtió en la columna vertebral de algunos de los sitios más visitados de Internet. Wikipedia funciona con MariaDB, un fork de MySQL. Facebook $META usó MySQL extensamente antes de desarrollar personalizaciones y eventualmente Cassandra para ciertas cargas de trabajo. WordPress, que alimenta una parte sustancial de todos los sitios web, utiliza MySQL como su base de datos predeterminada. La relación entre WordPress y MySQL ilustra cuán profundamente esta base de datos se integró en la infraestructura web: millones de sitios web dependen de ella sin que sus operadores necesariamente conozcan su nombre.
Sun Microsystems adquirió MySQL AB, la empresa detrás de la base de datos, en 2008 por aproximadamente $1 mil millones. Cuando Oracle adquirió Sun en 2010, la preocupación se extendió por la comunidad de código abierto sobre el futuro de MySQL bajo una empresa que también vendía una base de datos propietaria competidora. Esas preocupaciones llevaron a la creación de MariaDB, un fork comunitario iniciado por el mismo Widenius, destinado a garantizar un camino de desarrollo completamente abierto.
MySQL sigue siendo desarrollado activamente bajo Oracle y todavía es una de las bases de datos más desplegadas en el mundo. Su longevidad refleja la enorme base instalada construida durante la era LAMP: las aplicaciones no cambian de base de datos fácilmente, y el rendimiento y la compatibilidad de MySQL han seguido mejorando.

Credit: Fez Brook / Pexels
PostgreSQL es la base de datos que los desarrolladores eligen cuando necesitan la accesibilidad de MySQL y la corrección de Oracle $ORCL. Es una base de datos relacional completamente funcional que ha estado en desarrollo continuo desde 1986, lo que la convierte en uno de los proyectos de código abierto activo más longevos. Su reputación de cumplimiento de estándares, integridad de datos y soporte avanzado de funciones la ha convertido en la opción preferida para aplicaciones donde la corrección importa tanto como la velocidad.
El proyecto desciende de una base de datos de investigación llamada POSTGRES desarrollada en la Universidad de California, Berkeley, por Michael Stonebraker y sus estudiantes. Cuando se terminó la financiación de Berkeley para el proyecto, un grupo de desarrolladores reescribió el motor de consultas para soportar SQL y lanzó el resultado como PostgreSQL en 1996. El desarrollo ha continuado bajo una organización sin fines de lucro llamada el Grupo de Desarrollo Global de PostgreSQL, sin que ninguna empresa controle el proyecto.
El conjunto de características de PostgreSQL es extenso. Admite tipos de datos complejos: JSON, arreglos, datos geométricos, búsqueda de texto completo, que las bases de datos relacionales tradicionalmente requerían extensiones para manejar. Tiene un sólido soporte para transacciones con cumplimiento adecuado de ACID, lo que significa que la integridad de los datos está garantizada incluso cuando las operaciones fallan a mitad de camino. Su soporte para consultas complejas, funciones de ventana y expresiones de tabla comunes lo hace capaz de manejar cargas de trabajo analíticas que MySQL históricamente manejaba mal.
Un aspecto distintivo de la arquitectura de PostgreSQL es su extensibilidad. Los usuarios pueden definir sus propios tipos de datos, operadores y tipos de índice. La extensión PostGIS agrega capacidades completas de sistema de información geográfica a PostgreSQL, convirtiéndolo en la base de gran parte del software geoespacial del mundo. La extensión TimescaleDB transforma PostgreSQL en una base de datos de series temporales. Esta extensibilidad significa que PostgreSQL se ha convertido en la base de bases de datos especializadas que heredan su fiabilidad mientras atienden necesidades específicas de dominio.
El aumento de popularidad de PostgreSQL se aceleró significativamente en la década de 2010 cuando los proveedores de la nube — Amazon $AMZN, Google $GOOGL, Microsoft $MSFT — ofrecieron servicios administrados de PostgreSQL, eliminando la carga operativa de gestionar la base de datos por uno mismo. Para nuevos proyectos, PostgreSQL se ha convertido en la elección predeterminada entre desarrolladores que priorizan la fiabilidad sobre la familiaridad histórica con MySQL.

Credit: William Warby / Pexels
Redis ocupa una posición inusual en el mundo de las bases de datos: es un almacén de datos que vive completamente en memoria, diseñado para ser rápido sobre casi todo lo demás. Creado por el desarrollador italiano Salvatore Sanfilippo en 2009, Redis comenzó como una forma de mejorar el rendimiento de una herramienta de análisis web en tiempo real que estaba construyendo. La idea central era que para ciertos tipos de datos — contadores, información de sesión, tablas de clasificación, cachés — la latencia de leer desde el disco era innecesaria. Si pones los datos en RAM, las operaciones que tomarían milisegundos en una base de datos basada en disco pueden ocurrir en microsegundos.
El nombre significa Remote Dictionary Server, que describe su modelo fundamental: un servidor que almacena datos como pares clave-valor. Pero Redis extendió este modelo con un conjunto de estructuras de datos — cadenas, listas, conjuntos, conjuntos ordenados, hashes, mapas de bits, y más — cada una con su propio conjunto de operaciones. Un conjunto ordenado, por ejemplo, te permite almacenar una colección de elementos ordenados por una puntuación numérica, lo que hace trivial implementar una tabla de clasificación o una cola de prioridad.
Redis se convirtió en la solución casi universal para el almacenamiento en caché en aplicaciones web. Cuando un servidor web necesita mostrar una página que requiere varias consultas de base de datos, puede almacenar el resultado en Redis después de la primera solicitud. Las solicitudes posteriores recuperan el resultado almacenado en caché en microsegundos en lugar de consultar la base de datos nuevamente. Este patrón — la aplicación habla con Redis primero, recurre a la base de datos si la caché está fría — redujo la carga de la base de datos en toda la industria y hizo que las aplicaciones web fueran sustancialmente más receptivas.
Más allá del almacenamiento en caché, Redis se convirtió en la infraestructura estándar para la limitación de tasa, almacenamiento de sesiones, mensajería pub/sub y canalizaciones de datos en tiempo real. Sus operaciones atómicas — que garantizan que ciertas operaciones se completen sin interrupción — lo hicieron confiable para sistemas distribuidos que necesitaban coordinarse sin condiciones de carrera.
Redis Labs hizo un cambio de licencia controvertido en 2024, alejándose de una licencia de código abierto a un modelo más restrictivo. Esto llevó a la Linux Foundation a bifurcar el proyecto bajo el nombre Valkey, que desde entonces ha atraído apoyo de importantes proveedores de la nube. El episodio ilustra la compleja relación entre los proyectos de código abierto y las entidades comerciales que a menudo los desarrollan.

Credit: Markus Spiske / Pexels
curl es una de las piezas de software más instaladas en el mundo, y la mayoría de las personas que lo usan no lo conocen por su nombre. Es una herramienta de línea de comandos y biblioteca para transferir datos a través de redes, y viene preinstalada por defecto en casi todas las versiones de Linux, macOS y Windows. Cuando un desarrollador escribe un script que obtiene datos de una API, o cuando un firmware incrustado revisa un servidor para una actualización, curl es a menudo la herramienta que hace el trabajo real.
El proyecto fue creado por el desarrollador sueco Daniel Stenberg en 1998, comenzando como una herramienta simple para descargar tipos de cambio de divisas. Stenberg lo ha mantenido desde entonces, un período extraordinario de participación continua que representa uno de los proyectos de mantenimiento único más duraderos en la historia del código abierto. A pesar de su ubicuidad, curl operó durante gran parte de su historia con financiación mínima, una situación que llamó la atención durante discusiones más amplias sobre la sostenibilidad de código abierto.
curl admite una enorme gama de protocolos: HTTP, HTTPS, FTP, SFTP, SCP, SMTP y docenas de otros. Esta amplitud lo convirtió en la herramienta estándar para transferencias de red a través de diferentes contextos. Su bandera -v (verbose), que muestra cada paso de una transacción de red, la hizo invaluable para la depuración. Su capacidad para establecer encabezados, enviar datos POST, manejar cookies, seguir redireccionamientos y autenticarse con varios esquemas significaba que podía interactuar con prácticamente cualquier servicio de red.
La biblioteca libcurl, la versión embebible de curl que los desarrolladores pueden incluir en su propio software, ha sido incorporada en miles de aplicaciones. Está presente en enrutadores, impresoras, automóviles, dispositivos médicos y satélites. Los avisos de seguridad del proyecto curl reciben atención de los fabricantes de hardware que envían dispositivos embebidos que contienen la biblioteca, porque una vulnerabilidad en curl es una vulnerabilidad en todos ellos.
Stenberg ha escrito extensamente sobre la experiencia de mantener infraestructura crítica como individuo, incluida la precariedad financiera que caracterizó las dos primeras décadas de curl. Su situación se convirtió en un punto de referencia en discusiones sobre cómo el ecosistema de código abierto no apoya adecuadamente a las personas que mantienen sus componentes más críticos.
-1920x1281.jpg)
Credit: FlyD / Unsplash
OpenSSL es la biblioteca que cifra internet. Cuando un navegador establece una conexión segura con un sitio web, el ícono del candado en la barra de direcciones, las operaciones criptográficas subyacentes a menudo son realizadas por OpenSSL o uno de sus derivados. Implementa el protocolo TLS (Transport Layer Security), que protege los datos en tránsito a través de internet, y proporciona un amplio conjunto de funciones criptográficas de las que dependen las aplicaciones para operaciones seguras.
El proyecto comenzó en 1998 como una bifurcación de SSLeay, una biblioteca desarrollada por Eric Young y Tim Hudson. Se convirtió en la implementación de código abierto dominante de los protocolos SSL/TLS y se incorporó en servidores web, bases de datos, software VPN, clientes de correo electrónico y miles de otras aplicaciones. Debido a que el código criptográfico es difícil de escribir correctamente y aún más difícil de auditar, la comunidad de código abierto se consolidó en gran medida alrededor de OpenSSL en lugar de que cada proyecto implementara el suyo propio.
Esa consolidación creó un único punto de fallo. En abril de 2014, los investigadores divulgaron la vulnerabilidad Heartbleed: un error en la implementación de OpenSSL de la extensión de latido TLS que permitía a un atacante leer la memoria arbitraria de un servidor que ejecutaba una versión vulnerable. La falla afectó a una proporción sorprendente de servidores HTTPS en todo el mundo. Requirió parches de emergencia de los proveedores de sistemas operativos, operadores de servidores web, autoridades de certificación y fabricantes de hardware simultáneamente. Las claves privadas habían sido potencialmente expuestas, lo que significaba que los certificados SSL tenían que ser revocados y reemitidos a gran escala.
La divulgación de Heartbleed reveló que OpenSSL, a pesar de ser una de las piezas más críticas de la infraestructura de seguridad en Internet, era mantenida por un pequeño equipo con financiamiento mínimo. En ese momento, el proyecto tenía aproximadamente un empleado a tiempo completo. La Iniciativa de Infraestructura Central, financiada por grandes empresas de tecnología, se formó en respuesta para proporcionar apoyo financiero a proyectos de seguridad de código abierto críticos.
Desde entonces, OpenSSL ha experimentado mejoras significativas en seguridad, auditorías de código y cambios en el proceso de desarrollo. El proyecto ahora recibe más recursos que antes de Heartbleed. Pero el episodio sigue siendo la ilustración más clara de lo que puede salir mal cuando Internet concentra una dependencia crítica en un proyecto de código abierto infravalorado.
-1920x1282.jpg)
Credit: Chris Ried / Unsplash
Git cambió la forma en que se hace el software. Antes de Git, los sistemas de control de versiones (software que rastrea cambios en el código a lo largo del tiempo) eran centralizados: todos los desarrolladores compartían un único repositorio en un servidor central. Si querías ramificar, fusionar o trabajar sin conexión, las herramientas eran engorrosas. Git introdujo un modelo distribuido en el que cada desarrollador tiene una copia completa del repositorio, lo que permite flujos de trabajo que hubieran sido impracticables antes.
Linus Torvalds creó Git en 2005 para gestionar el desarrollo del kernel de Linux después de que la herramienta de control de versiones anterior de la comunidad, BitKeeper, se volviera inaccesible. Torvalds escribió la versión inicial en aproximadamente dos semanas, con un enfoque en la velocidad y la integridad de los datos. Git utiliza un modelo de almacenamiento direccionable por contenido: cada archivo y commit es identificado por un hash criptográfico de su contenido, lo que significa que la corrupción o la manipulación son detectables. Esta elección de diseño fue intencional: Torvalds quería un sistema que hiciera imposible alterar la historia de forma indetectable.
El diseño distribuido de Git significaba que operaciones como ramificar y fusionar, que habían sido complicadas en sistemas centralizados, se volvieran rápidas y económicas. Un desarrollador puede crear una rama en milisegundos, trabajar en ella durante días y fusionarla de nuevo con un historial completo y auditable. Este flujo de trabajo permitió el modelo de colaboración de código abierto sobre el que plataformas como GitHub y GitLab más tarde construyeron negocios.
Las capacidades de ramificación y fusión dieron forma no solo a proyectos individuales sino a metodologías de desarrollo completas. La estrategia de ramificación "Git flow", publicada en 2010 por Vincent Driessen, fue ampliamente adoptada en equipos de software. Los sistemas de integración continua, que prueban automáticamente el código cuando se proponen cambios, se basan en la suposición de que existen solicitudes de extracción al estilo de Git. Toda la práctica moderna de desarrollo de software de revisión de código surgió de flujos de trabajo que Git hizo prácticos.
GitHub, lanzado en 2008, hizo que Git fuera accesible a un público mucho más amplio al proporcionar una interfaz web, seguimiento de problemas y características sociales. Microsoft $MSFT adquirió GitHub en 2018 por $7.5 mil millones, un precio que reflejaba lo central que se había convertido la plataforma para el desarrollo de software a nivel mundial. Pero GitHub es un producto construido sobre Git: el sistema de control de versiones en sí mismo sigue siendo un proyecto de código abierto que Torvalds inició y que la comunidad ha ampliado.

Credit: Tom Fisk / Pexels
Kubernetes es un software de orquestación de contenedores: un sistema para implementar, escalar y gestionar aplicaciones empaquetadas como contenedores en clústeres de máquinas. Fue desarrollado por ingenieros de Google $GOOGL y lanzado como código abierto en 2014, basado en sistemas internos de Google llamados Borg y Omega que la empresa había utilizado para gestionar sus propias cargas de trabajo durante años. El lanzamiento de Kubernetes cambió la forma en que la industria pensaba sobre el despliegue de software a escala.
Un contenedor, en el sentido del software, es un paquete ligero que incluye una aplicación y todo lo que necesita para funcionar: sus dependencias, configuración y tiempo de ejecución, aislado del sistema anfitrión. Docker popularizó los contenedores y los hizo prácticos para los equipos de desarrollo. Kubernetes resolvió el problema más difícil de qué hacer con los contenedores a escala: ¿cómo despliegas 500 de ellos, aseguras que reinicien cuando fallen, equilibras la carga entre ellos, implementas actualizaciones sin tiempo de inactividad y gestionas su red?
Kubernetes introdujo un modelo declarativo para la infraestructura: en lugar de especificar los pasos para desplegar software, describes el estado deseado: "Quiero tres instancias de este servicio en funcionamiento" y Kubernetes averigua cómo lograr y mantener ese estado. Si un nodo falla, Kubernetes reprograma los contenedores afectados en otro lugar. Si el tráfico aumenta, Kubernetes puede escalar automáticamente. Este modelo hizo que las operaciones fueran más confiables y redujo el trabajo manual de gestionar servidores.
El proyecto fue donado a la Cloud Native Computing Foundation en 2016, sacándolo del control directo de Google y convirtiéndolo en un proyecto comunitario neutral respecto al proveedor. Esta decisión de gobernanza fue importante: tranquilizó a competidores y usuarios de que ninguna empresa podría dominar la dirección del proyecto. La CNCF se convirtió en el hogar de un amplio ecosistema de herramientas nativas de la nube construidas alrededor de Kubernetes.
Kubernetes transformó la computación en la nube al hacer que las cargas de trabajo fueran más portátiles. Debido a que Kubernetes se ejecuta de manera consistente en diferentes proveedores de nube, las organizaciones ganaron la capacidad de ejecutar aplicaciones sin estar completamente atadas a la plataforma de un solo proveedor. Los tres principales proveedores de nube — Amazon $AMZN, Google y Microsoft $MSFT — ofrecen servicios gestionados de Kubernetes, lo cual habla de cuán central se volvió el proyecto para la infraestructura en la nube a pesar de originarse en uno de los competidores de esos proveedores.

Credit: Markus Winkler / Pexels
Debian es una distribución de Linux: un sistema operativo completo construido sobre el núcleo de Linux con un sistema de gestión de paquetes, un conjunto de software incluido y un conjunto de políticas que rigen cómo se mantiene el software. No es la distribución de Linux más visible; Ubuntu, que se basa en Debian, recibe más atención. Pero Debian es fundamental para una gran parte del ecosistema Linux y ha sido desarrollado completamente por voluntarios desde que Ian Murdock anunció el proyecto en 1993.
Lo que distingue a Debian es su modelo de gobernanza y su compromiso con los principios de software libre. El proyecto se maneja democráticamente: un Líder del Proyecto Debian es elegido anualmente por los desarrolladores del proyecto, y las decisiones políticas significativas se toman mediante votación. El Contrato Social de Debian y las Directrices de Software Libre de Debian, publicadas en 1997, articularon principios sobre la libertad del software que se volvieron influyentes en todo el movimiento de código abierto. La Definición de Código Abierto, que define qué significa "código abierto", se derivó directamente de las Directrices de Software Libre de Debian.
El sistema de gestión de paquetes de Debian, construido alrededor de APT (Advanced Package Tool) y el formato de paquete .deb, fue uno de los primeros en resolver el problema del "infierno de dependencias": el desafío de instalar software que requiere que se instale otro software primero, lo cual a su vez requiere otro software. La resolución de dependencias de Debian hizo posible instalar software complejo con un solo comando, obteniendo e instalando automáticamente todo lo necesario. Este enfoque se convirtió en el modelo para la gestión de paquetes en todas las distribuciones de Linux.
La distribución también se convirtió en la base de un gran número de distribuciones derivadas. Ubuntu, que se convirtió en la distribución dominante de Linux en escritorio y nube, se deriva directamente de Debian. Raspberry Pi OS, utilizada en la popular computadora de placa única, está basada en Debian. Muchas imágenes de contenedores Docker usan imágenes base de Debian o derivadas de Debian.
El ciclo de lanzamiento de Debian es deliberadamente lento: las nuevas versiones estables vienen cada dos años, con un largo período de congelación para pruebas. Este conservadurismo lo convierte en una elección confiable para servidores donde la estabilidad importa más que tener las últimas versiones de software. La longevidad y estabilidad del proyecto, mantenida completamente por voluntarios durante tres décadas, es un logro inusual en software.

Credit: Nemuel Sereti / Pexels
Python es un lenguaje de programación, pero pertenece a esta lista porque se ha convertido en uno de los lenguajes principales de la infraestructura de Internet, la ciencia de datos y la automatización. Creado por el científico informático holandés Guido van Rossum y lanzado por primera vez en 1991, Python fue diseñado con la legibilidad como un objetivo central: su sintaxis impone la indentación para estructurar el código, lo que van Rossum creía que hacía que los programas fueran más fáciles de entender. Esa decisión de diseño hizo que Python fuera lo suficientemente accesible como para extenderse mucho más allá de su audiencia original.
El papel de Python en la infraestructura de internet toma varias formas. Es el lenguaje de Django y Flask, dos frameworks web que impulsan miles de aplicaciones web. La infraestructura de servidores de Instagram se construyó con Django. Dropbox se construyó en Python. El lenguaje se utiliza mucho en Google $GOOGL, Spotify $SPOT, Reddit $RDDT y YouTube. Cuando los desarrolladores necesitan escribir un script para procesar datos, automatizar una tarea o prototipar un servicio rápidamente, Python es frecuentemente la elección.
El dominio del lenguaje en ciencia de datos y aprendizaje automático es igualmente significativo. NumPy, Pandas, Scikit-learn, TensorFlow y PyTorch, las principales bibliotecas de computación científica y aprendizaje automático, son todas bibliotecas de Python. La aparición del aprendizaje automático como una tecnología práctica en la década de 2010 impulsó la adopción de Python dramáticamente: los investigadores e ingenieros que necesitaban trabajar con estas herramientas tenían que trabajar en Python. A principios de la década de 2020, Python se había convertido en el lenguaje de programación más utilizado en el mundo según varias medidas.
Python es gestionado por la Python Software Foundation, una organización sin ánimo de lucro que posee la propiedad intelectual del lenguaje y apoya a la comunidad. Van Rossum sirvió como lo que la comunidad llamó "Dictador Benevolente de por Vida" — el árbitro final de las decisiones de diseño del lenguaje — hasta que renunció al cargo en 2018. La gobernanza del lenguaje ahora es manejada por un consejo de dirección.
Una característica del ecosistema de Python es el papel central de PyPI (el Índice de Paquetes de Python), un repositorio de más de 500,000 paquetes que los desarrolladores de Python pueden instalar con un solo comando. PyPI es la infraestructura de distribución para el ecosistema de Python, una pieza crítica de la infraestructura de internet que, como muchas otras, depende significativamente de esfuerzo voluntario y financiación relativamente modesta.

Credit: Christina Morillo / Pexels
Ansible es un software de automatización para gestionar la infraestructura informática. Fue creado por Michael DeHaan y lanzado por primera vez en 2012, resolviendo un problema que se había vuelto más agudo a medida que las organizaciones desplegaban más servidores: ¿cómo configuras miles de máquinas de manera consistente, aplicas actualizaciones a todas ellas y documentas qué está instalado dónde? Ansible abordó este problema con una filosofía de diseño centrada en la simplicidad: utiliza un formato legible por humanos llamado YAML para describir estados del sistema deseados, no requiere software instalado en las máquinas que se gestionan y se conecta utilizando SSH ordinario.
El diseño "sin agente" fue una desviación significativa de las herramientas de gestión de configuración anteriores como Puppet y Chef, que requerían la instalación y mantenimiento de software agente en cada máquina gestionada. El enfoque sin agente de Ansible redujo significativamente la sobrecarga operativa de la adopción: podías apuntarlo a servidores existentes sin modificarlos primero. Esto lo hacía accesible a equipos que encontraban la complejidad de las herramientas basadas en agentes como una barrera.
Los playbooks de Ansible — los archivos YAML que describen las tareas de automatización — se convirtieron en la forma principal en que muchas organizaciones documentaban su infraestructura como código. En lugar de depender del conocimiento institucional sobre cómo estaban configurados los servidores, los equipos podían leer sus playbooks de Ansible para entender exactamente en qué estado se suponía que debía estar cada sistema. Este enfoque de "infraestructura como código" hacía los entornos reproducibles y auditables de una manera que la configuración manual nunca podría ser.
Red Hat adquirió Ansible en 2015 por aproximadamente $150 millones, integrándolo en su cartera de productos empresariales mientras mantenía el proyecto central como código abierto. La adquisición reflejó la importancia que la automatización había adquirido para las operaciones de TI empresariales. Red Hat posteriormente se convirtió en parte de IBM $IBM, que la adquirió en 2019.
El papel de Ansible en el internet moderno es en gran medida invisible: funciona en segundo plano durante los despliegues, manteniendo los servidores configurados correctamente y permitiendo a los equipos gestionar cientos o miles de máquinas con el mismo esfuerzo que antes requería acceso físico a cada una. Cuando un proveedor de nube actualiza la configuración de sus servidores o cuando una empresa implementa un parche de seguridad en toda su flota, el mecanismo es a menudo algo como Ansible operando silenciosamente en segundo plano.

Credit: Tima Miroshnichenko / Pexels
Elasticsearch es un motor de búsqueda construido sobre Apache Lucene, diseñado para hacer que la búsqueda de texto completo sea rápida, escalable y accesible a través de una API sencilla. Fue creado por Shay Banon, lanzado por primera vez en 2010, y desde entonces se ha convertido en el motor de búsqueda más utilizado en aplicaciones empresariales y web. Cuando la barra de búsqueda de un sitio web devuelve resultados en milisegundos, o cuando un sistema de gestión de registros permite a los ingenieros buscar entre miles de millones de entradas de registro, Elasticsearch es a menudo el motor subyacente.
El diseño del software se centra en la arquitectura distribuida desde el inicio. Un clúster de Elasticsearch distribuye datos en múltiples nodos, manejando automáticamente la replicación y el balanceo de carga. Las consultas se procesan en paralelo a través de fragmentos, permitiendo un rendimiento de búsqueda a escalas que las bases de datos de una sola máquina no pueden igualar. Agregar nodos a un clúster escala la capacidad horizontalmente, un diseño que se alineó bien con los patrones de infraestructura en la nube que se convirtieron en estándar en la década de 2010.
Más allá de la búsqueda, Elasticsearch se convirtió en la base de la pila ELK — Elasticsearch, Logstash (una herramienta de canalización de datos) y Kibana (una interfaz de visualización). Esta combinación se convirtió en la solución dominante de código abierto para la agregación y análisis de registros. Los operadores de infraestructura web necesitan recopilar registros de cientos de servicios, indexarlos para una búsqueda rápida y visualizar patrones para depurar problemas. La pila ELK proporcionó esta capacidad con una interfaz coherente y un fuerte soporte del ecosistema.
Elastic, la empresa que Banon fundó, mantiene Elasticsearch. Al igual que Redis, Elastic cambió sus términos de licencia en 2021, pasando de la Licencia Apache a una licencia más restrictiva similar a una propietaria, citando preocupaciones sobre los proveedores de nube que ofrecen Elasticsearch como servicio sin contribuir a su desarrollo. Amazon $AMZN respondió creando OpenSearch, un fork de la última versión con licencia Apache de Elasticsearch, que continúa como un proyecto de código abierto separado.
La cuestión de cómo sostener negocios comercialmente viables en torno al software de código abierto — mientras se evita que los proveedores de nube capturen valor sin contribuir — se ha convertido en una de las tensiones definitorias de la era moderna del código abierto. Elasticsearch y Redis son dos de los ejemplos más destacados de proyectos donde esa tensión llevó a bifurcaciones visibles y disputas de gobernanza.

Credit: Luke Chesser / Unsplash
Prometeo es un sistema de monitoreo y base de datos de series temporales creado en SoundCloud y lanzado como código abierto en 2012. Fue diseñado para resolver un problema específico: ¿cómo se monitorean las aplicaciones distribuidas modernas, donde un solo servicio puede consistir en docenas de microservicios que se ejecutan en cientos de contenedores, sin direcciones IP fijas y con servicios que se inician y detienen continuamente? Las herramientas de monitoreo de la década pasada asumían una infraestructura relativamente estática que se podía configurar manualmente. Prometeo asumió que la infraestructura era efímera y necesitaba descubrir y rastrear los servicios automáticamente.
El enfoque del proyecto para la recopilación de datos, llamado el modelo de extracción, era distintivo. En lugar de que los servicios envíen métricas a un servidor central, Prometeo sondea regularmente los servicios objetivo para obtener sus métricas a través de HTTP. Los servicios exponen un endpoint de métricas, típicamente en /metrics, y Prometeo lo extrae según un horario. Este diseño hizo que fuera fácil agregar monitoreo a cualquier servicio que pudiera exponer un endpoint HTTP, y le dio a los operadores una imagen clara de lo que se estaba monitoreando en un momento dado.
Prometeo introdujo un poderoso lenguaje de consulta llamado PromQL, que permite a los operadores expresar consultas complejas sobre datos de series temporales. Un operador puede solicitar el percentil 95 de la latencia de las solicitudes a través de todas las instancias de un servicio en los últimos cinco minutos, o rastrear la tasa de errores en comparación con las solicitudes exitosas. Estas consultas alimentan paneles de control y reglas de alerta que informan a los ingenieros cuando algo está mal antes de que los usuarios lo noten.
Prometeo fue el segundo proyecto en unirse a la Cloud Native Computing Foundation en 2016, después de Kubernetes. Su inclusión reflejó lo central que se había vuelto el monitoreo para las operaciones nativas en la nube. Un gran ecosistema de "exportadores" surgió alrededor de Prometeo: componentes de software que traducen métricas de bases de datos, colas de mensajes, hardware y otros sistemas al formato de Prometeo, haciendo posible monitorear casi cualquier componente de una pila de infraestructura con un lenguaje de consulta consistente.
Grafana, una herramienta de visualización que se integra estrechamente con Prometeo, se convirtió en la forma estándar de mostrar datos de Prometeo. Juntos representan la pila de observabilidad de facto para la infraestructura nativa en la nube, utilizada en toda la industria para monitorear la salud de los sistemas que sirven aplicaciones web modernas.