El software libre, más relevante que nunca

publicado en: Eventos | 0

This post is also available in: Català (Catalán) English (Inglés)

Gran parte de las aplicaciones y los lenguajes de programación que hacen posible Internet y la industria del software son de código abierto y se publican bajo licencias de software libre. Esta forma de desarrollar se ha convertido en un estándar de facto en el sector. Pero hay proyectos clave, de los cuales dependen servicios que usamos diariamente, que no tienen asegurado el sostenimiento y es necesario que reciban más apoyo.

El pasado mas de noviembre tuvo lugar la conferencia DevOps Barcelona, un evento para profesionales de las infraestructuras en la nube y las prácticas ágiles de desarrollo de software. Además de servir para reencontrarnos con colegas de profesión, estas conferencias nos permiten hacernos una idea de cuáles son las herramientas más utilizadas en organizaciones de toda clase para gestionar las infraestructuras, los servicios y los procesos de desarrollo que hacen posible la industria del software y el mismo Internet.

Muchas de estas herramientas han aparecido en los últimos años – Kubernetes, Terraform, Helm… – y hay otras que ya eran relevantes el siglo pasado – Linux, Bind, MySQL… -. Estos proyectos surgen de formas muy diversas: algunos se desarrollan inicialmente para uso interno a una empresa, o como una nueva línea de negocio, mientras otros son una respuesta colectiva a una necesidad concreta, y también los hay que se originan como proyectos de investigación en ámbitos académicos. Pero a pesar de estos orígenes tan diversos, hay una cosa que tienen en común gran parte de las aplicaciones y los lenguajes de programación que hacen posible Internet y la industria del software: todas se publican bajo licencias de software libre o open source.

Como ya hemos comentado otras veces, esto quiere decir que el código fuente de estas aplicaciones está disponible públicamente, y todo el mundo tiene permiso para usarlo, para estudiarlo, para hacer cambios y publicarlos. Esta forma de desarrollar software de forma abierta se ha convertido en un estándar de facto en la industria. Mientras que hace unos años había muchas empresas que eran reticentes a integrar software libre con sus propios productos, hoy en día a menudo pasa lo contrario: se considera un riesgo integrar software privativo, porque implica renunciar a tener control total sobre los servicios o aplicaciones que desarrollamos. Lo que empezó en los años 1980 como un movimiento social minoritario contra las prácticas de los distribuidores de software privativo, se ha convertido en una pieza clave de uno de los sectores más innovadores y con más impacto social. Esto demuestra una vez más que compartir el conocimiento estimula la investigación y el desarrollo.

Pero esta estructura tan compleja, en la que cada servicio o aplicación depende de decenas o centenares de otros proyectos libres para poder funcionar, también tiene puntos débiles. Y es que hay muchas formas de hacer económicamente sostenible el software libre: algunas empresas liberan proyectos internos para tener el apoyo de la comunidad, como hizo Google con Kubernetes; otros liberan el núcleo de la aplicación y vienen bajo licencia módulos adicionales para añadir funcionalidades avanzadas, como hacen en Odoo; otros liberan todo el producto y ofrecen servicios de consultoría y desarrollo a medida, como Nextcloud; y también hay proyectos que están sostenidos por una combinación de voluntarios y personas que contribuyen como parte de su trabajo a una empresa o un centro de investigación, como el núcleo de Linux o el servidor web Apache.

En algunas ocasiones hay proyectos clave que no tienen suficiente financiación ni tampoco una comunidad de voluntarios suficientemente grande, a pesar de que muchas organizaciones y empresas usen el código. Esto puede suceder por tratarse de proyectos muy complejos, porque la cultura del proyecto haga difícil entrar a participar, o porque se trate de un proyecto poco visible y pocos participantes potenciales lo conozcan o les parezca interesante. Quizás el caso más conocido es el de OpenSSL, una implementación libre del protocolo TLS que se usa para transferir datos de forma segura por Internet (por ejemplo, cuando conectamos usando https:// a un sitio web). Este proyecto subsistió durante años con un único desarrollador a tiempo completo y un puñado de voluntarios, aunque su código lo usaban todos los gigantes tecnológicos para proveer sus servicios. Esta precariedad se hizo visible al hacerse públicas diversas vulnerabilidades que habían pasado desapercibidas durante mucho de tiempo, y que afectaban a una parte significativa de los servidores web conectados a Internet.

En estos casos es importante que intervengan organismos públicos (como la UE, los gobiernos, las universidades y los centros de investigación) o iniciativas privadas como fundaciones o alianzas de empresas, para garantizar que estos proyectos clave tengan continuidad, porque en algunos casos son imprescindibles para el funcionamiento de servicios y aplicaciones que usamos diariamente.