Linux, GNU y la libertad
por Richard M. StallmanDado que en el artículo de Joe Barr se criticaban mis tratos con SIGLINUX, me gustaría aclarar lo que ocurrió realmente, y explicar mis motivos.
Cuando SIGLINUX me invitó a hablar, era un «Grupo de Usuarios de Linux»; es decir, un grupo de usuarios del sistema GNU/Linux que llama al sistema entero «Linux». Así que contesté educadamente que si querían que alguien del Proyecto GNU les diera una charla, deberían tratar correctamente al Proyecto GNU, y llamar al sistema «GNU/Linux». El sistema es una variante de GNU, y el Proyecto GNU es su principal desarrollador, así que las convenciones sociales nos permiten llamarlo por el nombre que elijamos. A menos que haya poderosas razones para hacer una excepción, normalmente rechazo dar charlas a organizaciones que no den a GNU el crédito que se merece de este modo. Respeto su libertad de expresión, pero yo también tengo la libertad para no darles una charla.
Subsecuentemente, Jeff Strunk de SIGLINUX intentó cambiar la política del grupo, y pidió a la FSF que incluyera a su grupo en nuestra página de grupos de usuarios de GNU/Linux. Nuestro webmaster le dijo que no les incluiríamos en la lista bajo el nombre de «SIGLINUX» porque el nombre implica que el grupo es sobre Linux. Strunk propuso cambiar el nombre a «SIGFREE», y nuestro webmaster estuvo de acuerdo en ello (el artículo de Barr dijo que él había rechazado esta propuesta). Sin embargo, el grupo al final decidió seguir llamándose «SIGLINUX».
En ese punto, el asunto llegó a mis manos de nuevo, y sugerí que consideraran otros nombres. Hay muchos nombres que podrían elegir que no llamarían al sistema «Linux», y confío en que encuentren uno que les guste. Así ha quedado el tema, por lo que yo sé.
¿Es verdad, como escribe Barr, que algunas personas ven estas acciones como una «aplicación de fuerza» comparable con el poder del monopolio de Microsoft? Probablemente sí. Declinar una invitación no es coerción, pero la gente que está determinada a creer que el sistema entero es «Linux» a veces desarrolla una visión increíblemente distorsionada. Para hacer que ese nombre parezca justificado, han de ver pequeños montoncitos de tierra como montañas, y montañas como pequeños montoncitos de tierra. Si usted puede ignorar los hechos y creer que Linus Torvalds desarrolló el sistema comenzándolo en 1991, o si puede olvidar sus principios habituales de justicia y creer que Torvalds debería tener todo el crédito incluso si no lo hizo, es un pequeño paso creer que le debo a usted una charla cuando me la pida.
Solamente considere esto: el Proyecto GNU empieza a desarrollar un sistema operativo, y años más tarde Linus Torvalds añade una pieza importante. El Proyecto GNU dice, «Por favor, dele a nuestro proyecto una mención igualitaria», pero Linus dice, «No les den una parte del reconocimiento; ¡llamen a todo el sistema únicamente en función de mi nombre!». Ahora imagínese la actitud mental de una persona que puede considerar estos hechos y acusar al Proyecto GNU de egoísmo. Son necesarios prejuicios muy fuertes para juzgarnos mal tan drásticamente.
Una persona que tiene prejuicios puede decir todo tipo de cosas injustas sobre el Proyecto GNU y pensar que están justificadas; sus compañeros le apoyarán, porque quieren el apoyo mutuo para mantener sus prejuicios. Se puede insultar a los disidentes; de este modo, si yo rechazo participar en una actividad bajo la rúbrica de «Linux»,pueden encontrarlo inexcusable, y ponerme por responsable de la animadversión que sientan después de ello. Cuando tanta gente quiere que llame al sistema «Linux», ¿cómo puedo yo, que meramente inicié su desarrollo, no acceder? Y denegarles a la fuerza una charla es hacerles infelices a la fuerza. ¡Eso es coerción, tan mala como la de Microsoft!
Ahora bien, podría preguntarse por qué simplemente no me olvido de este asunto y evito todo este malestar. Cuando SIGLINUX me invitó a hablar, podría haber dicho simplemente «No, lo siento» y el asunto se hubiera quedado ahí. ¿Por qué no hice eso? Estoy dispuesto a asumir el riesgo de ser insultado personalmente para tener una oportunidad de corregir el error que menosprecie los esfuerzos del Proyecto GNU.
Llamar «Linux» a esta variante del sistema GNU es apoyar a la gente que basa la elección de su software en las ventajas tecnológicas, sin importarles si respeta su libertad. Hay gente como Barr, que quieren que su software esté «libre de ideologías» y critica a cualquiera que diga que la libertad importa. Hay gente como Torvalds que presionará a nuestra comunidad para que use un programa que no es libre, y desafiará a cualquiera que se queje a ofrecerle un programa mejor (técnicamente) o callar. Hay gente que dice que las decisiones técnicas no deberían ser «politizadas» por consideraciones de las consecuencias sociales.
En la década de 1970, los usuarios de computadores perdieron las libertades de redistribuir libremente y modificar el software porque no valoraban su libertad. Los usuarios de computadores recobraron estas libertades en los 80 y en los 90 porque un grupo de idealistas, el Proyecto GNU, creían que la libertad era lo que hacía un programa mejor, y estaban dispuestos a trabajar por aquello en lo que creían.
Tenemos una libertad parcial en la actualidad, pero nuestra libertad no está asegurada. Está amenazada por el CBDTPA (antiguamente SSSCA), por el Grupo de Discusión de "Protección" de las Transmisiones (consulte www.eff.org) que propone prohibir que el software libre acceda a las transmisiones digitales de TV, mediante patentes de software (Europa está actualmente considerando si tener patentes de software), mediante los acuerdos de Microsoft de no enseñar importantes protocolos, y mediante cualquiera que nos tienta con usar un programa que no sea libre que es mejor (técnicamente) que los libres disponibles. Podemos perder nuestra libertad de nuevo al igual que la perdimos la primera vez, si no nos preocupamos lo suficiente en protegerla.
¿Nos preocuparemos los suficientes? Eso depende de muchas cosas; entre ellas, cuánta influencia tenga el Proyecto GNU, y cuánta influencia tenga Linus Torvalds. El proyecto GNU dice: «¡Valora tu libertad!». Joe Barr dice: «¡Elige entre programas libres y programas que no son libres basándote sólo en razones tecnológicas!». Si la gente reconoce a Torvalds como el principal desarrollador del sistema GNU/Linux, eso no es sólo falso, si no que también hace que su mensaje tenga mayor influencia, y lo que transmite ese mensaje es: «El software que no es libre está bien, yo mismo lo uso y lo desarrollo». Si se reconoce nuestro papel, se nos escuchará más, y el mensaje que nosotros daremos es: «Este sistema existe gracias a gente que se preocupa por la libertad. Únete a nosotros, valora tu libertad y juntos podremos conservarla». Puede consultar la historia en El Proyecto GNU.
Cuando pido a la gente que llamen al sistema GNU/Linux, algunos de ellos me responden con excusas tontas y argumentos que no tienen nada que ver. Pero probablemente no hayamos perdido nada, porque ya eran poco amistosos desde el principio. Al mismo tiempo, otras personas reconocen las razones que doy, y usan ese nombre. Al hacerlo de este modo, ayudan a que otra gente conozca por qué existe realmente el sistema GNU/Linux, y eso incrementa nuestra capacidad de extender la idea de que la libertad es un valor importante.
Esa es la razón por la que insisto en darme de cabezazos contra los prejuicios, las calumnias y las desdichas. Éstas hieren mis sentimientos, pero cuando tengo éxito, este esfuerzo ayuda a la campaña por la libertad del Proyecto GNU.
Dado que esto apareció en el contexto de Linux (el núcleo) y Bitkeeper, el sistema de control de versiones que no es libre, que usa ahora Linux Torvalds; también me gustaría dirigirme a esa cuestión.
El asunto de Bitkeeper
(Vea una actualización al final.)
El uso de Bitkeeper para las fuentes de Linux tiene un efecto grave sobre la comunidad del software libre, porque cualquiera que quiera mantenerse al día en los parches de Linux solo lo puede hacer instalándose ese programa privativo. Debe de haber docenas o incluso cientos de hackers del núcleo que han hecho esto. Muchos de ellos se están convenciendo gradualmente de que está bien usar software que no es libre, para evitar un sentimiento de disonancia cognitiva sobre la presencia de Bitkeeper en sus máquinas. ¿Qué puede hacerse al respecto?
Una solución es montar otro repositorio para las fuentes de Linux, usando CVS u otro sistema de control de versiones libre, y prepararlo para que se carguen en él las nuevas versiones automáticamente. Éste podría usar Bitkeeper para acceder a las últimas revisiones, después instalar las nuevas versiones en CVS. Ése proceso de actualización podría correr automática y frecuentemente.
La FSF no puede hacer esto, porque no podemos instalar Bitkeeper en nuestras máquinas. Actualmente no tenemos en ellas sistemas o aplicaciones que no sean libres, y nuestros principios dicen que debemos mantenerlo así. Este repositorio debería llevarlo alguien que esté dispuesto a tener Bitkeeper en su máquina, a menos que alguien pueda encontrar o desarrollar un modo de hacerlo usando software libre.
Las mismas fuentes de Linux tienen un problema incluso más serio con el software que no es libre: de hecho contienen software de este tipo. Bastantes controladores de dispositivos tienen series de números que representan programas firmware para ser instalados en el dispositivo. Estos programas no son software libre. Unos pocos números para ser depositados en registros de un dispositivo son una cosa; un programa relevante en binario es otra completamente distinta.
La presencia de estos programas únicamente en binario dentro de los archivos de «código» de Linux crea un problema secundario: saca a la luz si los binarios de Linux pueden ser ni siquiera legalmente distribuidos. La GPL requiere «código fuente completo que corresponda», y una secuencia de enteros no es un código de este tipo.Según esto, añadir este tipo de binarios a la fuente de Linux viola laGPL.
Los desarrolladores de Linux tienen un plan para mover estos programas de firmware a archivos separados; llevará unos años madurarlo, pero cuando esté completo solucionará el problema secundario; podríamos hacer una versión «Linux libre» que no tenga ni siquiera los archivos de firmware que no son libres. Eso por sí mismo no servirá de mucho si la mayoría de la gente usa la versión de Linux «oficial», que no es libre. Esto podría ocurrir probablemente, porque en muchas plataformas la versión libre no podrá ejecutarse sin el firmware que no es libre. El proyecto «Linux libre» tendrá que deducir lo que hace el firmware y escribir el código fuente para ello, quizás en lenguaje ensamblador para cualquiera que sea el procesador empotrado en el que se ejecute. Es una tarea abrumadora. Lo sería menos si lo hubiéramos hecho poco a poco estos últimos años, en lugar de dejar que se amontonase. Para conseguir gente que haga este trabajo, tendremos que superar la idea, promulgada por varios desarrolladores de Linux, de que esta tarea no es necesaria.
Linux, el núcleo, es a menudo considerado como el símbolo del software libre, sin embargo su versión actual no es totalmente libre. ¿Cómo ocurrió esto? Este problema, como la decisión de usar Bitkeeper, refleja la actitud del desarrollador original de Linux, una persona que considera que lo «técnicamente mejor» es más importante que la libertad.
Valore su libertad, o la perderá, nos enseña la historia. «No nos molestéis con política», responden aquellosque no quieren aprender.
Actualización: Desde 2005 BitKeeper ya no se usa para controlar el código fuente del núcleo Linux; lea el artículo «Thank You, Larry McVoy». El código fuente de Linux todavía contiene firmware binario que no es libre. No obstante, en 2008, se mantiene una versión libre de Linux para que se pueda usar en distribuciones GNU/Linux.