Por qué no se debe limitar la libertad de ejecutar un programa
por Richard StallmanPor «software libre» se entiende aquel software que es controlado por los usuarios, y no al revés. Específicamente, significa que el software va acompañado de las cuatro libertades esenciales que los usuarios de software merecen. A la cabeza de la lista está la libertad 0, que es la libertad de ejecutar el programa como se desee, para hacer lo que se desee.
Algunos programadores proponen poner restricciones de uso en las licencias de software para prohibir que el programa se utilice para ciertos fines, pero ese sería un camino desastroso. Este artículo explica por qué no se debe limitar la libertad 0. Las cláusulas para limitar el uso de un programa alcanzarían solo un mínimo de los objetivos que persiguen, mientras podrían arruinar la comunidad del software libre.
En primer lugar, seamos claros acerca de lo que significa la libertad 0. Significa que los términos de distribución del software no restringen el uso que se le dé. Esto no exime de las leyes. Por ejemplo, el fraude es un delito según la legislación de los Estados Unidos de América, y creo que es una ley correcta y apropiada. Diga lo que diga la licencia de software libre, usar un programa libre para cometer un fraude no protegerá a nadie ante una acción judicial.
Poner en la licencia una cláusula contra el fraude sería superfluo en un país donde el fraude es un delito. Pero ¿por qué no una cláusula que prohíba el uso del programa para la tortura, una práctica que los Estados frecuentemente justifican cuando quienes la llevan a cabo son las «fuerzas de seguridad»?
Una cláusula en contra de la tortura no funcionaría, porque la aplicación de cualquier licencia de software libre se hace a través del Estado. Un Estado que quiera practicar la tortura ignorará la licencia. Cuando las víctimas de torturas por parte de EE. UU. intentan demandar al gobierno, los tribunales desestiman los casos por considerar que su trato es un secreto de seguridad nacional. Si un desarrollador de software intentara demandar al gobierno de EE. UU. por usar un programa para la tortura en contra de las condiciones de la licencia, tambien sería desestimado. En general, los Estados son hábiles en inventar excusas legales para cualquier cosa terrible que quieran hacer. Las empresas con poderosos lobbies también pueden hacerlo.
¿Y si la cláusula fuera en contra de una actividad privada especializada? Por ejemplo, PETA propuso una licencia que prohíba el uso del software para causar dolor a animales con columna vertebral. O podría ser una cláusula contra el uso de un determinado programa para dibujar o publicar imágenes de Mahoma. O contra su uso en experimentos con células madre embrionarias. O en contra del uso para hacer copias no autorizadas de grabaciones musicales.
No está claro si sería posible hacer cumplir esas cláusulas. Las licencias de software libre se basan en la ley del copyright, y tratar de imponer condiciones de uso de esa manera es forzar el alcance de lo que permite esa ley, extenderlo peligrosamente. ¿Le gustariá a usted que los libros llevaran condiciones sobre la manera en que se puede utilizar la información que contienen?
¿Y si tales condiciones se pudieran hacer cumplir por vía legal, sería eso bueno?
El hecho es que la gente tiene ideas éticas muy diferentes sobre las actividades que se pueden realizar usando software. Personalmente pienso que esas cuatro actividades son legítimas y no deberían ser prohibidas. En particular, apoyo el uso de software para experimentos médicos en animales y para el procesado de carne. Defiendo los derechos humanos de los activistas por los derechos de los animales pero no estoy de acuerdo con ellos; no me gustaría que PETA alcanzara su objetivo de restringir el uso del software.
Puesto que no soy pacifista, tampoco estaría de acuerdo con una disposición de «uso no militar». Condeno las guerras de agresión pero no condeno la defensa propia. De hecho, he apoyado iniciativas para convencer a varios ejércitos de cambiar a software libre, ya que ellos pueden comprobar la ausencia de puertas traseras y funcionalidades de vigilancia que podrían poner en peligro la seguridad nacional.
Puesto que no estoy en contra de los negocios en general, me opondría a una restricción en contra del uso comercial. Un sistema que pudiéramos usar solo para el entretenimiento, pasatiempos y la escuela, excluiría la mayor parte de las cosas que hacemos con el ordenador.
He expuesto algunos de mis puntos de vista sobre otros temas políticos, acerca de actividades que son o no son injustas. Pueden existir puntos de vista diferentes, y esa es precisamente la cuestión. Si aceptáramos programas con restricciones de uso como parte de un sistema operativo libre como GNU, la gente se encontraría con muchas restricciones de uso diferentes. Habría programas cuyo uso en el procesamiento de carne estaría prohibido, programas prohibidos solo para cerdos o solo para vacas, y programas limitados a alimentos kosher. Alguien que odie las espinacas podría licenciar un programa de forma que permitiera su uso para procesar cualquier vegetal excepto las espinacas, mientras que un programa de un fan de Popeye podría permitir su uso solo para espinacas. Habría programas de música permitidos solo para la música rap, y otros solo para la música clásica.
El resultado sería un sistema con el que no se podría contar para cualquier propósito. Para cada tarea que se quisiera hacer habría que revisar un montón de licencias para ver cuáles son las partes del sistema que no se pueden utilizar para realizar esa tarea. Y no solo para los componente que utiliza expresamente, sino también para los cientos de componentes que invoca, con los que enlaza o con los que se comunica.
¿Cómo responderían a esto los usuarios? Creo que la mayoría usaría sistemas propietarios. Permitir cualquier tipo de restricción de uso en el software libre principalmente conduciría a los usuarios hacia el software que no es libre. Intentar evitar que los usuarios hagan algo a través de restricciones de uso en el software libre es tan ineficaz como empujar un objeto con un largo espagueti cocido. Como uno dijo, esto es «alguien con un martillo muy pequeño que ve todo problema como un clavo, y ni siquiera se da cuenta de que el clavo es demasiado grande para el martillo».
Es peor que ineficaz, también está mal, porque los desarrolladores de software no deben ejercer tal poder sobre lo que hacen los usuarios. Imagine que se vendan bolígrafos con cláusulas que determinen lo que se puede escribir con ellos; sería repugnante y no debemos tolerarlo. Igualmente para el software en general. Si se fabrica algo que normalmente es útil, como un bolígrafo, la gente lo usará para escribir todo tipo de cosas, incluso cosas horribles, tales como órdenes de torturar a un disidente; pero usted no debe tener el poder de controlar lo que hacen las personas con sus bolígrafos. Es lo mismo para un editor de texto, un compilador o un kernel.
Usted sí tiene la oportunidad de determinar para qué se puede usar su software: cuando decide qué funcionalidad implementar. Puede escribir programas que se presten principalmente a usos que usted considere positivos, y no tiene ninguna obligación de incluir funcionalidades que podrían prestarse particularmente para actividades que desaprueba.
La conclusión está clara: un programa no debe restringir el tipo de tareas que los usuarios pueden realizar con él. La libertad 0 debe ser completa. Tenemos que acabar con la tortura, pero no podemos hacerlo a través de las licencias de software. La verdadera función de las licencias de software es establecer y proteger la libertad de los usuarios.