You are on page 1of 27

https://www.gnu.org/home.es.

html

https://es.wikipedia.org/wiki/GNU
Qu es GNU?
GNU es un sistema operativo de

software libre, es decir, respeta la libertad de los usuarios. El

desarrollo de GNU ha permitido que se pueda utilizar un ordenador sin software que atropelle
nuestra libertad.

versiones de GNU que se pueden instalar (ms precisamente, distribuciones


GNU/Linux), que son completamente software libre. Ms informacin acerca de GNU.
Recomendamos

Qu es el movimiento del software libre?


El movimiento del software libre promueve una campaa para que los usuarios de ordenadores
obtengan la libertad que otorga el software libre. El software libre permite que los usuarios ejerzan
el control de sus propias tareas de computacin. El software que no es libre, al contrario, somete a
los usuarios al poder de los desarrolladores del software. Vase el vdeo explicativo.
Qu es el software libre?
Software libre significa que los usuarios tienen la libertad de ejecutar, copiar, distribuir, estudiar,
modificar y mejorar el software.
El software libre es una cuestin de libertad, no de precio. Para entender el concepto, debe
pensarse en libre como en libertad de expresin, no como en cerveza gratis.
Ms precisamente, software libre significa que los usuarios de un programa tienen las cuatro
libertades esenciales:

La libertad de ejecutar el programa como lo desee, con cualquier propsito (libertad 0).

La libertad de estudiar el funcionamiento del programa y adaptarlo a sus necesidades


(libertad 1). El acceso al cdigo fuente es un prerrequisito para esto.

La libertad de redistribuir copias para ayudar a los dems (libertad 2).

La libertad de mejorar el programa y de publicar las mejoras, de modo que toda la


comunidad se beneficie (libertad 3). El acceso al cdigo fuente es un prerrequisito para
esto.

Debido a la evolucin de la tecnologa y del uso de la red, estas libertades son ahora an ms
importantes que en 1983.
Hoy en da el movimiento del software libre va mucho ms all del desarrollo del sistema GNU.
Consulte el sitio de la Free Software Foundation para obtener ms informacin sobre lo que
hacemos y cmo colaborar.

Ms acerca de GNU
GNU es un sistema operativo de tipo Unix, lo cual significa que se trata de una coleccin de
muchos programas: aplicaciones, bibliotecas, herramientas de desarrollo y hasta juegos. El
desarrollo de GNU, iniciado en enero de 1984, se conoce como Proyecto GNU. Muchos de los
programas de GNU se publican bajo el auspicio del Proyecto GNU y los llamamos paquetes de GNU.
El nombre GNU es un acrnimo recursivo de GNU No es Unix. GNU se pronuncia en
ingls como una slaba sin vocal entre la g y la n. En espaol se puede pronunciar de la misma
manera, o bien reemplazando gn por una , como en u. Tambin es aceptable en espaol la
pronunciacin de cada una de las letras por separado: G-N-U (ge-ene-u).
En un sistema de tipo Unix, el programa que asigna los recursos de la mquina y se comunica con
el hardware se denomina ncleo. GNU se usa generalmente con un ncleo llamado Linux. Esta
combinacin es el sistema operativo GNU/Linux. Millones de personas usan GNU/Linux, aunque
muchos lo llaman errneamente Linux.
El desarrollo del ncleo propio de GNU, Hurd, se inici en 1990 (antes de que comenzara el de
Linux). Programadores voluntarios continan desarrollando Hurd por tratarse de un proyecto
tcnico interesante.
Visin general del sistema GNU
El sistema operativo GNU es un sistema completo de software libre compatible con Unix. El
trmino GNU proviene de GNU No es Unix. Richard Stallmanescribi el anuncio inicial del Proyecto
GNU en setiembre de 1983. Una versin extendida, denominada el Manifiesto de GNU, se public
en setiembre de 1985. Se ha traducido a diversos idiomas.
El nombre GNU se eligi porque satisfaca unos cuantos requisitos. En primer lugar, era un
acrnimo recursivo para GNU No es Unix. En segundo lugar, era una palabra real. Por ltimo,
era divertido de decir (o cantar).

La palabra libre en software libre se refiere a libertad, no a precio[1]. Se puede o no pagar un


precio por obtener software de GNU. De cualquier manera, una vez que se obtiene el software, se
tienen cuatro libertades especficas para usarlo: La libertad de ejecutar el programa como se
desee; la libertad de copiar el programa y drselo a amigos o compaeros de trabajo; la libertad de
cambiar el programa como se desee mediante el acceso completo al cdigo fuente; la libertad de
distribuir una versin mejorada, ayudando as a construir la comunidad (si se redistribuye software
de GNU, se puede cobrar una tarifa por el acto fsico de efectuar la copia, o bien regalar copias).
El proyecto para desarrollar el sistema GNU se denomina Proyecto GNU. El Proyecto GNU se
concibi en 1983 como un modo de retomar el espritu cooperativo que prevaleca en la comunidad
informtica en sus comienzos, posibilitar la cooperacin eliminando los obstculos impuestos por
los dueos de software privativo.
En 1971, cuando comenz su carrera en el MIT, Richard Stallman formaba parte de un grupo de
trabajo que usaba exclusivamente software libre. Incluso las compaas informticas distribuan con
frecuencia software libre. Los programadores eran libres de cooperar unos con otros y lo hacan a
menudo.
Al inicio de los aos ochenta casi todo el software era privativo, lo que significa que tena dueos
que prohiban e impedan la cooperacin entre usuarios. De ah que fuera necesario el Proyecto
GNU.
Todo usuario de ordenadores necesita un sistema operativo. Si no existe un sistema operativo libre,
ni siquiera se puede comenzar a usar un ordenador sin recurrir al software privativo. As, el primer
elemento en la agenda del software libre tena que ser un sistema operativo libre.
Decidimos hacer el sistema operativo compatible con Unix porque el diseo en general ya estaba
probado y era portable, y porque la compatibilidad facilitaba a los usuarios de Unix el cambio de
Unix a GNU.
Un sistema operativo similar a Unix incluye un ncleo, compiladores, editores, procesadores de
texto, software de correo, interfaces grficas, bibliotecas, juegos y muchas otras cosas. Por todo
esto, escribir un sistema operativo completo conlleva mucho trabajo. La Free Software Foundation se
fund en octubre de 1985 con el objetivo inicial de recaudar fondos para ayudar a programar GNU.
A principios de 1990 ya habamos encontrado o programado los componentes principales excepto
uno, el ncleo. En 1991 Linus Torvalds program Linux, un ncleo similar a Unix, y en 1992 lo

convirti en software libre. La combinacin de Linux con el sistema GNU, que ya estaba
prcticamente completo, form un sistema operativo completo: el sistema GNU/Linux. Se estima
que existen decenas de millones de personas que en la actualidad usan sistemas GNU/Linux,
habitualmente mediante distribuciones. La versin principal de Linux actualmente contiene
elementos binarios de firmware que no son libres, por eso partidarios del software libre mantienen
una versin modificada libre de Linux denominada Linux-libre.
En todo caso, el proyecto GNU no se limita al sistema operativo propiamente dicho. Queremos
proporcionar una amplia gama de software, cualquier programa que muchos usuarios quieran
tener. Esto incluye programas de aplicacin. En el directorio de software libre se puede consultar un
catlogo de aplicaciones libres.
Tambin queremos proporcionar software para usuarios que no son expertos en informtica. Por
ese motivo creamos un escritorio grfico (llamado GNOME)para ayudar a los principiantes a usar el
sistema GNU.
Tambin queremos ofrecer juegos y otros programas de entretenimiento. Algunos juegos libres ya
estn disponibles.
Hasta dnde puede llegar el software libre? No hay lmites, excepto cuando leyes como el sistema
de patentes prohben el software libre. El objetivo final es el de proporcionar software libre para realizar
todas las tareas que los usuarios de ordenadores quieran llevar a cabo, y lograr as que el software
privativo sea cosa del pasado.

