Puntualizaciones sobre software libre de David Picón

Este artículo fue publicado por David Picón en el curso de un debate en la lista TIFLOCLUB. Le pedí permiso para publicarlo, y una vez obtenido éste, aquí va el artículo en cuestión:

¿Qué significa «free software», en qué sentido es libre, y por qué motivos me parece un concepto relevante?

1. Libre o gratis.

Free software es una expresión que da lugar a equívocos en inglés. Por este motivo surgen otras fórmulas para llamar a lo que viene siendo en realidad la misma cosa: open source, e incluso libre software (del francés o el español). De ahí ciertas abreviaturas como FOSS or FLOSS: free/open source software, or free/libre/open source software. La ambigüedad no es algo buscado sino accidental: no hay una palabra en inglés que signifique libre pero no gratis, sin introducir otros matices (en su día se propuso liberated software). Para entender esto sólo hay que ir a la base documental del software libre, y un buen principio es siempre la GPL (general public licence, licencia pública general). Ahora mismo no tengo por aquí la versión 3 y última, pero la versión 2, aún aplicable a la mayoría del software libre, nos sirve igual a estos efectos. En el segundo párrafo del preámbulo, salimos de dudas a este respecto:

When we speak of free software, we are referring to freedom, not price. Cuando hablamos de «free software», nos referimos a la libertad, no al precio.

Un típico dicho de Richard Stallman, creador del movimiento del software libre, es que free software se aplica en el sentido de free speech (expresión libre) no free beer (cerveza gratis).

2. El significado de la libertad.

El tema de la libertad no es tan simple como pudiera parecer. Voy a poner un ejemplo que a mi me lo aclaró mucho la primera vez que lo leí, porque yo en su día también tenía una visión bastante absoluta de lo que es la libertad.

Pongamos un bosque en los EEUU, y en Finlandia. En los EEUU, el propietario del bosque tiene la libertad de vallarlo, y nadie puede entrar en él contra su criterio. Puede defenderlo de intrusos incluso con fuerza armada, etc.
Esta es una forma de libertad. Pongámonos en Finlandia, donde los bosques no se pueden vallar, y hay un derecho universal de caminar por ellos, recoger setas y vayas, utilizar la leña caída, y, en general, una serie de derechos universales de uso en favor de toda la sociedad. Esto también es una forma de libertad. Si no salimos del ámbito abstracto de la libertad podemos encontrarnos con gente diciendo que en los EEUU no hay libertad en materia de bosques y otra gente diciendo lo mismo sobre Finlandia.

¿A qué viene esto? La libertad, por lo menos en sociedad, no puede ser un valor absoluto, y elegir unas libertades u otras, por mucho que nos lo pueda parecer, no es una decisión neutral.

3. Las libertades del software libre: concepto negativo de libertad.

Las libertades del software libre se han repetido hasta la saciedad. Son 4, numeradas (como los arrays en C) del 0 al 3: 0, utilizar el programa para cualquier propósito; 1, estudiar y adaptar el programa para cualquier propósito (requiere código fuente); 2, redistribuir copias; 3, mejorar el programa y distibuir las mejoras. Esta lista de libertades está en este sitio. que es la página en que se define el software libre. Este modelo de libertad no es universal, igual que la libertad de caminar por los bosques, o de vallarlos, no es universal. Es una decisión que no es ni puede ser neutral, y hay otras formas de concebir la libertad del software (sin ir más lejos, la libertad de explotar el software comercialmente en cualesquiera términos resulten económicamente más ventajosos).

Sin embargo, esta concepción de libertad tampoco es arbitraria. A mi juicio es una concepción útil y, al margen de que un programa determinado sea mejor o peor, en igualdad de condiciones yo siempre me quedaría con un programa libre frente a uno que no lo sea. Personalmente estoy dispuesto a utilizar programas libres incluso aunque no sean exactamente equivalentes en funcionalidad, como quiera que se mida eso, porque creo que tienen ciertas ventajas desde el punto de vista social y colectivo, pero cada persona tiene que hacer a este respecto sus propios juicios de valor (igual que cada estado decide si se puede o no caminar libremente por los bosques).

Estos conceptos de libertad son todos negativos. Con ello me refiero a que son libertades en sentido anglosajón, a hacer sin intromisiones de terceros.

La libertad de usar el programa para cualquier propósito significa solamente que nadie lo impedirá, no que alguien lo vaya a hacer posible. La libertad de estudiar y adaptar el programa significa que cada persona puede hacerlo, no que alguien vaya a adaptar el programa por ellos, aunque requiere de la imposición positiva de distribuir código fuente. Hay algunas personas que son de la opinión de que estas libertades, por negativas, son ilusorias: de que sirve la libertad de ejecutar un programa si no es usable para una persona, accesible para otra, internacionalizado en el idioma de una tercera? Estas personas, a menudo desde el mundo de Apple, dicen que la verdadera libertad, la que le importa al usuario, es la de ejecutar un programa funcional, que satisfaga sus necesidades. Aparte de que lo de discutir sobre la verdadera libertad es la forma más rápida de meterse en debates abstractos que no llevan a ningún sitio, he de decir que esa libertad positiva simplemente no es factible: no puede haber un programa que satisfaga las necesidades de todos sus usuarios potenciales, por mucho que el autor ponga todo de su parte. Como un programador amigo mío solía decir:

la siguiente versión vendrá con un pony incorporado.

4. Relevancia de la idea del software libre, para el programador y para el usuario.

¿Por qué son estas libertades importantes? ¿Por qué Richard Stallman, y no sólo él sino muchos otros programadores famosos o anónimos, han insistido tanto en construir un mundo en el que, cuando menos, tengamos la opción de un entorno basado enteramente en programas libres?

Esta pregunta tiene diferentes respuestas para diferentes perfiles de persona, o para organizaciones (empresas, gobiernos, pymes).

Para un programador, como Eben Moglen ha dicho al respecto, el software libre constituye la mayor biblioteca técnica del planeta, con la que una persona puede progresar desde la ingenuidad hasta el estado de la técnica, con total libertad. Ya sólo por eso tiene un gran valor. Además, contribuye a evitar la tan típica reinvención de la rueda, ya que un algoritmo bien implementado puede utilizarse por otros programadores siempre que estén trabajando también en software libre. Por último, funciona como un mecanismo de promoción, y sirve para agregar el trabajo de muchos, que bajo un sistema tradicional de gestión nunca podría realizarse dados los costes de fricción.

Para un usuario doméstico, no nos vamos a engañar, lo que impera son las libertades 0 y 2, es decir, poder usar el software y redistribuirlo, lo cual implica un cierto grado de gratuidad. Pero además, aunque de forma más subsidiaria, el hecho de que los programadores puedan trabajar libremente y de forma distribuida en los proyectos libres es algo que acaba teniendo sus ventajas para los usuarios. Un claro ejemplo es la i18n y l10n, en que los proyectos libres sacan grandes ventajas, pudiéndose traducir a idiomas minoritarios que un operador comercial no podría permitirse.

Para pymes o empresas más grandes, está el factor de la gratuidad, pero más aún, la posibilidad de evitar quedar atado a un monopolio que acabe utilizando sus datos como un rehén. Casos claros son los de Office, o incluso Internet Explorer, que pueden hacer que una empresa acabe siendo completamente dependiente de Microsoft, y no pueda migrar sus sistemas fácilmente. Es cierto que mucho de esto puede resolverse con standards abiertos, pero no es menos cierto que los operadores comerciales que producen y distribuyen software propietario son extremadamente reacios a implementar este tipo de standards de forma correcta e interoperable.

Lo mismo es aplicable a los gobiernos, que han de añadir a sus preocupaciones la necesidad de archivar datos a largo plazo, e idealmente disponer de soberanía cuando tomen decisiones sobre su propio software. Para un gobierno, el depender de una entidad comercial extranjera supone ciertos riesgos.

A efectos de gratuidad me parece poco acertado decir que implementar el software libre no es gratis porque requiere gastos de formación. ¡Acaso la operación de windows viene programada genéticamente? Sin ir más lejos, cada vez que tengo que echar una mano a un usuario de Windows Vista, me encuentro bastante perdido, y tengo que buscar soluciones en Internet, porque no tengo mucha idea de como está organizado el sistema. Una migración a software libre requiere formación, igual que una migración a una nueva versión de software propietario, o la introducción del software a un campo (como la
educación) en el que prácticamente no estaba incluido. El único interfaz intuitivo es el pezón, todo lo demás es aprendido. Lo que es cierto es que a los costes de formación del software libre no habrá que añadir costes de licencia por cada usuario, cpu, fase de la luna, o cualquier factor que se le ocurra cobrar a una empresa. Lo que es cierto es que los costes de soporte técnico son más bajos para programas cuyo código fuente es público, y no una caja negra que sólo puede ser observada y comprendida por empresas que hayan pasado por caja, y por tanto repercutan estos costes al usuario, si no se trata de soporte que es simplemente monopolístico, y dado por una única empresa.

5. La libertad y sus inconvenientes.

Hay algunos estudios interesantes sobre la estructura económica del software libre, y sobre el sistema de incentivos que genera en los programadores. En particular hay un estudio que recomiendo: Copyleft – the economics of Linux and other open source software, escrito por Mikko Mustonen. Este estudio muestra que en campos en que el coste de implementación es suficientemente bajo, el software libre se impone desde el punto de vista de eficiencia económica.

Al margen de estos estudios más o menos abstractos, es cierto que el software libre tiene una estructura de incentivos en cierto modo problemática, porque hay una sobrerepresentación de ciertos colectivos con la consiguiente infrarepresentación de otros.
Fundamentalmente, por la estructura de incentivos del software libre, los programadores, las grandes empresas, y últimamente los gobiernos, tienen una representación quizás excesiva, frente a las pymes y los usuarios domésticos.

