Este 19 de septiembre pasado se celebró el Software Freedom Day o Día del Software libre. Una fecha que busca celebrar, promocionar y educar sobre el software libre y su uso e importancia. Para conocer un poco más sobre este tipo de sistemas informáticos, nos pusimos en contacto con el Dr. Ismael de Fez Lava, director de la Maestría Oficial en Desarrollo de Aplicaciones y Servicios Web de la Universidad Internacional de Valencia.

Ismael de Fez Lava es ingeniero superior de telecomunicaciones, máster en tecnologías, sistemas y redes de comunicaciones, doctor en telecomunicación y máster en dirección y planificación de empresas (MBA). Cuenta con más de 12 años de trayectoria profesional en el área de telemática, donde tiene experiencia tanto en investigación y desarrollo como en docencia.

 

¿Qué debemos entender por software libre? ¿En este caso es lo mismo libre que gratis? ¿nos puedes contar un poco sobre sus orígenes?

El software libre es aquel software que tiene el código fuente públicamente disponible para que cualquiera lo pueda consultar o modificar. Según Richard Stallman, activista y fundador del movimiento del software libre, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Concretamente, Stallman se refirió a cuatro tipos de libertad:

  • Libertad de utilizar o ejecutar el software para cualquier propósito.
  • Libertad de analizar el funcionamiento del software y adaptarlo a las necesidades.
  • Libertad de redistribuir copias del software.
  • Libertad de modificar y mejorar el programa y hacer públicas dichas mejoras.

Por tanto, dicha libertad implica no tener que pedir permiso ni pagar por ello y ser libre de realizar modificaciones a dicho software.

No hay que confundir libre con gratis. De hecho, en el idioma español la diferencia está clara. En cambio, los angloparlantes, por su parte, cuando hablan del software libre suelen empezar con una frase icónica del mundillo: Free software as in ‘free speech’ not as in ‘free beer’. Es decir, piensa en libre como libertad de expresión, no como en cerveza gratis.

Para evitar confusiones, se emplea “freeware” para referirse a programas gratuitos (pero que están sujetos a derechos de propiedad intelectual), y “free/open software” que son programas libres.

El software tiene una característica única que es que el coste de producción, una vez diseñado, es prácticamente cero. Aunque yo diseñe una silla y haga gratis ese diseño, no la puedo distribuir a todo el mundo que la quiera sin coste alguno. Sin embargo, en los inicios de la informática, los fabricantes de ordenadores querían ligar el software con el hardware. Esta posición de los fabricantes no estaba muy bien vista por las universidades que compartían sus desarrollos, hasta que en 1983 Richard Stallman creo el ‘GNU Project’ con el fin de crear el primer sistema operativo libre.

¿Cuál es la importancia histórica y actual del software libre? ¿cómo sería el panorama tecnológico actual sin su existencia?

El software libre ha tenido una importancia cada vez mayor desde que surgió en la década de los 80. De los primeros hitos relevantes, destaca la publicación de Linux a primeros de los 90. Todos conocemos Linux. Aunque quizá no se utiliza tanto por el público en general como otros sistemas operativos (Windows y Mac), lo cierto es que hoy en día Linux es el sistema operativo empleado por la mayoría de servidores de las compañías.

Pero, aparte de Linux, hay muchos programas de software libre que son esenciales hoy en día. Por ejemplo, Apache, un servidor web de código abierto, que es el servidor HTTP más utilizado desde hace 25 años. Es decir, que una gran parte de las páginas web en la actualidad son accesibles gracias a Apache. A su vez, Apache suele funcionar con MySQL, que permite la gestión de bases de datos, que es donde se almacena gran cantidad de información. También destaca PHP, lenguaje de programación ampliamente utilizado desde hace muchos años para la gestión de servidores.

Por último, me gustaría destacar dos herramientas de código libre. La primera de ellas es Git, software de control de versiones que permite la gestión del código fuente en el desarrollo de software y que resulta esencial para poder llevar un registro de las modificaciones realizadas a un determinado programa. La segunda es WordPress, un sistema de gestión de contenidos diseñado para la creación de páginas web. Hoy en día, múltiples páginas web están realizadas con WordPress.

Y con respecto al panorama actual sin software libre, es muy difícil de imaginar, pero con toda seguridad sería completamente diferente a lo que tenemos en la actualidad, y evidentemente con muchos menos servicios de los que disfrutamos cada día. Puede que hasta incluso tuviéramos que pagar por cada correo electrónico que enviásemos, ya que el coste de los servicios informáticos sería mucho mayor. Es muy complicado imaginar esa realidad. Sinceramente, dudo que fuera mejor que la que tenemos hoy.

Probablemente muchos no seamos conscientes de la importancia del software libre en nuestro día a día. ¿Nos puedes dar ejemplos de su presencia en aplicaciones o tecnologías de uso común?