El Proyecto GNU
por Richard Stallman
Publicado por primera vez en el libro Open Sources. Richard Stallman nunca ha apoyado el cdigo
abierto (open source), pero contribuy con este artculo para que en el libro no estuvieran
totalmente ausentes las ideas del movimiento del software libre.
Por qu ahora es ms importante que nunca insistir en que el software que usamos debe ser libre.
La primera comunidad que comparte software
Cuando empec a trabajar en el Laboratorio de Inteligencia Artificial del MIT (Instituto de
Tecnologa de Massachusetts) en 1971, pas a formar parte de una comunidad que llevaba
muchos aos compartiendo software. El hbito de compartir software no se limitaba a nuestra
comunidad en particular; es una prctica tan antigua como los ordenadores mismos, as como
compartir recetas de cocina es tan antiguo como cocinar. Nosotros, sin embargo, lo hacamos en
mayor medida.
En el laboratorio de inteligencia artificial se usaba un sistema operativo de tiempo compartido
llamado ITS (sistema de tiempo compartido incompatible), que haba sido diseado y escrito en
lenguaje ensamblador por los hackers empleados del laboratorio(1) para el PDP-10, uno de los
ordenadores ms grandes de la poca fabricado por la empresa Digital. Como miembro de esta
comunidad y hacker empleado del laboratorio, mi trabajo consista en mejorar dicho sistema.
No llambamos software libre a nuestro software porque ese trmino todava no exista, pero era
exactamente eso. Cuando alguien de otra universidad o de una empresa quera adaptar un
programa para utilizarlo, se lo permitamos de buen grado. Si se vea a alguien usar un programa
que era desconocido e interesante, siempre se le poda pedir que nos mostrara el cdigo fuente
para poder leerlo, modificarlo o tomar partes del mismo para hacer otro programa.
(1) El uso del trmino hacker para referirse a un violador de la seguridad es un malentendido
provocado por los medios de comunicacin masiva. Nosotros los hackers rechazamos ese
significado y continuamos usando la palabra para designar a alguien a quien le gusta programar,
alguien que disfruta de la inteligencia ldica, o la combinacin de ambos. Vese mi artculo On
Hacking (en ingls).

El colapso de la comunidad
La

situacin

cambi

drsticamente

comienzos

de

los

aos

ochenta

cuando

la

empresa Digital interrumpi la fabricacin de la serie PDP-10. Su arquitectura, elegante y poderosa


en la dcada de los sesenta, no poda adaptarse de forma natural a los amplios espacios de
direccionamiento ya factibles en los aos ochenta. Por consiguiente, casi todos los programas que
integraban el sistema ITS resultaban obsoletos.
La comunidad hacker del laboratorio de inteligencia artificial ya se haba desintegrado no mucho
antes. En 1981 la compaa derivada Symbolics contrat a casi todos los hackers del laboratorio, y
la comunidad diezmada no pudo sobrevivir. (En el libro Hackers, Steve Levy describe estos hechos,
a la vez que ilustra el esplendor de esta comunidad en sus comienzos). Cuando el laboratorio
compr un nuevo PDP-10 en 1982, en lugar de utilizar el sistema de uso compartido de ITS, los
administradores optaron por el sistema de Digital, que no era libre.
Los modernos ordenadores de aquella poca, como el VAX o el 68020, tenan sus propios
sistemas operativos, aunque ninguno de ellos era software libre: haba que firmar un acuerdo de no
divulgacin incluso para obtener una copia ejecutable.
En otras palabras, el primer paso para poder utilizar un ordenador era prometer que no se ayudara
al prjimo. Se prohiba la existencia de una comunidad cooperativa, y los dueos del software
privativo establecieron la siguiente norma: si compartes con tu prjimo, eres un pirata. Si quieres
algn cambio, tendrs que rogarnos que lo hagamos.
La idea de que el sistema social del software privativo un sistema que impide la prctica de
compartir o modificar el software es antisocial, contrario a la tica, sencillamente incorrecto,
puede sorprender a algunos lectores. Pero qu otra cosa podramos decir de un sistema cuyo
fundamento es la disgregacin y la indefensin de las personas? Es probable que estos lectores
den por supuesto el sistema social del software privativo, o que lo juzguen en funcin de los
trminos planteados por las empresas que desarrollan software privativo. Los distribuidores de
software se han esforzado mucho y durante mucho tiempo para convencernos de que no existe
otra manera de abordar el tema.
Cuando los distribuidores de software hablan de ejercer sus derechos o de acabar con la
piratera, lo que dicen es en realidad secundario. El verdadero mensaje se esconde en
suposiciones tcitas que ellos dan por sentadas, y pretenden que el pblico las acepte sin
cuestionamientos. Vamos a examinarlas.

Una de las suposiciones es que las empresas de software tienen el derecho natural e
incuestionable a poseer el software, y por lo tanto a detentar el poder sobre todos los usuarios (si
se tratara de un derecho natural, no podramos objetar nada, independientemente del perjuicio que
esto causara al pblico). Lo interesante es que la Constitucin de los Estados Unidos de Amrica y
el derecho tradicional rechazan este punto de vista. El copyright no es un derecho natural sino un
monopolio artificial impuesto por el Estado que limita el derecho natural de los usuarios a copiar.
Otra suposicin no declarada es que la importancia del software reside nicamente en el tipo de
tareas que nos permite realizar, que a nosotros los usuarios de ordenadores no nos tiene que
importar el tipo de sociedad que nos permite construir.
Una tercera suposicin es que no dispondramos de software til (o que nunca tendramos un
programa para realizar tal o cual tarea en particular) si no le otorgramos a una empresa la facultad
de ejercer poder sobre los usuarios del programa. Esto puede haber sonado plausible antes de que
el movimiento del software libre demostrara que se puede desarrollar muchsimo software til sin
necesidad de ponerle cadenas.
Si decidimos no aceptar tales suposiciones y analizamos estas cuestiones segn criterios morales
corrientes y el sentido comn, poniendo a los usuarios en primer lugar, llegaremos a conclusiones
muy distintas. Los usuarios de ordenadores han de ser libres de modificar los programas para
ajustarlos a sus necesidades y de compartir el software, porque la cooperacin con los dems
constituye la base de la sociedad.
No se dispone aqu del espacio necesario para explayarnos en el razonamiento que hay detrs de
esta

conclusin,

por

ese

motivo

solicito

al

lector

que

consulte

las

pginas http://www.gnu.org/philosophy/why-free.html y http://www.gnu.org/philosophy/free-software-evenmore-important.html.


Una dura eleccin moral
Al desaparecer mi comunidad, me result imposible continuar como antes. Tuve que enfrentar una
dura eleccin moral.
La opcin ms fcil era unirme al mundo del software privativo firmando acuerdos de no
divulgacin y prometiendo no ayudar de mis compaeros hackers. Es muy probable que tambin
hubiera tenido que programar software que se entregara bajo acuerdos de no divulgacin,
incrementando as la presin para que otras personas tambin traicionaran a sus compaeros.

