Fundamentos del Software Libre

Los usuarios de ordenadores están acostumbrados a pensar que un programa sólo es una herramienta y únicamente piensan en la comodidad de su uso, si es capaz, si resulta eficiente, etc., pero ignorando los valores sociales y éticos. De este modo los usuarios buscan un programa, seguramente, sólo guiados por los valores prácticos, pero haciendo caso omiso de la cuestión clave, la más importante de todas: ¿Respeta este programa mi libertad? Actuando así no son conscientes de que exista la cuestión de libertad. Sin embargo, el software libre es el software que respeta la libertad del usuario. La diferencia entre software libre y software privativo no es una cuestión técnica, no tiene nada que ver con la carrera que haga el programa, sino con el sistema social de su distribución y uso.

Un programa es libre si el usuario tiene cuatro libertades esenciales:

  • La libertad 0 es la libertad de ejecutar el programa como queráis.
  • La libertad 1 es la posibilidad de estudiar el código fuente del programa y cambiarlo para que el programa haga lo que queráis.
  • La libertad 2 es la libertad de ayudar a vuestro prójimo, es decir la libertad de distribuir copias exactas del programa cuando queráis.
  • La libertad 3 es la libertad de contribuir a vuestra comunidad, es decir, la libertad de distribuir copias de vuestras versiones cambiadas cuando queráis.

Con estas cuatro libertades los usuarios pueden elegir y tienen el control de su propia computación. El sistema social de la distribución y uso del programa es justo y el programa, por lo menos en cuanto a su distribución y uso, es ético. Pero si falta una de estas cuatro libertades, entonces el programa es privativo: priva de libertad a sus usuarios. Un programa privativo mantiene a los usuarios en un estado de división e impotencia. División porque cada uno tiene prohibido compartirlo con los demás. E impotencia porque los usuarios no tienen el código fuente y no pueden cambiar nada, ni siquiera pueden averiguar de manera independiente qué hace de verdad este programa. Entonces el sistema social de su distribución y uso es injusto. Por lo tanto, un programa privativo no se debe usar; no es una contribución al desarrollo social, sino un ataque a la gente que potencialmente pueda usarlo.

¿Pero por qué estas cuatro libertades son esenciales? La libertad número 2 es esencial para poder vivir una vida ética dentro de una comunidad como buen miembro de la comunidad, porque si se usa un programa sin la libertad número 2 se está en el peligro de caer en un dilema moral. En cualquier momento, cuando un amigo os pida una copia del programa, deberéis elegir entre dos males. Un mal será la copia y la consiguiente ruptura de la licencia del programa. El otro mal será negarle la copia por cumplir con la licencia del programa. En este dilema se debe elegir el menor mal posible: darle una copia y romper la licencia del programa. Ese mal es el menor, pues si es inevitable
perjudicar a alguien, es mejor que se perjudique alguien culpable. Es de suponer que vuestro amigo es un buen amigo, un miembro de la comunidad, y merece vuestra colaboración, mientras que en el desarrollador del programa privativo habrá atacado deliberadamente la solidaridad social de tu comunidad. Entonces es mejor perjudicarle a él que a vuestro amigo. De todos modos, incluso el menor mal tampoco es bueno; nunca es bueno hacer un acuerdo y después romperlo.

Hay acuerdos esencialmente malévolos que es mejor romper que cumplir, pero esto no llega a ser bueno. Y si le dáis una copia a vuestro amigo, éste tendrá una copia no autorizada de un programa privativo, lo cual es bastante malo; de hecho, casi tan malo como una copia autorizada. La única diferencia ética es que la copia autorizada premia al culpable, lo cual es aún peor, si cabe, pero salvo ésta diferencia las dos copias son igualmente injustas e inmorales.