El ejemplo más claro es Internet. Internet, tal como lo conocemos ahora, no sería posible sin software libre. Internet funciona principalmente con software libre, ya que los servidores web y los equipos de encaminamiento (routers) suelen funcionar con Linux. Por ejemplo, Google, Amazon, Facebook, etc. utilizan Linux en sus respectivas plataformas en la nube. Por tanto, cualquier transmisión que se haga a través de Internet pasa por decenas de equipos basados en alguna medida en software libre.

Y hablando de dispositivos móviles, todos llevamos un smartphone ya sea Android o iPhone. Android está basado en Linux, y Mac OS (sistema operativo utilizado por Apple) usa partes del sistema operativo de código abierto FreeBSD, al igual que iOS e iPad OS. Por tanto, podemos decir que todos llevamos software libre encima.

¿Qué opinión tienes sobre la utilización de software libre en las administraciones públicas como una forma de asegurar la transparencia, la independencia tecnológica o la accesibilidad, entre otros propósitos?

Respecto a las administraciones públicas, y en general, creo que es positivo que haya libertad para elegir software libre o privativo en función de las necesidades. Aquí creo que lo realmente importante es el formato de los datos. Si los datos están en formatos abiertos (documentos, imágenes y audio y vídeo), la independencia tecnológica y la accesibilidad están garantizadas. Por tanto, una administración pública u organización tendría la flexibilidad para cambiar de una tecnología a otra de forma casi inmediata. El problema es que en muchos casos esto no sucede así, y las administraciones siguen utilizando el mismo software principalmente para evitar el esfuerzo que supone un cambio de tecnología. Esto puede causar que se esté utilizando un software que no resulte el más adecuado para las necesidades de la administración.

Personalmente, creo que la utilización de herramientas de software libre en las administraciones públicas supone un beneficio económico tanto a nivel local, regional como nacional. Implantar software libre no va a resultar gratis a las administraciones, ya que se tiene que llevar a cabo la implantación, la adaptación a las necesidades si procede, dar formación a los usuarios y mantener los sistemas. Y esas tareas las pueden realizar pymes locales. Con el uso de software comercial, la inversión de las administraciones suele ir a parar a las grandes multinacionales, que muchas de ellas tienen su sede en otros países.

Respecto a su seguridad ¿Qué ventajas o desventajas ofrece?

La principal ventaja es que todo el mundo tiene acceso al código y los usuarios activos de software libre están buscando constantemente errores en el código (bugs) para solucionarlos y ofrecer dicha solución al resto de la comunidad. Asimismo, como es posible modificar libremente el software, se puede adaptar dicho software a las necesidades que se tengan y hacer uso únicamente de las funcionalidades que se vayan a utilizar, optimizando así el funcionamiento. Por ejemplo, si un usuario que emplea un software concreto no necesita una funcionalidad que lo conecta a Internet, puede quitar dicha funcionalidad, reduciendo así las posibilidades de un ataque. En este sentido, ya que el software libre permite ver el código fuente, es posible descubrir todas las funcionalidades que un programa ofrece. En cambio, utilizando software propietario, el usuario nunca puede saber qué hace realmente el programa que se está ejecutando, por tanto, ha de confiar totalmente en el fabricante.

Por la misma razón, la principal desventaja es que todo el mundo tiene acceso al código y usuarios malintencionados pueden buscar bugs para usarlos como fallo de seguridad. Otra desventaja es que un programa de código libre deje de utilizarse por la comunidad (se “abandone”) y no se tienen actualizaciones, comprometiendo así la seguridad. Aunque algo similar ocurre con el software privativo, que puede dejar de tener soporte y ofrecer vulnerabilidades.

Desde mi punto de vista, las ventajas son mayores a las desventajas. De hecho, en el caso de Linux, por ejemplo, cualquier persona con pocos recursos puede montar su propia empresa dando servicios basados en Linux, ya que tiene el apoyo de una gran comunidad de usuarios que está pendiente de hacer de Linux un sistema muy robusto.

De hecho, cada vez más bancos y gobiernos apuestan por el uso de software libre, y una de las razones es la seguridad, ya que los fallos de seguridad se detectan de una forma rápida gracias a la comunidad de desarrolladores existente.

¿Puedes recomendar algunos recursos para quien quiera investigar más en el uso de software libre?

En primer lugar, hay que mencionar la Free Software Foundation (https://www.fsf.org/), que fue la organización pionera en difundir el movimiento del software libre. Desde dicha página se pueden múltiples varios enlaces a páginas de software libre promovidos por la FSF, entre ellas el Proyecto GNU (https://www.gnu.org/). También destaca la Apache Software Foundation (http://www.apache.org/), la organización de código fuente con más usuarios del mundo. En cualquier caso, en Internet se pueden encontrar miles de páginas referentes a código libre, centradas tanto en promocionar sus ventajas como en ofrecer software libre a toda la comunidad.