Podra haber ganado dinero de esa manera, y tal vez me hubiese entretenido escribiendo cdigo,
pero saba que al final de mi carrera echara la vista atrs y vera los muros que habra construido
para dividir a las personas, sentira que haba usado mi vida para hacer del mundo un lugar mucho
peor.
Ya haba estado del lado de los que padecen los efectos de los acuerdos de no divulgacin. Fue
cuando alguien se neg a entregarnos, a m y al laboratorio de inteligencia artificial del MIT, el
cdigo fuente del programa de control de nuestra impresora (la ausencia de ciertas funcionalidades
en ese programa converta el uso de la impresora en una experiencia sumamente frustrante). De
modo que no poda engaarme a m mismo pensando que los acuerdos de no divulgacin fuesen
inofensivos. Mont en clera cuando aquel individuo se neg a compartir con nosotros; no poda
cambiar mi posicin y hacerle lo mismo a todos los dems.
Otra posibilidad, sencilla pero desagradable, era abandonar el campo de la informtica. De esa
manera no se usaran mis habilidades para mal, pero an as quedaran desperdiciadas. Yo no
sera culpable de dividir y restringir a los usuarios de ordenadores, pero sucedera de todos modos.
As que comenc a meditar sobre la manera en que un programador podra hacer algo para bien.
Me pregunt: Existe algn programa o programas que yo pueda escribir para resucitar a nuestra
comunidad?.
La respuesta fue clara: lo primero que se necesitaba era un sistema operativo. Ese es el software
crucial para comenzar a usar un ordenador. Con un sistema operativo se pueden hacer muchas
cosas; sin l, el ordenador ni siquiera funciona. Con un sistema operativo libre, podramos armar
una nueva comunidad de hackers e invitar a todos a unirse. Y cualquiera podra utilizar un
ordenador sin tener que conspirar desde el principio para privar de esta posibilidad a sus amigos.
Como programador de sistemas operativos tena las aptitudes necesarias para esa labor, y aunque
no poda estar seguro de lo que lograra, me di cuenta de que haba sido elegido para realizarla.
Opt por hacer el sistema compatible con Unix para que fuera portable, y para facilitar el cambio a
los usuarios de Unix. Siguiendo una tradicin de los hackers, se eligi el nombre GNU como
acrnimo recursivo de GNU No es Unix (GNU's Not Unix).
Un sistema operativo no implica solo un ncleo, apenas suficiente para ejecutar otros programas.
En los aos setenta, todo sistema operativo digno de llamarse as inclua programas tales como
procesadores de comandos, ensambladores, compiladores, intrpretes, depuradores, editores de

texto, gestores de correo y muchos otros. ITS los tena, Multics los tena, VMS los tena, y Unix los
tena. El sistema operativo GNU tambin los incluira.
Ms adelante escuch estas palabras, atribudas a Hillel (1):
Si

yo

si

no
slo

me

ocupo
me

de

ocupo

m,
de

quin
m,

lo

har?

qu

soy?

Y si no es ahora, cundo?
La decisin de comenzar el Proyecto GNU se bas en un sentimiento similar.
(1) Como ateo, no sigo a ningn lder religioso, pero a veces admiro algo que ha dicho uno de
ellos.
Free en su acepcin de libertad
La expresin free software a veces se malinterpreta, no tiene nada que ver con el precio [1]. Se
trata de la libertad. He aqu la definicin de software libre.
Un programa es software libre para usted como usuario particular, si le ofrece las siguientes
libertades:

La libertad para ejecutar el programa como usted desee y para cualquier propsito.

La libertad para modificar el programa con el fin de adaptarlo a sus propias necesidades
(para poder ejercer esta libertad en la prctica, usted debe tener acceso al cdigo
fuente; si no se dispone del cdigo fuente, la tarea de incorporar cambios en un
programa resulta extremadamente difcil).

La libertad para redistribuir copias, ya sea gratuitamente, ya sea a cambio de una suma
de dinero.

La libertad para distribuir versiones modificadas del programa, de modo que la


comunidad pueda beneficiarse de las mejoras introducidas.

Dado que nos referimos a la libertad y no al precio, no existe contradiccin alguna entre la venta de
copias y el software libre. De hecho, la libertad para vender copias es crucial: las colecciones de
software libre que se venden en CD-ROM son importantes para la comunidad, y es una buena
manera de recaudar fondos para el desarrollo de software libre. Por lo tanto, si no se tiene la
libertad para incluir un programa en dichas colecciones, ese programa no es software libre.

A causa de la ambigedad del calificativo free, la gente ha estado buscando alternativas durante
mucho tiempo, pero nadie ha encontrado un trmino ms adecuado. La lengua inglesa es de las
ms ricas en lo que a palabras y matices se refiere, pero carece de un trmino simple e inequvoco
para libre en su acepcin de libertad. La palabra cuyo significado ms se aproxima es
unfettered (sin cadenas). Otras alternativas como liberated (liberado), freedom (libertad) y
open (abierto) no significan lo mismo o presentan otros inconvenientes.
Software de GNU y el sistema GNU
El desarrollo de un sistema completo es un proyecto de gran envergadura. Para hacerlo ms
viable, decid adaptar y utilizar partes de software libre ya existentes siempre que fuera posible. Por
ejemplo, desde el principio decid usar TeX como principal compaginador de texto, y unos aos
ms tarde decid usar el sistema X Window en lugar de escribir otro sistema de ventanas para
GNU.
Debido a estas decisiones y a otras similares, el sistema GNU no es lo mismo que la coleccin de
todo el software de GNU. El sistema GNU incluye programas que no son software de GNU,
programas que fueron desarrollados por otras personas y otros proyectos para sus propios fines,
pero que nosotros podemos utilizar porque son software libre.
El inicio del proyecto
En enero de 1984 renunci a mi empleo en el MIT y comenc a escribir software para GNU. Fue
necesario abandonar el MIT para que la institucin no interfiriera con la distribucin de GNU como
software libre. De haber continuado como parte del personal, el MIT habra podido reclamar la
titularidad sobre la obra e imponer sus propios trminos de distribucin, o incluso transformarla en
un paquete de software privativo. No tena ninguna intencin de hacer un trabajo enorme solo para
que despus resultara intil para lograr mi objetivo: crear una nueva comunidad para compartir
software.
No obstante, el Profesor Winston, por entonces director del laboratorio de inteligencia artificial del
MIT, tuvo la amabilidad de invitarme a que continuase utilizando las instalaciones del laboratorio.
Los primeros pasos
Poco antes de comenzar el Proyecto GNU, o hablar del Free University Compiler Kit (Kit compilador
de la universidad libre), tambin conocido como VUCK (la palabra holandesa equivalente a libre
comienza con una V). Se trataba de un compilador diseado para manejar mltiples lenguajes,

entre ellos C y Pascal, y compatible con ordenadores de objetivos mltiples. Le escrib al autor
para pedirle el permiso de utilizarlo en GNU.
Me respondi burlonamente, diciendo que la universidad era free, pero no el compilador [2]. Por lo
tanto, decid que mi primer programa para el proyecto GNU sera un compilador multilenguaje y
multiplataforma.
Para evitar tener que escribir todo el compilador desde cero, obtuve el cdigo fuente del compilador
Pastel, que era multiplataforma y haba sido desarrollado en el Lawrence Livermore Lab. El
compilador soportaba y estaba escrito en una versin ampliada de Pascal, diseada para usarse
como lenguaje de programacin de sistemas. Le agregu una interfaz para C y comenc a
adaptarlo al ordenador Motorola 68000, pero tuve que abandonar la idea al descubrir que el
compilador necesitaba demasiados megabytes de espacio, mientras el sistema Unix 68000 admita
solo 64k.
Not que el compilador Pastel analizaba por completo el fichero de entrada transformndolo en un
rbol sintctico, despus converta todo el rbol en una cadena de instrucciones generando
luego todo el fichero de salida, sin liberar en ningn momento el espacio ocupado. As, conclu que
tendra que escribir un nuevo compilador desde cero. Se trata del compilador que se conoce ahora
como GCC; no hay nada del compilador Pastel en l, pero logr adaptar y usar la interfaz para C
que haba escrito. Pero eso sucedi aos ms tarde, antes trabaj en el desarrollo de Emacs de
GNU.
Emacs de GNU
Comenc a trabajar en Emacs de GNU en septiembre de 1984, y a principios de 1985 ya
comenzaba a ser utilizable. Esto me permiti empezar a utilizar sistemas Unix para las tareas de
edicin. Como nunca me interes aprender a usar vi ni ed, hasta entonces haba editado en otro
tipo de mquinas.
En aquel momento ya haba personas que comenzaban a mostrarse interesadas en usar Emacs de
GNU, lo que plante la cuestin de cmo distribuirlo. Por supuesto, lo puse en el servidor annimo
ftp del ordenador del MIT que yo usaba (a raz de ello, ese ordenador el prep.ai.mit.edu se
convirti en el principal sitio de distribucin ftp de GNU, y cuando fue retirado unos aos despus,
transferimos el nombre a nuestro nuevo servidor ftp). Pero en aquella poca muchas de las
personas interesadas no tenan acceso a Internet y por lo tanto no podan obtener copias por ese
medio. Qu decirles?

Podra haberles dicho: Busca un amigo que est en la red y que te haga una copia. O podra
haber hecho lo mismo que hiciera con el Emacs original para PDP-10, decirles: Envame una
cinta y un sobre prefranqueado y con tu direccin, te lo devolver por correo con una copia de
Emacs. Pero como no tena trabajo y estaba buscando la manera de ganarme la vida con el
software libre, anunci que enviara la cinta a quien me la pidiera a cambio de ciento cincuenta
dlares. Fue as que inici una empresa de distribucin de software libre, precursora de las que
hoy en da distribuyen enteros sistemas GNU/Linux.
Un programa es libre para cualquier usuario?
Si un programa es software libre cuando sale de las manos del autor, esto no significa
necesariamente que seguir siendo software libre para todos los que posean una copia del mismo.
Por ejemplo, el software de dominio pblico (software que no est sujeto a copyright) es software
libre, pero cualquiera puede tomarlo y hacer a partir de l una versin modificada privativa. Lo
mismo ocurre con muchos programas libres que estn sujetos a copyright pero se distribuyen bajo
simples licencias permisivas que autorizan el desarrollo de versiones modificadas privativas.
El ejemplo paradigmtico de este problema es el sistema de ventanas X. Programado en el MIT y
publicado como software libre con una licencia permisiva, fue rpidamente adoptado por varias
empresas informticas que aadieron X a sus sistemas Unix privativos en formato binario
nicamente y lo pusieron bajo el mismo acuerdo de no divulgacin. As, estas copias de X
pasaron a ser software privativo, tal como lo era Unix.
Los desarrolladores del sistema de ventanas X no consideraban que esto fuese un problema,
esperaban y buscaban que sucediese. Su meta no era la libertad sino solo el xito, medido en
funcin del nmero de usuarios. No les preocupaba si esos usuarios tenan libertad o no, solo que
fueran numerosos.
Esto condujo a una situacin paradjica: dos maneras distintas de medir el grado de libertad daban
por resultado dos respuestas distintas a la pregunta Es libre este programa?. Si se juzgaba en
base a la libertad que otorgaban las clusulas de distribucin de la versin publicada por el MIT, se
poda decir que X era software libre. Pero si se meda la libertad del usuario medio de X, se poda
concluir que X era software privativo. La mayora de los usuarios de X utilizaba las versiones
privativas que venan con los sistemas Unix, no la versin libre.

El copyleft y la GPL de GNU


El objetivo de GNU era otorgar libertad a los usuarios, no simplemente alcanzar la popularidad.
Para ello tenamos que aplicar trminos de distribucin que impidieran que el software de GNU
pudiera ser convertido en software privativo. El mtodo que empleamos se denomina copyleft
(1).
El copyleft hace uso de la ley de copyright, pero le da la vuelta de modo que sirva para una
finalidad opuesta a la habitual: en lugar de ser un medio para restringir un programa, se transforma
en un medio para preservarlo como software libre.
La idea central del copyleft es que le otorgamos a todo el mundo el permiso para ejecutar el
programa, copiarlo, modificarlo y redistribuir versiones modificadas; pero no le damos permiso para
aadirle restricciones por su cuenta. De esta manera, las libertades cruciales que definen el
software libre quedan garantizadas para todo aquel que posea una copia; estas libertades se
transforman en derechos inalienables.
Para que el copyleft sea efectivo, las versiones modificadas tambin deben ser libres. Esto
garantiza que toda obra basada en la nuestra quedar disponible para la comunidad si llegara a
publicarse. Cuando los programadores que trabajan como empleados en el campo de la
programacin se ofrecen como voluntarios para mejorar software de GNU, es el copyleft lo que
impide que sus empleadores les digan: No puedes compartir esos cambios porque los queremos
usar para crear nuestra versin privativa del programa.
La exigencia de que los cambios deben ser libres es esencial para preservar la libertad de todos
los usuarios del programa. Las empresas que privatizaron el sistema de ventanas X, generalmente
realizaron algunos cambios para adaptarlo a sus sistemas y a su hardware. Estos cambios fueron
pequeos comparados con la envergadura de X, pero no triviales. Si hacer cambios fuera una
excusa para denegar libertad a los usuarios, cualquiera podra fcilmente aprovecharse de esa
excusa.
La combinacin de un programa libre con cdigo que no es libre plantea un problema similar.
Inevitablemente, tal combinacin no ser libre; cualesquiera sean las libertades que le falten a la
parte que no es libre, le faltarn tambin al todo. Permitir tales combinaciones abrira un agujero lo
suficientemente grande como para hundir un barco. Por consiguiente, una funcin crucial del
copyleft es tapar ese agujero: cualquier cosa que se aada o se combine con un programa que

est cubierto por el copyleft, debe ser adecuada para que la versin combinada total tambin sea
libre y tambin est bajo copyleft.
La implementacin especfica de copyleft que usamos para la mayora del software de GNU es la
Licencia Pblica General de GNU (GNU General Public License) o GPL de GNU, para abreviar.
Tenemos otros tipos de copyleft para circunstancias especficas. Los manuales de GNU tambin
estn bajo copyleft, pero es un copyleft mucho ms simple, porque la complejidad de la GPL de
GNU no es necesaria para los manuales (2).
(1) En 1984 o 1985, Don Hopkins (un compaero muy imaginativo) me envo una carta. En el sobre
haba escrito varios dichos graciosos, entre ellos el siguiente: Copyleft todos los derechos
reversados[3]. Utilic la palabra copyleft para denominar el concepto de distribucin que estaba
desarrollando en aquella poca.
(2) Ahora para la documentacin usamos la Licencia de documentacin libre de GNU (FDL de GNU).
La Free Software Foundation
A medida que creca el inters por el uso de Emacs, otras personas se involucraron en el proyecto
GNU, y decidimos que haba llegado el momento de volver a conseguir fondos. Con ese objetivo,
en 1985 creamos la Free Software Foundation (FSF), una organizacin sin nimo de lucro exenta de
impuestos que se dedica al desarrollo de software libre. La FSF tambin se hizo cargo de la
distribucin de Emacs, y ms adelante comenz a aadir en las cintas otros programas libres de
GNU (adems de otros que no eran de GNU) y a vender manuales libres.
La mayor parte de los ingresos de la FSF provena de la venta de copias de software libre y otros
servicios relacionados: CD-ROM con cdigo fuente, CD-ROM con los binarios, elegantes manuales
impresos (todos con la libertad para redistribuirlos y modificarlos) y distribuciones de lujo con toda
la coleccin de software lista para usar en la plataforma preferida del cliente). Hoy en da la FSF
contina con la venta de manuales y otros artculos, pero obtiene la mayor parte de su financiacin de
las cuotas de los socios. Puede unirse a la FSF en fsf.org.
Los empleados de la Free Software Foundation han escrito y se han encargado del mantenimiento de
una serie de paquetes de GNU. Dos ejemplos significativos son la biblioteca C y la consola. Todo
programa que se ejecuta en un sistema GNU/Linux utiliza la biblioteca C de GNU para
comunicarse con Linux, el ncleo; fue programada por Roland McGrath, un miembro del personal
de la Free Software Foundation. La consola que se usa en la mayora de los sistemas GNU/Linux se