Software libre y minorías.

Hay gente que dice que el software libre sólo puede servir a necesidades mayoritarias, que no funciona en nichos. Ya que en muchos casos los programadores actúan de forma voluntaria, o a cargo de grandes empresas, las necesidades de pequeños grupos de usuarios no forman parte del proceso. A este respecto he de decir que, si bien solía pensar que había cierta verdad en esto, cada vez pienso que es una crítica más desacertada.

Primero, porque la experiencia es que el software propietario tampoco sirve a las minorías. Pongamos el tema de la i18n del que ya hablé con anterioridad. Nosotros tenemos la suerte de hablar un idioma con cientos de millones de hablantes, pero si hablásemos algún otro idioma más pequeño encontraríamos mucho más difícil acceder al software propietario en él. El software libre no es perfecto en este sentido, si nadie se inmiscuye en la traducción es probable que nunca se realice, o que queden errores graves.
Pero es mucho más probable que una traducción llegue a buen puerto, entre otras cosas porque cualquier persona puede hacerla. Aquí está a mi juicio la
clave: el software libre sirve mal, o simplemente no sirve, a minorías que por cualquier circunstancia no pueden o quieren participar en el proceso de desarrollo. Creo que este es uno de los motivos por los que falta accesibilidad en gnu/linux, porque la comunidad de usuarios en general no puede o quiere participar.

Como siempre digo, yo no estoy por dar sermones, y soy el primero que reconozco que debería hacer un esfuerzo mayor por predicar con el ejemplo y colaborar más con estos proyectos, pero si no lo hacemos nosotros, es poco probable que otros lo vayan a hacer.

6. Soluciones. La dialéctica en acción: recuperando libertad a costa de gratuidad, o un inciso sobre esta contradicción.

Hace ya bastante tiempo, en noviembre de 2007, realicé una propuesta a la FSFE (Free Software Foundation Europe) al hilo de corregir algunos de los inconvenientes que vienen dados por la estructura de incentivos del software libre. La propuesta (en inglés) está en esta página, y no se trata de reproducirla aquí íntegramente, pero creo que merece la pena dar una idea sucinta de la misma.

En el caso del software comercial propietario, el usuario tiene una cierta influencia en tanto que puede comprar o no comprar el software, y una empresa guiada por la maximización de beneficios intentará satisfacer sus necesidades al menos de forma suficiente para que el usuario pague. En el mundo del software libre los recursos no son tanto dinero como tiempo y código, por lo que los que realmente tienen influencia son los programadores, y aquellas entidades suficientemente grandes como para contratarlos. Las pymes y los usuarios domésticos quedan fuera de este juego. La propuesta de FUSD consistiría en una fundación que agregase los pagos de los usuarios para hacer modificaciones determinadas al software libre, liberándolas después bajo la licencia correspondiente para uso de todos. Así mantendríamos la libertad del proyecto, a costa de la gratuidad para aquellos usuarios que quieren modificaciones específicas.

Cuando se me preguntó por qué razón un usuario pagaría por una modificación que va a liberarse bajo la GPL en el futuro, se me ocurrió que es el mismo motivo por el que un usuario paga por un programa propietario pudiéndolo piratear:
conveniencia, tiempo, seguridad. Además de que si un usuario necesita una modificación, el disponerse a pagar una pequeña cantidad a agregarse con las de los demás usuarios aumentaría la probabilidad de que la modificación se realice, y se realice pronto. La fundación se encargaría de agregar los pagos, pero los usuarios serían los que elegirían a los programadores a contratar, y las modificaciones que quieren que se realicen. Contratos modelo y una cláusula arbitral asegurarían la eficiencia y seguridad jurídica del sistema. Por desgracia o suerte, mi propuesta no tuvo una recepción demasiado positiva (ni demasiado negativa). Aunque hubo gente que pensó que era una buena idea, de la idea a la implementación va una gran distancia, especialmente con los requisitos necesarios para instituir una fundación. Sigo pensando al día de hoy que un mecanismo de este tipo sería muy positivo para el software libre, pero no parece que vaya a hacerse realidad en el futuro próximo.

7. Conclusión.

Espero que estas puntualizaciones sirvan de ayuda a aquellas personas que tuviesen alguna duda sobre el software libre, lo que es, lo que significa, y por qué motivos algunos pensamos que sí que importa. Quizás me haya extendido demasiado, pero el leer unas cuantas intervenciones al respecto (no sólo en esta lista) me llevó a la conclusión de que algo de información sobre el tema no vendría mal.

Acabo con la cita que inspiró a Stallman:

Si no tú, ¿quien? Si no ahora, ¿cuándo?

David Picón

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resuelve esta sencilla fórmula: *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.