La economía cambiante del código abierto

Principios de 2022 trajo consigo un nivel inusualmente alto de conmoción en la comunidad de código abierto, en gran parte centrado en la economía de quién y cómo debemos pagar por el software "gratuito". Pero esto no es solo una guerra de llamas geek. Lo que está en juego es fundamental para grandes sectores del mundo de los negocios.

Para comprender de qué se trata todo este alboroto, es útil considerar qué significa código abierto. En sus primeros días, el movimiento de código abierto tenía que ver con la creación de alternativas a los grandes paquetes de software. Y hubo algunos éxitos sobresalientes que permitieron la participación de grandes grupos de personas: comencé mi primera empresa web a mediados de los años 90 casi sin capital, basada en gran medida en la disponibilidad del sistema operativo Linux, el servidor web Apache y la gente usa hipertexto. Lenguaje de programación del procesador (PHP).

La primera promesa del código abierto

Los primeros días también se caracterizaron por algunos buenos ideales sobre lo que significaba ser código abierto: cualquiera podía y revisaría el código base para identificar y corregir errores; la gente tomaría bases de código y contribuiría a sus avances; y habÃa un modelo de negocio rentable para crear software “libre†.

Los sistemas en línea como SourceForge y más tarde GitHub facilitaron compartir y colaborar en componentes de código abierto más pequeños. Posteriormente, el crecimiento temprano y explosivo del software de código abierto puso a prueba algunas de esas ideas originales hasta el punto de ruptura.

En contraste con el enfoque en la creación de alternativas a los grandes paquetes de software en el pasado, hoy existe una proliferación de software de código abierto. Por un lado, tenemos gigantes de Internet que producen todo tipo de herramientas, marcos y plataformas. Por otro lado, los equipos que utilizan OneDev, una plataforma de desarrollo de software de código abierto, han creado partes pequeñas pero críticas que respaldan una gran cantidad de empresas.

La diversidad de proyectos de hoy ha desafiado muchos de los principios iniciales del código abierto. Por lo tanto, en muchos casos, las bases de código de los paquetes de código abierto son simplemente demasiado grandes para permitir una inspección significativa. Otros paquetes son distribuidos por titanes de Internet que no esperan que nadie más contribuya a ellos. Sin embargo, otros lanzamientos son lanzamientos distintos y específicos que pueden hacer solo una tarea relativamente menor, pero lo hacen tan bien que se han extendido por Internet. Sin embargo, en lugar de una comunidad activa de mantenedores, a menudo son solo uno o dos desarrolladores comprometidos que trabajan en un proyecto apasionante. Uno puede apreciar los desafíos que esto podría crear observando algunos ejemplos recientes de la economía cambiante del código abierto.

Por ejemplo, ElasticSearch cambió sus términos de licencia en 2021, para incluir el requisito de que los proveedores de servicios en la nube que se benefician de su trabajo paguen al liberar el código de cualquier herramienta de administración que construyan. Esos cambios causaron una protesta en la comunidad de código abierto. Impulsaron a Amazon Web Services, que había estado ofreciendo un servicio administrado basado en ElasticSearch hasta el cambio, para "bifurcar" el código base y crear una nueva distribución para su producto OpenSearch.

En el otro extremo de la escala, una falla de seguridad en Log4J creó lo que se ha denominado el "error más grande en Internet" después de que se revelara una vulnerabilidad en diciembre de 2021. Log4J es una herramienta de registro de código abierto ampliamente utilizada en un multitud de sistemas en la actualidad. Pero su popularidad no significó que estuviera respaldado por un equipo de mantenimiento estelar; en cambio, fue mantenido por aficionados. Aquí, arrojar dinero al problema difícilmente es una solución. Sabemos de muchos entusiastas del código abierto que mantienen su software personalmente mientras llevan una vida profesional ocupada; lo último que quieren es la responsabilidad de un acuerdo de nivel de servicio porque alguien les pagó por su creación.

¿Puede el código abierto continuar prosperando?

Entonces, ¿es este el final del camino para el sueño de código abierto? Ciertamente, muchos de los detractores del código abierto verán los recientes trastornos como prueba de un enfoque fallido. No podrían estar más equivocados.

Lo que estamos viendo hoy es un resultado directo del éxito del software de fuente abierta. Ese éxito significa que no existe una descripción única para definir el software de código abierto, ni un modelo económico de cómo puede tener éxito.

Para los gigantes de Internet como Facebook o Netflix, la popularidad, o no, de su respectiva biblioteca de JavaScript y herramienta de software, React y Chaos Monkey, no viene al caso. Para tales empresas, los lanzamientos de código abierto son casi una cuestión de marca del empleador, una forma de mostrar sus habilidades de ingeniería a los empleados potenciales. La probabilidad de que alteren los modelos de licencias para crear nuevas fuentes de ingresos es lo suficientemente pequeña como para que la mayoría de las empresas no pierdan el sueño por ello. No obstante, si estas herramientas de código abierto forman una parte crítica de su pila de software o proceso de desarrollo, es posible que desee algún tipo de plan de contingencia; es probable que tenga muy poca influencia sobre los desarrollos futuros, por lo que comprender sus riesgos ayuda.

Ese consejo es válido para aquellas piezas de software de código abierto mantenidas por entidades comerciales. En la mayoría de los casos, estas empresas querrán mantener contentos a los clientes, pero también están bajo presión para obtener beneficios, por lo que no se pueden descartar cambios en los términos de la licencia. Nuevamente, para reducir el riesgo de interrupción, debe comprender hasta qué punto depende de ese software y si hay alternativas disponibles.

Para las empresas que han creado plataformas que contienen software de código abierto, los riesgos son más inciertos. Esto está en línea con la opinión de Thoughtworks de que todas las empresas pueden beneficiarse de una mayor conciencia de qué software se ejecuta en sus diversos sistemas. En tales casos, recomendamos a las empresas que consideren hasta qué punto dependen de esa pieza de software: ¿existen alternativas viables? En circunstancias extremas, ¿podría bifurcar el código y mantenerlo internamente?

Una vez que comienza a buscar partes cruciales de su pila de software en las que depende de los aficionados, sus opciones comienzan a disminuir. Pero si el caso de Log4J nos ha enseñado algo, es esto: auditar lo que se incluye en el software que ejecuta su negocio lo coloca en un lugar mejor que ser tomado completamente por sorpresa.

Este contenido fue producido por Thoughtworks. No fue escrito por el equipo editorial de MIT Technology Review.