denomina BASH, acrnimo de Bourne Again SHell (1), y fue desarrollada por Brian Fox, tambin
empleado de la FSF.
Financiamos el desarrollo de esos programas porque el Proyecto GNU no se limitaba nicamente a
proveer herramientas o un entorno de desarrollo. Nuestra meta era construir un sistema operativo
completo, y necesitbamos esos programas para alcanzarla.
(1) Bourne Again Shell es un juego de palabras con Bourne Shell, el nombre de la consola
comnmente utilizada en Unix.
Software libre y servicios relacionados
La filosofa del software libre rechaza una prctica empresarial especfica y ampliamente difundida,
pero no est contra el comercio. Cuando las empresas respetan la libertad de los usuarios, les
deseamos mucho xito.
La venta de copias de Emacs es un ejemplo de actividad comercial con software libre. Cuando la
FSF me sustituy en esa actividad, tuve que buscar otro medio de vida. Lo encontr en la venta de
servicios relacionados con el software libre que yo haba programado. Esto inclua la enseanza de
temas tales como la programacin de Emacs de GNU y la personalizacin de GCC, como as
tambin el desarrollo de software, sobre todo la migracin de GCC a nuevas plataformas.
Hoy en da existen corporaciones que ponen en prctica cada uno de esos tipos de actividad
comercial con software libre. Algunas distribuyen colecciones de software libre en CD-ROM; otras
ofrecen asistencia tcnica a varios niveles, desde responder a las preguntas de los usuarios y
corregir errores en los programas, hasta aadir nuevas funcionalidades de cierta relevancia.
Incluso vemos que estn empezando a surgir empresas cuya actividad consiste en el lanzamiento
de nuevos productos de software libre.
Pero tenga cuidado: hay empresas que se asocian con el trmino cdigo abierto (open source)
cuyo negocio se basa en realidad en software que no es libre que funciona con software libre. No
son empresas de software libre sino compaas de software privativo cuyos productos inducen a
los usuarios a abandonar su libertad. Etiquetan esos productos como paquetes con valor
aadido, lo que demuestra cules son los valores que tales empresas desearan que
adoptramos: conveniencia antes que libertad. Si valoramos ms la libertad, deberamos
denominarlos paquetes con libertad sustrada.