Por lo tanto, enfocar este dilema de forma adecuada requiere resolver en este dilema. ¿Y cómo hacerlo? Hay dos maneras posibles de solucionarlo. La primera es no tener amigos; ésta es la manera sugerida por los desarrolladores de software privativo. La segunda es rechazar el software privativo. Si no tenéis una copia no estáis en peligro de caer en el dilema. Ésta es mi solución: no acepto programas privativos. Si alguien me ofrece una copia de un programa privativo, por atractivo que sea, bajo la condición de prometer no compartirlo con ustedes, lo rechazo; digo que mi conciencia no me permite estar de acuerdo con esta condición y no la acepto, que es lo que todos deben hacer, y sobre todo lo que esta universidad debe hacer.

Es esencial, además, para tener el control de vuestra propia computación. Hay programas privativos que incluso restringen la ejecución de las copias autorizadas. Obviamente, si esto sucede no se tiene el control de la computación, por lo tanto, la libertad 0 es esencial. Pero no basta porque el desarrollador tiene el poder. La única diferencia es que tiene que ejercitar su poder escribiendo el código en lugar de hacerlo con la licencia del programa. Por ello se necesita también la libertad 1, la libertad de estudiar el código fuente del programa y de cambiarlo para que haga lo que uno quiera, así decidís vosotros y no el desarrollador por vosotros. Si no se tiene esta libertad 1, ni siquiera se puede averiguar qué hace este programa. Muchos programas privativos contienen funcionalidades malévolas, dirigidas a espiar al usuario, limitarlo e incluso atacarlo. En este sentido, las funcionalidades de vigilancia son muy comunes.

Por ejemplo, hay un programa privativo, cuyo nombre quizás conozcáis, que vigila al usuario: se llama Microsoft Windows. Cuando el usuario de Windows usa la funcionalidad del menú para buscar una palabra en sus propios archivos, Windows envía a Microsoft un mensaje diciendo qué palabra se ha buscado. Es una funcionalidad de vigilancia, pero hay otra: cuando Windows XP pide una actualización, envía a Microsoft una lista de todos los programas instalados en la máquina. Estas funcionalidades de vigilancia tal vez no son las únicas porque Microsoft nunca anunció estas dos; se descubrieron con la investigación y quizás otras funcionalidades de vigilancia quedan por descubrirse. Pero no sólo Windows lo hace, muchos programas que permiten mirar archivos o sitios lo hacen, como Windows Media Player que delata todos los sitios que el usuario mira. También hacen vigilancia.

Pero hay algo peor que la vigilancia: la funcionalidad de no funcionar cuando el programa dice “no quiero mostrarte este fichero en tu máquina”, “no quiero permitirte copiar una parte de este fichero” o “no quiero imprimir este fichero por ti” porque no te amo. Esta funcionalidad se llama DRM, es decir, Gestión Digital de Restricciones. Es la funcionalidad deliberada de no funcionar; el programa sirve a otro antes que a ti. Y también hay funcionalidades para atacar al usuario: las puertas traseras. Un programa privativo cuyo nombre quizá conozcáis contiene una puerta trasera: se llama Microsoft Windows. Cuando pide una actualización, Microsoft conoce, más o menos, la identidad del usuario y puede entregarle una actualización especifica para él, es decir Microsoft puede tomar el control absoluto de su ordenador y el usuario casi no tiene recursos. Esta puerta trasera conocida la podemos deducir de los hechos conocidos.

¿Hay otras? Hace unos años me dijeron que en la India habían arrestado a algunos desarrolladores de Windows acusados también de trabajar para Al-Qaeda intentando introducir otra puerta trasera que Microsoft no debería conocer. Según parece, ese intento fracasó; pudo haber otros que lo lograron, pero no lo podemos saber. En 1999 se descubrió que Microsoft había introducido en un programa de servidor una puerta trasera para el uso de otra organización terrorista, aún más violenta que Al-Qaeda: los Estados Unidos.

Todo esto nos muestra cómo nunca se puede confiar en un programa privativo. Cada programa privativo exige a sus usuarios una fe ciega que no puede justificar. Si bien hay algunos programas privativos en los que hemos descubierto funcionalidades malévolas, hay otros en los que no; quizás no las tienen, quizás sí. Nunca podemos estar seguros de si contienen funcionalidades malévolas si no podemos estudiar y compilar el código fuente.

