Stallman. ¿Alguien me puede dejar un reloj? [Risas del público] Gracias. Bien, quiero dar mi agradecimiento a Microsoft por darme la oportunidad de estar en este estrado. [Risas del público]. Durante las últimas semanas, me he sentido como un escritor cuyo libro ha sido accidentalmente prohibido en alguna parte.
2∞ [Risas del público]. Excepto que todos los artículos sobre el mismo están dando el nombre del autor equivocado, porque Microsoft describe la GNU GPL como una licencia
open source y la mayoría de las coberturas periodísticas han hecho lo mismo. La mayoría de la gente, por supuesto de forma inocente, no se da cuenta de que nuestro trabajo no tiene nada que ver con el
open source, de que en realidad hicimos la mayor parte de él antes de que la gente ni siquiera acuñara el término
open source.
Nosotros estamos en el movimiento del software libre y voy a hablar sobre qué es el movimiento del software libre, sobre qué significa, sobre qué hemos hecho, y, dado que esto en parte está patrocinado por una escuela empresarial, diré algunas cosas más de lo que normalmente suelo decir sobre cómo se relaciona el software libre con el ámbito empresarial y con otras áreas de la vida social.
Bien, algunos de vosotros quizás no escriba nunca programas informáticos, pero tal vez sabéis cocinar. Y si sabéis cocinar, a no ser que realmente seáis unos genios, probablemente uséis recetas. Y si usáis recetas, probablemente habréis tenido la experiencia de obtener la copia de una receta a través de un amigo que la comparte. Y probablemente también hayáis tenido la experiencia —a no ser que seáis unos auténticos principiantes— de cambiar la receta. Una receta dice ciertas cosas, pero no tienes qué hacer exactamente lo que dice. Puedes dejar fuera algunos ingredientes. Añadir algunos champiñones, por que te gustan los champiñones. Echarle menos sal porque tu médico te dijo que deberías prescindir de la sal. Lo que sea. Puedes incluso hacer cambios más grandes, según tus habilidades. Y si has hecho cambios en una receta y se la cocinas a tus amigos, y les gusta, alguno de tus amigos dirá: «Oye, ¿me puedes pasar la receta?». Y entonces, ¿qué haces? Puedes apuntar tu versión modificada de la receta y hacerle una copia a tu amigo. Esto es lo que se hace naturalmente con cualquier tipo de recetas útiles.
Bueno, una receta es muy parecida a un programa informático. Un programa informático se parece mucho a una receta: una sucesión de pasos realizados para conseguir algún resultado deseado. De modo que es igual de natural hacer lo mismo con los programas informáticos. Pásale una copia a tu amigo. Haz cambios en ella porque el trabajo para el que fue escrita no es exactamente el mismo que quieres hacer. Este fue de gran ayuda para otro, pero tu trabajo es diferente. Y, después de cambiarla, probablemente sea útil para más gente. Quizás tengan que hacer un trabajo como el que tú haces, así que preguntan: «Oye, ¿me puedes dejar una copia?». Por supuesto, si eres una buena persona les darás la copia. Esa es la forma de ser de una persona decente.
Imaginad qué pasaría si las recetas estuvieran empaquetadas dentro de cajas negras. No podríais ver qué ingredientes están usando, por no hablar de cambiarlos, imaginad que hacéis una copia para un amigo, te llaman pirata y te intentan meter unos años en la cárcel. Ese mundo generaría una tremenda afrenta a toda la gente que está acostumbrada a compartir recetas. Pero exactamente así es el mundo del software propietario. Un mundo en el que la usual decencia con los otros está prohibida o coartada.
Y bien, ¿por qué me enteré de esto? Me enteré porque, en la década de 1970, tuve la buena suerte de ser parte de una comunidad de programadores que compartían software. Esencialmente esta comunidad podía reconocer sus ancestros en los comienzos de la programación. En la década de 1970, sin embargo, era un poco extraño que hubiera una comunidad que compartiese software. Y, de hecho, era algo así como un caso extremo; en el laboratorio en el que yo trabajaba, todo el sistema operativo era software desarrollado por la gente de nuestra comunidad y compartíamos cualquier parte de él con cualquiera. Cualquiera era bienvenido para entrar y echar un vistazo, llevarse una copia y hacer lo que quisiera. No había notas de copyright en estos programas. La cooperación era nuestro modo de vida. Y estábamos seguros dentro de ese modo de vida. No luchábamos por él. No teníamos que luchar por él. Simplemente vivíamos así. Y, hasta donde nos concernía, habríamos seguido viviendo así. Así que había software libre, pero no un movimiento del software libre.
Sin embargo, más tarde, nuestra comunidad fue destruida por una sucesión de calamidades. Finalmente quedó anulada. Finalmente, el ordenador PDP-10,
3∞ que usábamos para todo nuestro trabajo, se dejó de fabricar. Nuestro sistema —el
Sistema Incompatible de Uso Compartido— fue escrito a principios de la década de 1960, de modo que estaba escrito en lenguaje ensamblador. Era con lo que se solían escribir los sistemas operativos en la década de 1960. Por supuesto, el lenguaje ensamblador estaba orientado para una arquitectura informática particular; si esta deja de fabricarse, todo tu trabajo se convierte en polvo —es inútil. Y eso fue lo que nos pasó. Los 20 años de trabajo de nuestra comunidad se convirtieron en polvo.
Pero antes de que pasara esto, tuve una experiencia que me preparó, me ayudó a ver qué hacer, me ayudó a prepararme para ver qué hacer cuando esto sucediera, porque en cierto momento Xerox donó al laboratorio de inteligencia artificial, en el que yo trabajaba, una impresora láser; era un regalo realmente hermoso, ya que era la primera vez que alguien fuera de Xerox tenía una impresora láser. Era muy rápida, imprimía una página por segundo, muy buena en muchos aspectos, pero muy inestable, porque en realidad era una fotocopiadora de oficina de alta velocidad que había sido transformada en impresora. Y como ya sabéis, las fotocopiadoras se atascan, aunque siempre hay alguien para arreglarlas. La impresora se atascaba y nadie lo podía ver. Así que se quedaba atascada mucho tiempo.
Bien, teníamos una idea de cómo tratar este problema. Modificarla de modo que cada vez que la impresora se atascaba, el ordenador que controlaba a la impresora pudiera decir a nuestra máquina de uso compartido y a los usuarios que estaban esperando la salida de impresión que había que arreglar la impresora, para que así al menos supieran que estaba atascada... por supuesto, si estás esperando que se impriman tus trabajos y sabes que la impresora está atascada, no te sientas y esperas una eternidad, sino que te pones a arreglarla.
Sin embargo, llegados a ese punto, estábamos completamente bloqueados, dado que el software que controlaba esa impresora no era software libre. Había venido con la impresora y era simplemente un binario. No podíamos tener el código fuente, Xerox no nos permitía tener el código fuente. Así, a pesar de nuestra habilidad como programadores —después de todo, habíamos escrito nuestro propio sistema de uso compartido— estábamos completamente imposibilitados para añadir esta característica al software de la impresora.
Lo único que podíamos hacer era sufrir con la espera. Podía llevar una hora o dos conseguir que se imprimieran tus trabajos, porque la máquina estaba atascada casi todo el tiempo. Esperabas una hora suponiendo: «Se que va a estar atascada. Esperaré una hora y me pasaré a recoger mi copia». Y entonces veías que había estado atascada todo el tiempo y que en realidad nadie la había arreglado. Así que la arreglabas y volvías a esperar otra media hora. Entonces, volvías y la veías atascada otra vez antes de que hubiera llegado a imprimir tu trabajo. Imprimía durante tres minutos y estaba atascada treinta minutos. Frustración total. Pero lo peor era saber que podíamos haberla arreglado, pero alguien, por su propio egoísmo, nos estaba coartando e impidiendo que mejorásemos el software. Así que, por supuesto, nos sentíamos algo resentidos.
Entonces oí que alguien de la Universidad Carnegie Mellon tenía una copia de ese software. Iba a hacerle una visita allí, así que fui a su oficina y dije: «Buenas, soy del MIT. ¿Podrías dejarme una copia del código fuente de la impresora?». Y él dijo, «no, prometí que no te daría ninguna copia». [Risas del público]. Yo estaba petrificado. De verdad, estaba muy enfadado y no sabía cómo podía expresarlo. Todo lo que me salía era dar media vuelta y salir de la habitación. Quizás di un portazo. [Risas del público]. Y pensé sobre ello más adelante, porque me daba cuenta de que no había visto sólo a un capullo aislado, sino que se trataba de un fenómeno social importante y que afectaba a mucha gente.
Tuve suerte, sólo me tocó probar un poquito. Otros tenían que vivir con esto todo el tiempo. Así que pensé sobre este asunto en profundidad. Observad, él había prometido que se negaría a cooperar con nosotros —sus colegas del MIT—. Nos había traicionado. Pero no sólo nos lo hizo a nosotros. El caso es que también te lo hizo a ti. [Señala a un miembro del público]. Y creo que muy probablemente también te lo hizo a ti. [Señala a otro miembro del público. El público ríe]. Y probablemente también te lo hizo a ti. [Señala a un tercer miembro del público]. Posiblemente se lo hizo a la mayoría de la gente que está en esta sala —excepto tal vez a unos pocos que aún no habían nacido en 1980.— Puesto que había prometido que se negaría a cooperar con casi toda la población del planeta Tierra. Había firmado un acuerdo de no divulgación.
Bien, este fue mi primer encuentro con un acuerdo de no divulgación y aprendí una lección importante —importante porque la mayoría de los programadores nunca la aprenden. Este era mi primer encuentro con un acuerdo de no divulgación y yo era la víctima. Yo, y todo mi laboratorio, éramos las víctimas. Y la lección que me enseñó es que los acuerdos de no divulgación tienen víctimas. No son inocentes. No son inofensivos. La mayoría de los programadores se encuentran por primera vez con un acuerdo de no divulgación cuando se les ofrece firmar uno. Y siempre hay alguna tentación —si firmas vas a obtener alguna propinilla. Así que se inventan excusas. Dicen, «bueno, no va a conseguir una copia pase lo que pase, así que, ¿por qué no unirme a la conspiración para marginarle?» Dicen, «así es como siempre se ha hecho. ¿Quién soy yo para ponerme en contra?» Dicen, «si no firmo esto, lo hará otro». Excusas varias para acallar sus conciencias.
Pero cuando alguien me ofreció la firma de un acuerdo de no divulgación, mi conciencia ya estaba sensibilizada. Recuerdo cómo me había enfadado cuando alguien prometió que no me ayudaría a mi y a todo mi laboratorio a resolver nuestro problema. No podía darme la vuelta y hacerle exactamente lo mismo a alguien que nunca me había hecho ningún daño. Si alguien me pidiera que prometiera no compartir alguna información útil con un enemigo odiado, yo aceptaría. Si alguien ha hecho algo malo, se lo merece. Pero los desconocidos no me han hecho ningún daño. ¿Cómo podrían merecerse ese tipo de maltrato? No puedes permitirte empezar a tratar mal a todo el mundo. Si no te conviertes en un depredador para la sociedad. Así que dije: «Muchas gracias por ofrecerme este bonito paquete de software. Pero, en las condiciones que ustedes exigen, no puedo aceptarlo con la conciencia tranquila, así que me las arreglaré sin él. Muchísimas gracias». Y de este modo, nunca he firmado a sabiendas un acuerdo de no divulgación para información de utilidad técnica general, como el software.
Ahora bien, hay otros tipos de información que implican diferentes asuntos éticos. Por ejemplo, está la información personal. Si quisieras hablar conmigo sobre lo que estaba pasando entre tú y tu novio, y me pidieras que no se lo contara a nadie, yo estaría de acuerdo en guardarte ese secreto, porque no es información de utilidad técnica general.
Al menos, es probable que no sea útil a todo el mundo. [Risas del público]. Hay pocas posibilidades —y aún así es una posibilidad— de que alguien quisiera revelarme alguna maravillosa nueva técnica sexual, entonces sentiría el deber moral de hacérselo saber al resto de la humanidad, y así todo el mundo podría beneficiarse de ella. [Risas del público]. Así que tendría que poner una cláusula en esa promesa.
Si sólo son detalles sobre quien quiere qué y quién está enfadado con quién, y ese tipo de culebrones...
eso lo puedo guardar en secreto; pero no puedo retener algo de cuyo conocimiento la humanidad puede beneficiarse tremendamente. Veréis, el propósito de la ciencia y la tecnología es crear información útil para la humanidad, para ayudar a la gente a vivir mejor. Si prometemos que retendremos esa información —si la guardamos en secreto— entonces estaremos traicionando el objetivo de nuestro sector. Y eso, decidí que no debía hacerlo.
Pero mientras tanto mi comunidad se había ido a pique y eso me dejaba en una mala situación. Fijaros, todo el Sistema Incompatible de Uso Compartido estaba obsoleto, porque el PDP-10 estaba obsoleto, de este modo no había forma de que pudiera seguir trabajando como desarrollador de sistemas operativos tal y como lo había estado haciendo. Esta actividad dependía de formar parte de la comunidad, usar el software de la comunidad y mejorarlo. Ya no era posible, lo cual me planteó un dilema moral. ¿Qué iba a hacer? Porque la posibilidad más obvia significaba ponerme en contra de esa decisión que había tomado. La posibilidad más obvia era adaptarme a los cambios del mundo. Aceptar que las cosas eran diferentes y que yo debería abandonar esos principios y empezar a firmar acuerdos de no divulgación para sistemas operativos propietarios, muy probablemente escribir también software propietario. Así, me di cuenta de que podría divertirme escribiendo código y que podría ganar dinero —especialmente si lo hiciera en cualquier parte que no fuera el MIT—, pero al final, hubiera tenido que repasar mi carrera y decir «me he pasado la vida construyendo muros para dividir a la gente», estaría avergonzado de mi vida.
Así que busqué otra alternativa, y había una obvia. Podía dejar el sector del software y dedicarme a otra cosa. Bien, no tengo otras habilidades reseñables, pero estoy seguro de que podría haber llegado a ser camarero. [Risas del público]. No en un restaurante de lujo; no me contratarían, pero podría ser camarero en algún sitio. Y muchos programadores me decían «la gente que contrata programadores exige esto, esto y esto. Y si no hago estas cosas, me moriré de hambre». Es literalmente la expresión que usan. Bien, como camarero no vas a morirte de hambre. [Risas del público]. Así que, realmente, no estás en peligro. Pero —y, sabéis, esto es importante— a veces puedes justificarte por hacer cosas que dañan a los demás diciendo que de otro modo te puede pasar algo peor. Si
de verdad te fueras a morir de hambre, estaría justificado que escribieras software propietario. [Risas del público]. Si alguien te apunta con una pistola, entonces yo diría que se te puede perdonar. [Risas del público]. Pero yo encontré una forma de sobrevivir sin hacer algo inmoral, así que esa excusa no valía. Me di cuenta, de todos modos, de que ser camarero no iba a resultarme divertido y significaría derrochar mis habilidades como desarrollador de sistemas operativos. Evitaría el mal uso de mis habilidades. Desarrollar software propietario sería un mal uso de mis habilidades. Apoyar que los demás vivan en el mundo del software propietario sería usar mal mis habilidades. Así que es mejor malgastarlas que hacer una mal uso de ellas, pero aún así no era algo bueno de verdad.
Por estos motivos decidí buscar otra alternativa. ¿Qué puede hacer un desarrollador de sistemas operativos para mejorar realmente la situación y hacer del mundo un lugar mejor? Me di cuenta de que un desarrollador de sistemas operativos era exactamente lo que se necesitaba. El problema, el dilema para mí y para todos los demás era que todos los sistemas operativos disponibles para los ordenadores modernos eran propietarios. Los sistemas operativos libres estaban destinados a los ordenadores viejos y obsoletos, ¿verdad? Así que para los ordenadores modernos, si querías comprar un ordenador moderno y usarlo, estabas obligado a usar un sistema operativo propietario. De modo que si un desarrollador de sistemas operativos escribiera otro sistema operativo y dijera «venid todos a compartir esto; sois bienvenidos», se daría una escapatoria al dilema, otra alternativa para todo el mundo. Así que me di cuenta de que había algo que podía hacer que podría resolver el problema. Tenía justo las habilidades necesarias para poder hacerlo. Y posiblemente era la cosa más útil que yo podía imaginarme en relación a lo que sería capaz de hacer con mi vida. Se trataba de un problema que nadie más estaba intentando resolver. Era algo así como quedarme sentado, ver empeorar las cosas y que no hubiera nadie más que yo. De este modo, sentí: «Soy el elegido. Tengo que trabajar en esto. ¿Si no lo hago yo, quién lo hará?». Decidí que desarrollaría un sistema operativo libre, o moriría en el intento... de viejo, por supuesto. [Risas del público].
Por supuesto, tuve que decidir qué tipo de sistema operativo debería ser. Había que tomar algunas decisiones técnicas de diseño. Decidí hacer que el sistema fuera compatible con Unix por una serie de razones. En primer lugar, acababa de ver como se quedaba obsoleto a un sistema operativo que realmente amaba, porque estaba escrito para un modelo particular de ordenador. No quería que eso sucediera otra vez. Necesitábamos tener un sistema que se pudiera migrar. Bien, Unix era un sistema portable. Así que si seguía el diseño de Unix, tenía bastantes posibilidades de hacer un sistema que también se pudiera migrar y funcionar en otros sistemas. Y además, por qué no hacerlo compatible en todos sus detalles. La idea es que los usuarios odian los cambios que los hacen incompatibles. Si hubiera diseñado el sistema de acuerdo a mi manera favorita —lo cual me hubiera encantado, estoy seguro— habría producido algo incompatible. Los detalles serían diferentes. Así que, si hubiera escrito el sistema, los usuarios me habrían dicho: «Bien, esto es muy bonito, pero es incompatible. Cambiarse costará mucho trabajo. No nos podemos permitir tener tantos problemas sólo para usar tu sistema en lugar de Unix, así que nos quedamos con Unix».
Ahora bien, si de verdad quería crear una comunidad en la que hubiera gente, gente usando este sistema libre y disfrutando de los beneficios de la libertad y la cooperación, tenía que producir un sistema que la gente usara, un sistema cuya migración desde otro sistema fuera fácil, que no tuviera un impedimento que lo hiciera fracasar desde el mismo principio. Bueno, en realidad hacer el sistema compatible con Unix adelantó ya todas las decisiones de diseño inmediatas, porque Unix está formado por muchos elementos, que se comunican por interfaces que están más o menos documentadas. De modo que si quieres compatibilidad con Unix, tienes que sustituir cada elemento, uno por uno, con un elemento compatible. De este modo, las restantes decisiones de diseño se toman dentro de cada elemento y pueden ser tomadas después por cualquiera que decida escribir ese elemento. No tienen que tomarse desde el principio.
Todo lo que teníamos que hacer para empezar el trabajo era encontrar un nombre para el sistema. Bueno, nosotros los hackers siempre buscamos nombres divertidos o traviesos para los programas, porque pensar que a la gente le haga gracia el nombre es la mitad de la diversión de escribir el programa. [Risas del público]. Teníamos una tradición de acrónimos recurrentes para decir que el programa que estás escribiendo es parecido a algún programa existente. Puedes ponerle de nombre un acrónimo recurrente que diga: esto no es lo otro [this one's not the other]. Así, por ejemplo, había muchos editores de texto Tico en la década de 1960 y 1970, normalmente se les llamaba tal y cual Tico. En ese momento, un hacker espabilado llamó al suyo Tint, lo que quería decir Tint No Es Tico
4∞ —el primer acrónimo recurrente—. En 1975, creé el primer editor de texto Emacs; había muchas imitaciones de Emacs, muchas de las cuales se llamaban tal y cual Emacs, pero una se llamaba Fine, por
Fine Is Not Emacs, y también estaba Sine, por
Sine Is Not Emacs, y Eine por
Eine is not Emacs, y Mince por
Mince Is Not Complete Emacs. [Risas del público]. Esa era una imitación descarada. Y entonces Eine fue reescrito casi por completo, y la nueva versión se llamó Zwei por
Zwei Was Eine Initially.
5∞ [Risas del público].
Así, busqué un acrónimo recurrente para Algo No Es Unix [Something Is Not Unix]. Y probé con las 26 letras, y descubrí que ninguna de ellas era una palabra. [Risas del público]. Hmm, prueba de otra forma. Hice una contracción. De este modo podría tener un acrónimo de tres letras, para Algo No Unix. Probé con varias letras y encontré la palabra GNU
6∞ —la palabra GNU es la más graciosa de todo la lengua inglesa—. [Risas del público]. Ahí estaba. Por supuesto, el motivo de que sea gracioso es que según el diccionario, se pronuncia «new». Por eso la gente lo usa en muchos juegos de palabras. Dejadme que os diga que este es el nombre de un animal que vive en África. Y la pronunciación africana tenía un golpe seco. [Risas del público]. Quizás todavía lo tenga. Y así, los colonos europeos, cuando llegaron allí, no se molestaron en aprender a dar ese golpe seco. Así que lo eliminaron y escribieron una «g» que significaba «hay otro sonido que supuestamente va aquí pero nosotros no lo pronunciamos». [Risas del público]. De todos modos, esta noche me voy a Sudáfrica y les he rogado, espero que me encuentren a alguien que me enseñe a pronunciar golpes secos para que sepa pronunciar GNU de la forma correcta cuando se trata del animal. [Risas del público].
Pero, cuando es el nombre de nuestro sistema, la pronunciación correcta es «g-new» —con la «g» fuerte—. Si hablas de un «nuevo» sistema operativo puedes confundir bastante a la gente, porque hemos trabajado en él desde hace 17 años, así que ya no es muy nuevo. [Risas del público]. Pero todavía es, y siempre lo será, GNU —no importa cuánta gente lo llame Linux por error—. [Risas del público].
Así que, en enero de 1984, dejé mi trabajo en el MIT para empezar a escribir elementos de GNU.
7∞ Aún así, fueron tan amables como para dejarme usar sus recursos. En ese momento, pensé que escribiríamos todos esos elementos y que haríamos un sistema GNU completo, y en ese momento diríamos «Venid a por él» y la gente empezaría a usarlo. Eso no fue lo que pasó. Los primeros elementos que escribí eran buenos recambios, con menos fallos, de algunos elementos de Unix, pero no eran especialmente emocionantes. Particularmente nadie quería obtenerlos y instalarlos. Pero entonces, en septiembre de 1984, empecé a escribir GNU Emacs, que era mi segunda implementación de Emacs y para principios de 1985 ya estaba funcionando. Podría usarlo para todo mi trabajo de edición, lo cual era un gran alivio, porque no tenía intención de aprender vi, el editor de Unix. [Risas del público]. Así que, hasta ese momento, hice mi trabajo de edición con otro equipo y guardé los archivos en la red, de modo que pudiera probarlos. Pero cuando GNU Emacs funcionó lo suficientemente bien como para que yo lo usara, también otra gente quiso usarlo.
De este modo, tuve que pensar bien los mecanismos de distribución. Por supuesto, puse una copia en el directorio anónimo ftp y eso estaba bien para los que estaban en la red —podían ejecutar un archivo tar,
8∞ pero incluso entonces, en 1985, muchos programadores no tenían acceso a la red. Me mandaban correos electrónicos diciendo. «¿Cómo puedo conseguir una copia?». Tuve que decidir qué les respondería. Bueno, podría haberles dicho «quiero dedicar mi tiempo a escribir más software de GNU, no a escribir cintas, así que por favor encontrad a un amigo que esté en Internet y quiera bajárselo y grabarlo para vosotros», y estoy seguro de que la gente habría encontrado algunos amigos más tarde o mas temprano. Habrían conseguido sus copias.
Pero yo estaba sin trabajo. En realidad, nunca he tenido un trabajo desde que dejé el MIT en enero de 1984. Así que estaba buscando algún modo de hacer dinero mediante mi trabajo con el software libre y por esta razón empecé un negocio de software libre. Anuncié «mandadme 150 dólares y os enviaré una cinta de Emacs». Y los pedidos empezaron a llegar poco a poco. A mediados del año llegaban con cuentagotas.
Estaba recibiendo entre ocho y diez pedidos por mes. Y, si hubiera sido necesario, habría podido vivir sólo de eso, porque siempre he vivido sobriamente. Básicamente vivo como un estudiante. Y me gusta, porque significa que el dinero no me dicta lo que debo hacer. Puedo hacer lo que creo que es importante para mí. Me liberó para hacer lo que parecía merecer la pena. Así que haced un auténtico esfuerzo para evitar quedar atrapados dentro de todos los caros hábitos de vida del americano típico. Porque si lo hacéis, entonces la gente de dinero os dictará lo que tenéis que hacer con vuestra vida. No seréis capaces de hacer lo que es importante para vosotros.
De este modo, iba bien, pero la gente me solía preguntar: «¿Cómo que es software libre si cuesta 150 dólares?». [Risas del público]. Bueno, el motivo de que preguntaran esto es que estaban confundidos por los múltiples significados de la palabra inglesa «libre». Un significado se refiere al precio y el otro se refiere a la libertad. Cuando hablo de software libre, me refiero a la libertad, no al precio. Así que pensad en «libertad de expresión», no en «barra libre». [Risas del público]. A ver, no habría dedicado tantos años de mi vida a asegurarme de que los programadores tengan menos dinero. Ese no es mi objetivo. Soy un programador y no me resulta problemático ganar dinero. No dedicaré toda mi vida a ganar dinero, pero no me preocupa ganarlo. Por lo tanto, —y en la medida en que la ética es igual para todo el mundo— tampoco estoy en contra de que otro programador gane dinero. No quiero que los precios sean bajos. La cuestión es la libertad. Libertad para todos los que utilizan el software, tanto si esa persona es un programador como si no.
Llegados a este punto debería daros una definición de software libre. Me centraré mejor en algunos detalles concretos, porque decir sólo «creo en la libertad» es vacuo. Hay muchas libertades en las que puedes creer, y están en conflicto entre ellas, así que la auténtica cuestión política es: ¿cuáles son las libertades importantes, las libertades que debemos asegurarnos que tenga todo el mundo?
Bien, ahora daré una respuesta a esa pregunta para ese área particular del uso del software. Un programa es software libre para ti, como usuario particular, si tienes las siguientes libertades:
- La Libertad Cero es la libertad de ejecutar el programa con cualquier propósito, de la forma que quieras.
- La Libertad Uno es la libertad de ayudarte a ti mismo cambiando el programa para que se ajuste a tus necesidades.
- La Libertad Dos es la libertad de ayudar al prójimo distribuyendo copias del programa.
- Y la Libertad Tres es la libertad de ayudar a construir tu comunidad publicando una versión mejorada de modo que los otros puedan beneficiarse de tu trabajo.
Si tienes todas estas libertades, el programa es software libre, para ti -y esto es crucial. Por eso lo expreso de ese modo. Lo explicaré más adelante, cuando hable sobre la licencia GNU GPL, pero ahora voy a explicar qué significa el software libre, que es una cuestión más básica.
La
Libertad Cero es bastante obvia. Si ni siquiera se te permite utilizar el programa como quieras, es un programa la hostia de restrictivo. Pero como de hecho sucede, la mayoría de los programas te darán al menos la Libertad Cero. Y la Libertad Cero se sigue, legalmente, como consecuencia de la Libertad Uno, Dos y Tres —así es como funciona la legislación de copyright—. Así que las libertades que distinguen al software libre del software corriente son las Libertades Uno, Dos y Tres, por eso hablaré más sobre ellas y de por qué son importantes.
La
Libertad Uno es la libertad de ayudarte a ti mismo modificando el software para que se ajuste a tus necesidades. Esto puede significar arreglar los fallos. Puede significar añadir nuevas características. Puede significar migrarlo a un sistema informático distinto. Puede significar traducir todos los mensajes de error al navajo. Deberías ser libre de hacer cada modificación que quieras hacer.
Ahora bien, es obvio que los programadores profesionales pueden hacer uso de esta libertad de forma muy efectiva, pero no solo ellos. Cualquiera con un mínimo de inteligencia puede aprender un poco de programación. Hay trabajos difíciles y hay trabajos fáciles, y la mayoría de la gente no va a aprender lo suficiente como para hacer trabajos difíciles. Pero mucha gente puede aprender lo suficiente para hacer trabajos fáciles, del mismo modo que hace 50 años montones y montones de estadounidenses aprendieron a reparar coches, que es lo que permitió a los EEUU tener un ejército motorizado en la Segunda Guerra Mundial y ganar. Es muy importante tener mucha gente que sepa reparar cosas.
Y si eres una persona sociable y realmente no quieres aprender tecnología en absoluto, posiblemente eso significa que tienes muchos amigos y que eres bueno pillándoles para que te deban favores. [Risas del público]. Posiblemente algunos de ellos sean programadores. Así que puedes pedirle a alguno de tus amigos programadores: «¿Podrías cambiarme esto, por favor? ¿Me puedes añadir esta característica?» De este modo, se puede beneficiar mucha gente.
Ahora bien, si no tienes esta libertad, se produce un daño práctico y material a la sociedad. Esta ausencia de libertad te hace prisionero de tu software. Ya expliqué lo que pasaba con la impresora láser. Para nosotros funcionó mal y no podíamos arreglarla porque éramos prisioneros de nuestro software.
Pero también afecta a la moral de la gente. Si el uso del ordenador es siempre frustrante, y la gente lo usa, sus vidas también serán frustrantes, y si lo están usando en su trabajo, su trabajo será frustrante; odiarán su trabajo. Y ya sabéis, la gente se protege a sí misma de la frustración decidiendo no preocuparse. Así que acabas con gente cuya actitud es, «bueno, hoy me he presentado a trabajar. Eso es todo lo que tengo que hacer. Si no puedo progresar, ese no es mi problema; es el problema del jefe». Y cuando esto ocurre, es perjudicial para estas personas y es malo para la sociedad en su conjunto. Esta es la Libertad Uno,
la libertad de ayudarte a ti mismo.
La
Libertad Dos es la libertad de ayudar al prójimo distribuyendo copias del programa. Puesto que, para los seres que pueden pensar y aprender, compartir conocimiento útil es un acto de amistad fundamental, cuando estos seres usan ordenadores, este acto de amistad toma la forma de compartir software. Los amigos comparten cosas entre sí. Los amigos se ayudan entre sí. Esta es la naturaleza de la amistad. Y, en realidad, este espíritu de buena voluntad —el espíritu de ayudar al vecino, de forma voluntaria— es el recurso más importante de la sociedad. Marca la diferencia entre una sociedad en la que se puede vivir y la ley de la selva. Su importancia ha sido reconocida por las principales religiones del mundo durante cientos de años y siempre tratan explícitamente de fomentar esta actitud.
Cuando yo iba a la guardería, los profesores intentaban enseñarnos esta actitud —el espíritu de compartir— forzándonos a hacerlo. Se imaginaban que si lo hacíamos, aprenderíamos. Así que decían, «si traéis dulces al colegio, no podéis quedároslos todos para vosotros, tenéis que compartir algo con los otros niños». Nos enseñaban que la sociedad estaba organizada para enseñar este espíritu de cooperación. ¿Y por qué se tiene que enseñar todo esto? Porque la gente no es totalmente cooperativa. Esta es una parte de la naturaleza humana, pero hay otros aspectos en la naturaleza humana. Y es que la naturaleza humana está compuesta de muchas partes. Así que, si quieres una sociedad mejor, tienes que trabajar para fomentar este espíritu que induce a compartir. Éste espíritu no llegará a acontecer del todo. Es comprensible. La gente también tiene que preocuparse por sí misma. Pero si de algún modo hacemos que este espíritu se extienda, saldremos mejor parados.
Hoy en día, de acuerdo con el gobierno de EEUU, supuestamente los profesores deben hacer exactamente lo contrario. «Ah, Johnny, te has traído software al colegio. Bueno, no lo compartas. Compartir está mal. Compartir significa que eres un pirata». ¿A qué se refieren cuando dicen «pirata»? Lo que están diciendo es que ayudar al prójimo es el equivalente moral de abordar un barco. [Risas del público].
¿Qué habrían dicho Buda o Jesús sobre esto? Bien, coge a tu líder religioso favorito. No sé, quizá Manson habría dicho algo diferente. [Risas del público]. ¿Quién sabe lo que diría L. Ron Hubbard? Pero...
Pregunta.
[Inaudible].
Stallman. Por supuesto, está muerto. Pero no lo admiten. ¿Qué?
Pregunta.
Los demás también, también están muertos. [Risas del público]. [Inaudible]. Charles Manson también está muerto. [Risas del público]. Están muertos, Jesús está muerto, Buda está muerto...
Stallman. Sí, es verdad. [Risas del público]. Me imagino que, en ese sentido, L. Ron Hubbard no es peor que los otros. [Risas del público]. De todos modos [inaudible].
Pregunta. L. Ron Hubbard
9∞ usaba software libre —le liberaba de Zanu. [Risas del público].
Stallman. De todos modos, creo que este es el motivo más importante por el que el software debería ser libre: no nos podemos permitir contaminar el recurso más importante de la sociedad. Es cierto que no es un recurso físico como el aire limpio o el agua potable. Es un recurso psicosocial, pero por todo lo dicho, es igual de real y marca una tremenda diferencia en nuestras vidas. Las acciones que emprendemos influyen en el pensamiento de los demás. Cuando vamos por ahí diciéndole a la gente «No compartáis con los demás», si nos escucha, habremos causado un efecto en la sociedad, y no bueno. Esta es la Libertad Dos,
la libertad de ayudar al prójimo.
Ah, por cierto, si no tienes esta libertad, no se produce simplemente un daño a los recursos psicosociales, también se produce un daño práctico y material. Si el programa tiene propietario y el propietario impone unas condiciones que hacen que cada usuario tenga que pagar para poder usarlo, algunos dirán: «No importa, me las arreglaré sin él». Y eso es una pérdida, una pérdida deliberadamente infligida. Y lo interesante del software, por supuesto, es que con menos usuarios no significa que tengas que producir menos. Si menos gente compra coches, puedes fabricar menos coches. Eso es un ahorro. Hay recursos que asignar, o no, para fabricar coches, por lo que puedes decir que es bueno que los coches tengan un precio. Impide que la gente desvíe montones de recursos que se van a desperdiciar en fabricar coches que realmente no son necesarios. Pero si cada coche adicional no consumiera recursos, ahorrar al producir estos coches no supondría ningún bien. Bueno, para los objetos físicos, por supuesto, como los coches, siempre van a hacer falta recursos para fabricar unidades adicionales para cada ejemplar adicional.
Pero esto no es cierto para el software. Todo el mundo puede hacer otra copia. Y hacerlo es casi trivial. No consume recursos, excepto una cantidad pequeñísima de electricidad. Así que no hay de dónde ahorrar, no vamos a asignar mejor ningún recurso poniendo este impedimento financiero en el uso del software. A menudo encuentras a gente que acepta las consecuencias de los razonamientos económicos, basados en premisas que no se corresponden con el software y que intenta transplantarlas desde otros ámbitos de la vida dónde sí se pueden aplicar y dónde las conclusiones extraídas pueden ser válidas. Simplemente toman esas conclusiones y asumen que también son válidas para el software, cuando el argumento no tiene ninguna base en el caso del software. Las premisas no funcionan para este caso. Es muy importante examinar cómo se llega a esa conclusión, y de qué premisas depende, para ver donde podría ser válida. Así que esta es la Libertad Dos,
la libertad de ayudar a tu prójimo.