Objetivos tcnicos
El principal objetivo de GNU es ser software libre. Aun en el caso de que GNU no tuviese ventajas
tcnicas sobre Unix, tendra una ventaja social, permitir la colaboracin entre los usuarios, y otra
ventaja tica, respetar la libertad de los usuarios.
Pero resultaba natural aplicar a nuestro trabajo los estndares conocidos de buenas prcticas; por
ejemplo, la asignacin dinmica de las estructuras de datos para evitar los lmites de tamao fijo
arbitrarios y el empleo de todos los cdigos de ocho bits posibles, cuando fuera apropiado.
Adems, rechazamos el enfoque de Unix sobre el uso de una memoria reducida, y as decidimos
no dar soporte para mquinas de 16 bits (estaba claro que las mquinas de 32 bits seran la norma
para cuando el sistema GNU estuviese terminado) y no hacer ningn esfuerzo para reducir el uso
de memoria a menos que excediera un megabyte. En los programas en los que no fuera
fundamental manejar ficheros muy grandes, animamos a los programadores a leer el fichero de
entrada completo en el core y luego explorar su contenido sin tener que preocuparse del I/O.
Estas decisiones hicieron posible que muchos programas de GNU superaran a los anlogos de
Unix en confiabilidad y velocidad.
Donacin de ordenadores
A medida que creca la reputacin del Proyecto GNU, la gente comenz a ofrecer al proyecto la
donacin de mquinas con Unix instalado. Fueron muy tiles, porque la manera ms fcil de
desarrollar componentes de GNU era hacerlo en un sistema Unix, reemplazando los componentes
del sistema uno a uno. Pero esto trajo aparejado el dilema tico de si era correcto para nosotros
poseer aunque fuera tan solo una copia de Unix.
Unix era y es software privativo, y segn la filosofa del Proyecto GNU no debamos usarlo.
Pero aplicando el mismo razonamiento que lleva a justificar la violencia en defensa propia, conclu
que era igualmente legtimo usar un paquete privativo cuando ello resultara crucial para poder
desarrollar un reemplazo libre que ayudara a los dems a dejar de usar el paquete privativo.
Sin embargo, aun si se trataba de un mal justificable, no dejaba de ser un mal. En la actualidad ya
no tenemos ms copias de Unix porque las hemos reemplazado por sistemas operativos libres.
Cuando no hemos podido reemplazar el sistema operativo de una mquina por uno libre, hemos
reemplazado la mquina completa.

La lista de tareas de GNU


Mientras se prosegua con las labores en el Proyecto GNU, se desarrollaron o se encontraron
componentes para el sistema en nmero cada vez mayor, por lo que eventualmente nos pareci
til elaborar una lista de las piezas que an faltaban, que usamos luego para reclutar
programadores que las desarrollaran. Esta es la lista que posteriormente se llam lista de tareas
de GNU. Adems de los componentes Unix faltantes, aadimos a la lista otros proyectos de
software y documentacin tiles que, en nuestra opinin, deba tener todo sistema verdaderamente
completo.
En la actualidad (1) ya no queda casi ningn componente Unix en la lista de tareas GNU; se
concluyeron todas, excepto unas pocas que no son esenciales. Pero la lista contiene muchos
proyectos que podran considerarse aplicaciones. Cualquier programa que despierte el inters
de las personas ms all del reducido grupo de usuarios de un cierto tipo ser algo til para
aadir a un sistema operativo.
Incluso hay juegos en la lista de tareas y han estado all desde el principio. Unix inclua juegos, as
que naturalmente tambin tenan que estar en GNU. Los juegos no presentaban ningn problema
de compatibilidad, as que no seguimos el modelo de juegos que tena Unix. Decidimos en cambio
incluir en la lista una gama de diferentes tipos de juegos que pueden resultar agradables para los
usuarios.
(1) El texto se escribi en 1998. En 2009 ya no tenemos una larga lista de tareas. La comunidad
programa software libre con tanta rapidez que incluso no podemos seguir la pista de todos. En
cambio tenemos una lista bastante ms corta de proyectos altamente prioritarios y queremos
animar a la gente a trabajar en ellos.
La GPL de GNU para bibliotecas
La biblioteca C de GNU usa un tipo especial de copyleft denominado GNU Library General Public
License (1) (Licencia Pblica General de GNU para Bibliotecas) que autoriza el enlace de software
privativo con la biblioteca. Por qu hacemos esta excepcin?
No es una cuestin de principios; no existe ningn principio que establezca el derecho de incluir
nuestro cdigo en productos de software privativo (por qu contribuir a un proyecto que se rehsa
a compartir con nosotros?). El uso de la LGPL para la biblioteca C, o para cualquier otra biblioteca,
es ms bien una cuestin de estrategia.