Supongo que hay desarrolladores de software privativo que no introducen funcionalidades malévolas. No podemos saber quiénes son, pero los hay. Todavía son humanos y, por lo tanto, cometen errores y su código contiene errores. Así, el usuario de un programa sin la libertad 1, la libertad de estudiar y cambiar el código fuente, es tan impotente ante un error accidental como ante una funcionalidad malévola deliberada. Si usáis un programa sin la libertad 1, sois prisioneros de vuestro software.

Nosotros, los desarrolladores de software libre, también somos humanos, también cometemos errores y nuestro código también contiene errores. La diferencia es que si encontráis errores en nuestro código podéis corregirlos. De hecho, podéis corregir cualquier cosa del código que no os guste. No podemos ser perfectos, pero sí podemos respetar vuestra libertad y aquí está la diferencia.

Conviene observar que la nueva versión de Windows, llamada Windows Vista, tiene como misión principal avanzar en la restricción del usuario, tiene muchos sistemas nuevos para limitar al usuario y también opciones nuevas para atacarlo. Por ejemplo, Microsoft tiene la capacidad de enviar un mensaje, en todas partes por la red de manera que cada computadora que reciba este mensaje dejará de funcionar con algún dispositivo físico. Entonces todos los que tienen este modelo descubrirán que ya no funciona, que no hay manera de corregirlo, y tendrán que comprar otro dispositivo. ¿Y por qué quieren hacerlo? El propósito de estos dispositivos es restringir al usuario, concretamente para evitar que el usuario pueda copiar obras. Este es el propósito de todo: diseñan toda la informática de manera que puedan limitarnos. Y cuando alguien ha descubierto una manera de usar un dispositivo para copiar la intención de Microsoft, responden ordenando que todos estos dispositivos no funcionen más para nadie. Tenemos un sitio llamado BadVista.org que organiza una campaña que tiene como objetivo no adoptar Windows Vista. Seguir con una versión antigua de Windows no es vivir en libertad, pero al menos no empeora las cosas.

La libertad 1 es esencial, pero no basta porque es la libertad personal de estudiar y cambiar el código fuente, no basta porque millones de usuarios de ordenadores no saben programar, no son capaces de ejecutar directamente esta libertad. Pero ni siquiera para programadores como yo esta libertad es suficiente porque hay demasiado software, incluso software libre. Nadie puede estudiar el código fuente de todos los programas que usa y hacer personalmente todos los cambios que desea; es una carga excesiva. Por lo tanto, para tener el control completo de nuestra propia computación debemos cooperar. Y para ello necesitamos la libertad 3, la libertad de distribuir y publicar copias de tus versiones cambiadas cuando quieras. Con esta libertad podemos colaborar, ajustando el software a nuestras necesidades y a nuestros deseos.

Si hay un millón de usuarios de un programa libre que desean algún cambio es de suponer que habrá entre ellos unos miles que saben programar y algún día algunos entre ellos harán este cambio y publicarán su versión cambiada. Luego todo el millón podrá adoptar esta versión y tendrá el cambio que habrán deseado sin tener que escribirlo por sí mismos. Sólo unos pocos han de escribirlo y todo el resto puede tenerlo. Por lo tanto, si muchos desean que el software libre progrese en esta dirección, muchos harán cambios en esta dirección y habrá tal progreso. Y si nadie quiere el progreso en esa dirección, sencillamente no se hará porque nadie tiene el poder de imponer cambios a los demás si no les gustan. Ello nos muestra que las cuatro libertades conjuntas logran que un programa libre sea desarrollado democráticamente bajo el control de sus usuarios.