La biblioteca C tiene una funcin genrica; todo sistema o compilador privativo incluye una
biblioteca C. Por lo tanto, poner nuestra biblioteca a disposicin nicamente para el software libre,
no habra significado ninguna ventaja para este, pero s hubiera desalentado el uso de nuestra
biblioteca.
Existe un sistema que es una excepcin a lo anterior: en un sistema GNU (incluidos los sistemas
GNU/Linux), la biblioteca C de GNU es la nica biblioteca C. Por lo que los trminos de distribucin
de la biblioteca C de GNU determinan si es posible o no compilar un programa privativo para el
sistema GNU. No hay ninguna razn tica para autorizar la incorporacin de aplicaciones privativas
en el sistema GNU, pero estratgicamente pareciera que denegar dicha autorizacin desalentara
el uso del sistema GNU en lugar de incentivar el desarrollo de aplicaciones libres. Por esta razn,
usar la GPL para bibliotecas (Library GPL) es una buena estrategia para la biblioteca C.
Para otras bibliotecas, es necesario evaluar caso por caso la estrategia a adoptar. Cuando una
biblioteca desempea una funcin especial que puede facilitar el desarrollo de cierto tipo de
programas, publicarla bajo la GPL limitndola nicamente a programas libres es una manera
de ayudar a otros programadores de software libre, ya que se les otorga una ventaja con respecto
al software privativo.
Consideremos por ejemplo la biblioteca Readline de GNU, desarrollada para editar los comandos
para BASH. Readline se publica bajo la GPL de GNU ordinaria, no bajo la GPL para bibliotecas. Es
probable que de esta manera se reduzca el uso de Readline, pero ello no supone una prdida para
nosotros. Por otro lado, al menos una aplicacin til ha sido transformada en software libre
especficamente para poder usar Readline, y esta es una conquista importante para la comunidad.
Los desarrolladores de software privativo tienen las ventajas que proporciona el dinero; quienes
desarrollan software libre tienen que generar ventajas entre s. Tengo la esperanza de que algn
da podremos contar con una amplia coleccin de bibliotecas cubiertas por la GPL que no tengan
equivalentes como software privativo, bibliotecas que provean mdulos tiles para constructir
nuevos programas libres y que faciliten el desarrollo de software libre en el futuro.
(1) Esta licencia ahora se llama GNU Lesser General Public License (Licencia Pblica General
Reducida de GNU), para evitar transmitir la idea de que se debe usar para todas las bibliotecas.
Para ms informacin, vase Por qu en su prxima biblioteca no debera utilizar la GPL Reducida.

Una necesidad personal?


Eric Raymond dice: Todo buen trabajo de software comienza con el deseo del programador de
satisfacer una necesidad personal. Puede que a veces sea cierto, pero muchos de los
componentes esenciales del software de GNU se programaron con el fin de obtener un sistema
operativo libre completo. Nacieron como resultado de una visin y de un plan, no a causa de un
impulso.
Por ejemplo, desarrollamos la biblioteca C de GNU porque un sistema similar a Unix necesita una
biblioteca C, BASH porque un sistema de tipo Unix necesita una consola, y el tar de GNU porque
un sistema similar a Unix necesita un programa tar. Lo mismo se aplica a mis propios programas, el
compilador C de GNU, Emacs de GNU, GDB y Make de GNU.
Algunos de los programas de GNU se desarrollaron para afrontar amenazas especficas a nuestra
libertad. Por esta razn desarrollamos gzip para reemplazar Compress, programa que nuestra
comunidad haba perdido a causa de las patentes de LZW. Buscamos personas para programar
LessTif y, ms recientemente, iniciamos GNOME y Harmony, para abordar los problemas que
plantean ciertas bibliotecas privativas (vase ms adelante). Estamos desarrollando Privacy Guard
de GNU para reemplazar software popular de cifrado que no es libre, porque los usuarios no deben
verse obligados a elegir entre privacidad y libertad.
Por supuesto, la gente que escriba estos programas se interes en el trabajo, y varias personas
aadieron muchas funcionalidades para satisfacer sus propias necesidades e intereses. Pero ese
no es el motivo por el cual existe el programa.
Situaciones inesperadas
Al comienzo del Proyecto GNU, mi idea era que desarrollaramos el sistema GNU completo y luego
lo publicaramos como un todo. Pero no fue as.
Debido a que cada uno de los componentes del sistema GNU se implement en un sistema Unix,
todos podan ejecutarse en sistemas Unix mucho antes de que el sistema GNU hubiera sido
completado. Algunos de esos programas adquirieron popularidad, y los usuarios comenzaron a
extenderlos y portarlos a las distintas versiones incompatibles de Unix y en ciertos casos tambin a
otros sistemas.
Como resultado de ese proceso, los programas adquirieron mayor potencia y atrajeron ms fondos
y colaboradores al Proyecto GNU. Pero probablemente eso tambin demor por varios aos la

conclusin de un sistema mnimo funcional, dado que el tiempo de los desarrolladores de GNU se
asignaba al mantenimiento de esas migraciones y a aadir funcionalidades a los componentes ya
existentes en lugar de continuar, uno tras otro, con el desarrollo de los componentes que faltaban.
El Hurd de GNU
En 1990 el sistema GNU estaba casi terminado, el nico componente importante que faltaba era el
ncleo. Habamos decidido implementar nuestro ncleo como una coleccin de procesos de
servidor que se ejecutaran sobre Mach. Mach es un microncleo desarrollado en la Carnegie
Mellon University y luego en la Universidad de Utah. El Hurd de GNU es una coleccin de
servidores (por ejemplo, una manada de us) que se ejecutan sobre Mach y se ocupan de las
diversas tareas como en el ncleo Unix. El inicio del desarrollo se retras a la espera de que Mach
se publicara como software libre, tal como se haba prometido.
Una de las razones por la que optamos por este diseo fue para evitar lo que pareca ser la parte
ms dura del trabajo: depurar un ncleo sin contar con un depurador de cdigo fuente para
hacerlo. Esta parte del trabajo ya haba sido realizada en Mach, y esperbamos depurar los
servidores de Hurd como programas de usuario, con GDB. Pero llev mucho tiempo lograrlo, y los
servidores multihilo que se intercambian mensajes resultaron ser muy difciles de depurar.
Conseguir que Hurd funcione slidamente se ha demorado muchos aos.
Alix
El ncleo de GNU originalmente no iba a llamarse Hurd. Su nombre original era Alix, por alusin a
mi novia de aquel entonces. Ella era administradora de sistemas Unix y haba hecho notar que su
nombre segua el esquema de nomenclatura que era comn en las versiones de los sistemas Unix.
A modo de broma, le dijo a sus amigos alguien debera darle mi nombre a un ncleo. Yo no dije
nada, pero decid sorprenderla con un ncleo llamado Alix.
El nombre no se conserv. Michael Bushnell (actualmente Thomas), el programador principal del
ncleo, prefiri el nombre Hurd y redefini Alix para referirse a cierta parte del ncleo, la parte que
captura las llamadas del sistema y las administra mediante el envo de mensajes a los servidores
de Hurd.
Ms adelante Alix y yo nos separamos y ella cambi su nombre. Independientemente de eso, el
diseo de Hurd se modific para que los mensajes a los servidores fueran enviados directamente
por la biblioteca C, por lo que el componente Alix desapareci del diseo.

Pero antes de que sucediera todo esto, un amigo de ella encontr el nombre Alix en el cdigo
fuente de Hurd, y se lo coment. As que al fin de cuentas Alix pudo ver su nombre en un ncleo.
Linux y GNU/Linux
El Hurd de GNU no est listo para el uso en produccin, y no sabemos si alguna vez lo estar. El
diseo basado en la capacidad [capability-based design] presenta dificultadades como consecuencia
directa de la flexibilidad del diseo, y no est claro que existan soluciones.
Afortunadamente, disponemos de otro ncleo. En 1991 Linus Torvalds program un ncleo
compatible con Unix y lo denomin Linux. Al principio era privativo, pero en 1992 lo convirti en
software libre; la combinacin de Linux con el sistema GNU que an no estaba completamente
terminado di como resultado un sistema operativo libre completo (claramente la combinacin en
s misma supuso la realizacin de un trabajo fundamental). Es debido a Linux que en la actualidad
podemos ejecutar una versin del sistema GNU.
A esta versin del sistema la llamamos GNU/Linux para manifestar el hecho de que el sistema est
compuesto por una combinacin del sistema GNU con el kernel Linux. Recomendamos no adoptar
la costumbre de llamar Linux al sistema completo, ya que eso implica atribuir nuestro trabajo a
otra persona. Tenga a bien mencionarnos equitativamente.
Desafos en el futuro
Hemos demostrado nuestra capacidad para desarrollar un amplio espectro de software libre. Esto
no significa que somos invencibles o que nada nos puede detener. Varios desafos hacen que el
futuro del software libre sea incierto. Afrontarlos requerir esfuerzos firmes y mucha resistencia, a
veces durante aos. Se necesita mucha determinacin, como la que demuestran quienes valoran
su libertad y no dejan que nadie se las quite.
En las cuatro secciones que siguen se analizan dichos desafos.
Hardware secreto
Los fabricantes de hardware tienden cada vez ms a mantener secretas las especificaciones de
sus productos. Esto dificulta el desarrollo de controladores libres para que Linux y XFree86 puedan
reconocer el hardware nuevo. Hoy disponemos de sistemas libres completos, pero maana no los
tendremos si no son compatibles con los ordenadores del futuro.

Existen dos maneras de abordar este problema. Los programadores pueden recurrir a la ingeniera
inversa para analizar de qu manera se puede soportar el hardware. El resto de nosotros podemos
optar por usar hardware que sea compatible con el software libre. A medida que aumente el
nmero de usuarios de software libre, mantener las especificaciones en secreto se transformar en
una poltica contraproducente.
La ingeniera inversa implica un trabajo enorme, tendremos programadores con la suficiente
determinacin para realizarla? S, siempre que hayamos logrado construir un fuerte sentimiento de
que el software libre es una cuestin de principios, y de que los controladores que no son libres son
intolerables. Seremos suficientes los que estaremos dispuestos a invertir dinero extra, o incluso
algo de tiempo extra, para que podamos usar controladores libres? S, si se difunde la
determinacin de obtener nuestra libertad.
(Aclaracin de 2008: esta cuestin tambin se aplica al BIOS. Existe un BIOS libre
llamado LibreBoot, una distribucin de coreboot; el problema es conseguir las especificaciones de
las mquinas para que LibreBoot pueda reconocerlas sin tener que recurrir a paquetes binarios que
no son libres).
Bibliotecas que no son libres
Una biblioteca que no es libre y que funciona sobre sistemas operativos libres acta como una
trampa para los programadores de software libre. Las caractersticas atractivas de la biblioteca son
el cebo: si usted usa la biblioteca, cae en la trampa, porque su programa no puede integrarse de
manera til a un sistema operativo libre (estrictamente hablando, podramos incluir su programa,
pero no funcionar sin esa biblioteca). Peor an, si se populariza un programa que utiliza una
biblioteca privativa, puede hacer caer en la trampa a otros programadores incautos.
La primera vez que se present este problema fue con el kit de herramientas Motif, all en los aos
ochenta. Aunque en aquel entonces no haba todava sistemas operativos libres, el problema que
Motif iba a causarles ms adelante estaba claro. El Proyecto GNU respondi de dos maneras:
solicitando a los proyectos individuales de software libre que admitiesen tanto los widgets del kit
libre de herramientas de X como Motif, y solicitando el desarrollo de un reemplazo libre para Motif.
La tarea tom muchos aos. Solo en 1997 LessTif, desarrollado por los Hungry Programmers,
adquiri la potencia necesaria como para admitir la mayora de las aplicaciones Motif.
Entre 1996 y 1998, otra biblioteca del kit de herramientas GUI que no era libre, denominada Qt, se
us en una amplia coleccin de software libre: el escritorio KDE.

Los sistemas libres GNU/Linux no podan usar KDE porque no podamos incorporar la biblioteca.
No obstante, algunos distribuidores comerciales de sistemas GNU/Linux que no eran tan estrictos
con respecto a la inclusin de software libre, aadieron KDE a sus sistemas, obteniendo as un
sistema con ms funcionalidades pero con menos libertad. El grupo de KDE instaba activamente a
los programadores a usar Qt, mientras millones de nuevos usuarios de Linux ni siquiera haban
odo hablar del problema. La situacin era desalentadora.
La comunidad del software libre abord este problema de dos maneras: GNOME y Harmony.
GNOME, el GNU Network Object Model Environment, es el proyecto de escritorio de GNU. El proyecto
fue inciado en 1997 por Miguel de Icaza y se desarroll con el apoyo de Red Hat Software con el
objetivo de proporcionar prestaciones similares, pero usando software libre exclusivamente. Tiene
tambin ventajas tcnicas, tales como admitir una variedad de lenguajes, no solo C++. Pero su
propsito principal era la libertad: evitar el uso de cualquier software que no fuese libre.
Harmony es una biblioteca sustitutiva compatible, diseada para poder ejecutar el software KDE
sin usar Qt.
En noviembre de 1998, los desarrolladores de Qt anunciaron un cambio de licencia que, cuando se
llevase a cabo, convertira Qt en software libre. No puedo afirmarlo con certeza, pero pienso que en
parte esto de se debi a la firme respuesta de la comunidad frente al problema que presentaba Qt
cuando no era libre (la nueva licencia es inadecuada e injusta, por lo que sigue siendo preferible
evitar el uso de Qt).
(Nota posterior: en Septiembre de 2000 Qt se public bajo la licencia GPL de GNU, lo que
esencialmente solucion este problema).
Cmo responderemos a la prxima tentacin que nos presente una biblioteca que no sea libre?
Comprender la comunidad entera la necesidad de mantenerse alejados de la trampa? O
alguno de nosotros entregar su libertad a cambio de la conveniencia, generando as un problema
fundamental? Nuestro futuro depende de nuestra filosofa.
Patentes de software
La peor amenaza a la que nos enfrentamos proviene de las patentes de software, que pueden
impedir el uso de algoritmos y funcionalidades en el desarrollo de software libre hasta por veinte
aos. Las patentes del algoritmo de compresin LZW se introdujeron en 1983, y hasta el da de
hoy no podemos publicar software libre que produzca archivos en formato GIF adecuadamente