En cambio, en el software privativo sí hay imposiciones. El desarrollador tiene todo el poder y puede imponer cualquier cosa a los usuarios porque la única opción de los usuarios es escapar completamente. El programa privativo se desarrolla bajo el control del desarrollador, es como una dictadura o un dominio feudal que tiene su señor; no es una sociedad de libertad. Algunos piensan que las libertades 1 y 3 no tienen valor para los usuarios normales, pero no es verdad. Es verdad que los usuarios normales que no saben programar sólo pueden ejercitar directamente las libertades 0 y 2, la libertad de ejecutar el programa como quieran y de distribuir copias exactas. Ambas no exigen programar, por lo tanto quienes no saben programar todavía pueden ejercer estas libertades. Las libertades 1 y 3 de gestionar y cambiar el código fuente y distribuir la versión cambiada sí implica saber programar. Cada uno puede ejercitar directamente estas libertades hasta el punto que sepa programar, pero cuando los programadores lo hacen y publican sus versiones cambiadas todo el mundo puede instalarlas, por lo tanto los beneficios llegan a todos. Es como la libertad de la prensa: no todo el mundo sabe escribir artículos de la calidad necesaria para publicarse y no todo el mundo tiene ganas, pero es igualmente muy importante la libertad de prensa para que toda opinión pueda ser publicada por alguien; si yo no lo publico existe la posibilidad que otro lo haga. Entonces se podría argumentar que esa libertad no tiene importancia por ser tan difícil de ejercer y porque la mayoría no tiene la capacidad de ejercerla. Obviamente es un error, y el mismo error se ve cuando este mismo argumento se aplica a las libertades 1 y 3.

Así pues, se da la circunstancia de que hay empresas muy grandes acostumbradas a ejercer el poder social a través del software propietario y nos acusan de que somos comunistas, a pesar de que el software libre ha existido siempre en el marco de una sociedad capitalista. Sin embargo, hay una diferencia entre el capitalismo que llamaríamos normal y el capitalismo extremo que hoy en día presenciamos. El capitalismo normal es de la opinión de que dentro de una sociedad de derechos uno puede desarrollar su negocio. El capitalismo extremo, por su parte, opina que es el negocio lo que debe primar por encima de todo, que el negocio tiene derecho a ordenar la sociedad como quiera y que todo debe ser sacrificado por la ganancia. Ninguna libertad tiene importancia suficiente para supeditarse a la ganancia de las grandes empresas. Yo estoy en contra de este capitalismo extremo y apoyo sin embargo el capitalismo normal. Soy de la opinión de que las empresas no deben detentar todo el poder en la sociedad porque este hecho va contra la democracia.

El principal reto político de nuestra época es quitar poder político a las empresas. Son nuestro adversario, dicen que no respetamos la propiedad privada, pero se trata de todo lo contrario. Estas empresas afirman que vuestra copia no es de vuestra propiedad, que todas las copias le pertenecen, mientras que con el software libre vuestra copia sí que es de vuestra propiedad y podéis hacer con ella todas las cosas socialmente útiles que consideres oportuno. Las empresas de estas características afirman que no respetamos el mercado libre, pero vuelve a tratarse de la situación contraria ya que el software libre comporta un mercado libre para todos los tipos de soporte, mientras que en el caso del software propietario normalmente éste provoca y conlleva una situación de monopolio. Únicamente la empresa productora del programa tiene el código fuente, únicamente ella puede realizar cualquier tipo de cambio. El usuario que desee alguna modificación tiene que rogarle a la empresa que produce y desarrolla el software: “¡Oh, productor omnipotente haga este cambio por mí!” Puede sonar gracioso, pero realmente es muy triste. A veces la empresa responde a los usuarios diciendo: “Páguenos por escuchar su problema”. Si el usuario accede, la empresa le responde: “Muchas gracias. En seis meses tendrá una actualización. Compre la actualización y ya comprobará si hemos corregido su problema y verá además qué problemas nuevos le proporcionaremos.”

Con el software libre, sin embargo, quien disponga de una copia del programa puede estudiar el código fuente, hacerse experto en este código y ofrecer su servicio técnico. Por consiguiente, los usuarios que aprecian una buena ayuda y desean un mejor servicio por su dinero deben exigir el software libre y deben hacerlo sólo por este motivo: para poder conseguir un servicio y apoyo técnicos a través de un mercado libre con competencia.