comprimidos. En 1998 hubo que suspender la distribucin de un programa libre para producir
archivos de audio comprimidos en el formato MP3 a causa de una amenaza de demanda judicial
por patentes.
Existen algunos mtodos para afrontar el problema de las patentes: podemos buscar pruebas para
demostrar la invalidez de la patente, y podemos buscar maneras alternativas de realizar una tarea.
Pero cada uno de estos mtodos funciona solo en algunos casos; cuando ambos fallan, una
patente puede impedir la implementacin en todo el software libre de alguna funcionalidad que los
usuarios desean. Qu haremos entonces?
Quienes valoramos el software libre por la libertad que nos otorga, seguiremos usndolo de todos
modos. Buscaremos el modo de realizar nuestro trabajo sin las funcionalidades patentadas. Pero
quienes valoran el software libre porque esperan que sea tcnicamente superior, tendern a
calificar de fracaso el software que no se puede desarrollar a causa de las patentes. Por ende, si
bien es til hablar acerca de la efectividad prctica del modelo de desarrollo llamado bazar, y de
la confiabilidad y la potencia de cierto software libre, no debemos quedarnos solo con eso.
Debemos hablar de libertad y de principios.
Documentacin libre
La mayor carencia de nuestros sistemas operativos libres no est en el software sino en la falta de
buenos manuales libres que podamos incluir en nuestros sistemas. La documentacin es una parte
esencial de cualquier paquete de software; cuando un paquete importante de software libre no
cuenta con un buen manual libre, nos encontramos con una laguna fundamental. En la actualidad
existen muchas de estas lagunas.
La documentacin libre, al igual que el software libre, es una cuestin de libertad, no de precio. El
criterio que se aplica a los manuales libres es muy similar al del software libre: otorgar a los
usuarios ciertas libertades. La redistribucin incluso la venta comercial debe estar permitida,
tanto en forma digital como en papel, de modo que se pueda incluir el manual con cada copia del
programa.
La autorizacin para modificarlo tambin es crucial. Como regla general, no creo que sea esencial
que las personas tengan permiso para modificar todo tipo de artculos y libros. Por ejemplo, no creo
que usted ni yo estemos obligados a autorizar la modificacin de artculos como este, en el que se
describen nuestros actos y nuestros puntos de vista.

Pero existe una razn especfica debido a la cual la libertad para modificar la documentacin es
crucial para el software libre. Cuando las personas ejercen su derecho a modificar el software y
aaden o cambian sus funcionalidades, si son concienzudas modificarn tambin el manual para
que la documentacin sea precisa y se pueda utilizar con el programa modificado. Un manual que
no es libre, que no permite a los programadores ejercer su sentido de la responsabilidad y terminar
el trabajo, no satisface las necesidades de nuestra comunidad.
No hay inconveniente alguno en establecer ciertos tipos de lmites a las modificaciones que se
pueden realizar, como por ejemplo el requisito de preservar el aviso de copyright del autor original,
los trminos de distribucin o la lista de autores. Tampoco ocasiona ningn problema el requisito
que exige incluir una nota advirtiendo que se trata de una versin modificada, ni prohibir la
alteracin o la cancelacin de enteras secciones, siempre y cuando dichas secciones traten temas
que no sean de ndole tcnica. Restricciones de este tipo no ocasionan ningn problema porque no
impiden al programador concienzudo cambiar el manual para adaptarlo al programa modificado. En
otras palabras, son restricciones que no le impiden a la comunidad del software libre la plena
utilizacin del manual.
Sin embargo, se debe autorizar la modificacin de todo el contenido tcnico del manual, como as
tambin la distribucin del resultado a travs de todos los medios y canales habituales; de no ser
as, las restricciones estaran obstruyendo la comunidad. En ese caso el manual no ser libre, y
ser necesario escribir otro.
Tendrn los desarrolladores de software libre la conciencia y la determinacin para producir una
amplia gama de manuales libres? Una vez ms, nuestro futuro depende de nuestra filosofa.
Es necesario hablar de libertad
En la actualidad se estima que hay unos diez millones de usuarios de sistemas GNU/Linux tales
como Debian GNU/Linux y Red Hat Linux. El software libre ha desarrollado tales ventajas
prcticas que un gran nmero de usuarios lo eligen por razones puramente prcticas.
Los resultados positivos de esto son evidentes: mayor inters en el desarrollo de software libre,
ms clientes para las empresas de software libre, y mayor capacidad para animar a las compaas
a desarrollar software libre comercial en lugar de productos de software privativo.
Pero el inters por el software crece ms rpidamente que la conciencia de la filosofa sobre la cual
se funda, y esto crea problemas. Nuestra capacidad de enfrentar los desafos y amenazas que se

describieron anteriormente depende de la voluntad de mantenernos firmes a favor de la libertad.


Para asegurarnos de que nuestra comunidad tenga esta voluntad, es necesario difundir la idea
entre los nuevos usuarios a medida que llegan a nuestra comunidad.
Pero estamos fracasando en eso: los esfuerzos para atraer nuevos usuarios a nuestra comunidad
superan con creces los esfuerzos dedicados a ensearles nuestros principios. Tenemos que hacer
ambas cosas, y es necesario mantener un equilibrio entre ambos esfuerzos.
Open Source (cdigo abierto)
Ensear a los nuevos usuarios el valor de la libertad comenz a resultar ms difcil a partir de
1998, cuando parte de la comunidad decidi abandonar la expresin software libre
reemplazndola por software de cdigo abierto (open source software en ingls).
La intencin de algunos de los que adoptaron la nueva expresin era evitar la confusin entre
free y gratis, un objetivo razonable. Otros, sin embargo, apuntaban a dejar de lado los
principios que haban dado vida al movimiento del software libre y al Proyecto GNU, con el
propsito de atraer a los ejecutivos y usuarios empresariales, quienes en su gran mayora
sostienen una ideologa que antepone los beneficios econmicos a la libertad, a la comunidad, a
los principios. Por lo tanto, la retrica del cdigo abierto se centra en la posibilidad de desarrollar
software potente y de alta calidad, pero elude las ideas de libertad, comunidad y principios.
Las revistas sobre Linux son un claro ejemplo de esto. Estn inundadas de publicidad sobre
software privativo que funciona en GNU/Linux. La prxima vez que nos encontremos con productos
como Motif o Qt, advertirn estas revistas a los programadores aconsejndoles que los eviten, o
publicarn anuncios para promoverlos?
Dejando aparte todos los dems factores, el apoyo empresarial es til y puede contribuir a la
comunidad de varias maneras. Pero si para obtenerlo optamos por mencionar an menos el tema
de la libertad y los principios, el resultado puede ser desastroso; se agudizara el desequilibrio
entre la difusin del software libre y la enseanza de sus principios.
Las expresiones software libre y cdigo abierto se refieren aproximadamente a la misma
categora de software, pero describen conceptos muy diferentes acerca del software y de los
valores. El proyecto GNU contina utilizando el trmino software libre para expresar la idea de
que la libertad, y no solamente la tecnologa, es importante.

You might also like