Normalmente afirmamos que no hay monopolio cuando es posible una elección entre productos, sin embargo cuando la elección se produce entre programas propietarios sí hay monopolio. El usuario que elige cualquiera de estos programas propietarios, cae automáticamente en el monopolio de la asistencia técnica, ya sea de uno o de otro; sólo tiene elección entre monopolios. La única manera de escapar del monopolio es escapar del software propietario, y ésta es la meta del movimiento a favor del software libre. Pero para empezar tuvimos que construir un lugar a donde pudiéramos escapar, porque hace 24 años, cuando lancé este movimiento, no había ningún lugar, ninguna tierra libre en el ciberespacio. No había posibilidad de usar ordenadores en libertad porque los ordenadores no funcionan sin el sistema operativo y en 1983 todos los sistemas operativos para los ordenadores de la época eran sistemas propietarios. Era imposible comprar y usar un ordenador en libertad. Decidí cambiar algo, quería vivir en libertad cuando usara el ordenador. ¿Pero cómo hacerlo siendo una persona sin influencia política ni demasiada fama? Teniendo además una idea completamente inusual, no pensaba poder convencer a los gobiernos que cambiaran sus políticas ni a las empresas que cambiaran sus prácticas. Sin embargo, sabía hacer muy bien una cosa: desarrollar sistemas operativos. Por lo tanto reconocí la posibilidad de corregir este problema social con un trabajo técnico de desarrollo.

Si desarrollaba un sistema operativo, como autor, podría liberarlo y luego todo el mundo podría usar sus ordenadores en libertad. Entonces era consciente de un problema social creciente y que la mayoría no reconocía como tal. Tenía la capacidad de intentar corregirlo y, si no lo hacía yo, tal vez nadie más lo haría. Por lo tanto, las circunstancias me eligieron con el deber de hacer este trabajo. En este caso no fue cuestión de nadar, sino de escribir el código. Sentí que era mi deber, decidí desarrollar un sistema operativo libre o morir intentándolo (de vejez, es de suponer) porque en aquella época el movimiento del software libre no tenía enemigos activos. Muchos no estaban de acuerdo, pero sólo se reían un poco y muchos se marcharon. Por lo tanto, el obstáculo no era la oposición; lo que tenía frente a mí eran un montón de programas que desarrollar para obtener un sistema operativo. Y no podía saber al comienzo si algún día llegaríamos a tener un sistema operativo libre, pero cuando se supo que se trataba de luchar por la libertad había que comenzar… No se debe esperar a que la victoria esté a la vista porque sería esperar demasiado y perder con ello la mayoría de las oportunidades.

Entonces, sin poder vislumbrar el futuro, decidí hacerlo lo mejor posible. Decidí crear un sistema compatible con Unix para que los muchos usuarios de este sistema pudieran fácilmente migrar, y para que fuera portátil, es decir, capaz de usarse en varios tipos de ordenadores. Esta decisión determinó casi todas las decisiones iniciales técnicas y anoté el nombre “GNU”, es decir, “ñu” en castellano, que dicen es más fácil de pronunciar. En inglés quiere decir “GNU no es Unix”. Es un acrónimo recursivo, una manera graciosa de reconocer la contribución técnica de Unix, de sus ideas, pero al mismo tiempo afirmar que el punto más importante consiste en afirmar que no es Unix, porque Unix era un sistema propietario y sigue siéndolo; Unix no se puede usar en libertad. Para que este sistema se pudiera usar en libertad debía ser completamente diferente, debía desarrollarse de nuevo desde cero. Y eso hicimos, comenzando en enero de 1984. Mi primera decisión en este sentido fue reclutar a otros programadores para colaborar en el desarrollo del sistema. No era necesario que fuera yo el único programador; sería mucho mejor acabarlo lo antes posible con muchas personas trabajando cada una en una parte del sistema.

Durante los años 80, desarrollé yo mismo algunos componentes importantes y además recluté a otros colaboradores que desarrollaron sus componentes. En el año 1990 teníamos casi todo el sistema, pero faltaba un componente esencial, el núcleo. En 1991 un estudiante finlandés, Linus Torvalds, desarrolló un núcleo. Al comienzo este núcleo Linux no era libre, pero en 1992 él lo liberó adoptando la licencia pública general de GNU o GPR, que es la licencia que había escrito yo para usarla en los componentes de GNU. Es una de las licencias libres, pero hay muchas más. ¿Qué quiere decir una licencia libre? ¿Por qué licencia? Según la ley actual de derechos de autor, todo programa es una obra literaria. Únicamente por una declaración del autor o del poseedor de los derechos autorizando las cuatro libertades, el programa o sistema se convierte en una licencia libre, pero es mejor no desarrollar una licencia nueva porque la cantidad de licencias que ya tenemos y resulta incómoda, sería mejor no tener más licencias diferentes. En principio, cada uno de los programas libres utiliza esta licencia. Cuando Linux se publicó bajo esta licencia también se convirtió en libre. Y la combinación del sistema casi completo GNU y del núcleo Linux dio a luz por primera vez un sistema completo y libre.

El sistema GNU con Linux, que cuenta hoy en día con millones de usuarios. Pero lo fundamental no es que la gente use este sistema. De hecho, hay otro sistema libre, el sistema BSD, pero la elección entre programas libres no es una cuestión importante o ética. Se puede decidir según la comodidad, pero la elección entre software libre y software propietario sí que es un asunto ético. El software propietario es un problema social que no hemos corregido y sobre todo las escuelas deben usar y enseñar solamente el software libre. Hay cuatro razones para ello. La más obvia y superficial es para economizar: las escuelas no tienen suficiente dinero en ningún país y no deben desperdiciar su dinero pagando licencias de software propietario, pero esto resulta trivial y algunas empresas de software propietario suelen eliminar dicha razón regalando, o casi, copias a las escuelas. ¿Por qué motivo lo hacen? ¿Por su idealista deseo de fomentar la educación? No lo creo. Su deseo es convertir a las escuelas en instrumentos con los que imponer a los alumnos la dependencia permanente a su software propietario. Al terminar sus estudios ya no recibirán ofertas de copias gratuitas y menos aún las empresas en las cuales trabajen. Entonces, si la escuela crea y genera una dependencia que puede ser de por vida, puede al mismo tiempo imponer una dependencia a toda la sociedad en su conjunto.

Es su táctica. Es como regalar drogas a las escuelas para que las inyecten a sus alumnos, de este modo se gradúan bajo la dependencia de la droga. La primera dosis es gratis, por esto regalan copias gratuitas de su software no libre. Pero la escuela tiene una misión social: formar la próxima generación como buenos ciudadanos de una sociedad capaz, libre e independiente, es decir, formar a los alumnos como usuarios de software libre. Cuando esta gran misión se interpreta en el campo informático, es decir enseñar el software libre y no el software propietario, es obligado rechazar estas ofertas de programas de dependencia.

Pero yendo un poco más allá en el asunto de la educación, hay una razón que se aplica a todos los alumnos que es la educación moral o la educación para la ciudadanía, es decir, la enseñanza del espíritu de buena voluntad, de cooperación, de solidaridad social, el hábito de ayudar a tu prójimo. Para eso cada clase debe tener una regla: si un alumno trae un programa a clase no debe guardarlo sólo para él, sino que debe compartirlo con el resto de la clase. Y la escuela debe seguir esta misma regla, debe dar buen ejemplo, debe únicamente traer software libre a la clase. Todas las escuelas de todos los niveles deben observar esta regla. Esta universidad donde ahora nos encontramos debe también tener dicha regla, debe únicamente enseñar software libre, el único software compatible con la ciudadanía. El software propietario es un sistema de colonización electrónica, no ejercido por unos países, sino por unas empresas. Colonizan los ordenadores de todo el mundo excepto los nuestros, que los rechazamos. Y practican, como otros sistemas coloniales, la táctica de dividir para dominar. Compran el apoyo de las élites locales como, por ejemplo, los estados y las instituciones de influencia como escuelas y universidades. Intentan comprar todas las élites para éstas colaboren así en la sumisión de los demás y es nuestro deber rechazar que se nos compre con esta finalidad.

19stall1

Anuncios
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: