Después de dar vueltas y vueltas con el tema y como contarlo me pareció la mejor manera que sea el propio Richard Stallman quien lo cuente. Yo solo voy a copiar algunos párrafos de su libro Software libre para una sociedad libre!
Donde ademas podrán leerlo completo o descargarlo.

Introducción

por Lawrence Lessig

Profesor de Derecho, Universidad de Standford
CADA GENERACIÓN TIENE SU FILÓSOFO: un escritor o un artista que plasma la
imaginación de una época. A veces estos filósofos son reconocidos como tales, pero a menudo pasan generaciones antes de que se caiga en la cuenta. Sin embargo, con reconocimiento o sin él, cada época queda marcada por la gente que expresa sus ideales, sea en el susurro de un poema o en el fragor de un movimiento político.
Nuestra generación tiene un filósofo. No es un artista, tampoco un
escritor profesional. Es un programador. Richard Stallman comenzó
su trabajo en los laboratorios del MIT como programador y arquitecto desarrollando software de sistemas operativos. Ha desarrollado su carrera en la vida pública como programador y arquitecto fundando un movimiento por la libertad en un mundo cada vez más definido por el «código».
El «código» es la tecnología que hace que los ordenadores funcionen. Esté inscrito en el software o grabado en el hardware, es el conjunto de instrucciones, primero escritas como palabras, que dirigen la funcionalidad de las máquinas. Estas máquinas (ordenadores) definen y controlan cada vez más nuestras vidas. Determinan cómo se
conectan los teléfonos y qué aparece en el televisor. Deciden si el
vídeo puede enviarse por banda ancha hasta un ordenador.
Controlan la información que un ordenador remite al fabricante.
Estas máquinas nos dirigen. El código dirige estas máquinas.

1.El Proyecto GNU

La primera comunidad que comparte software
Cuando entré a trabajar en el Laboratorio de Inteligencia Artificial (AI Lab) del MIT en 1971, pasé a formar parte de una comunidad que compartía software y llevaba haciéndolo durante años. El acto de compartir software no se circunscribe a nuestra comunidad en particular: es tan antiguo como los propios ordenadores, lo mismo que compartir recetas es tan viejo como la cocina. Simplemente, nosotros lo hacíamos en mayor medida.
En el AI Lab se utilizaba un sistema operativo de tiempo compartido llamado ITS (Incompatible Timesharing System), diseñado y escrito por los hackers de la plantilla del AI lab en lenguaje ensamblador para el Digital PDP-10, uno de los ordenadores más grandes de la época. Como miembro de esta comunidad y hacker de sistemas para el AI Lab, mi labor consistía en mejorar dicho sistema.
No llamábamos «software libre» a nuestro software porque el término no existía todavía; pero era exactamente eso. Cuando alguien de otra universidad o de otra empresa quería instalar y utilizar un programa, se lo prestábamos de buen grado. Si descubrías a alguien

utilizando un programa poco habitual e interesante, siempre podías preguntarle por el código fuente, leerlo, modificarlo o canibalizar partes de él para montar un programa nuevo.

El colapso de la comunidad.

La situación cambió drásticamente a principios de los años ochenta, con la desaparición de la comunidad hacker del AI Lab, seguida de la desaparición del ordenador PDP-10.
En 1981, la empresa pionera Symbolics contrató a casi todos los hackers del AI Lab, y nuestra diezmada comunidad fue incapaz de sobrevivir. (En el libro Hackers, Stephen Levy describe estos acontecimientos, a la vez que nos proporciona un panorama bastante preciso de lo que fue la época dorada de esta comunidad). Cuando el AI Lab compró un nuevo PDP 10 en 1982, sus administradores decidieron usar un sistema Digital de tiempo compartido no libre en lugar del ITS en la nueva máquina.
Poco después, Digital dejó de fabricar la serie PDP-10. Su arquitectura elegante y poderosa de los años sesenta no podía adaptarse de forma natural a los grandes espacios de direccionamiento característicos de los años ochenta. Esto explica que casi todos los programas que integraban el sistema ITS resultaran obsoletos. De esa manera se enterraba

definitivamente al ITS: quince años de trabajo tira dos por la borda.
Los modernos ordenadores de la época, como el VAX o el 68020,contaban con su propio sistema operativo, pero ninguno utilizaba software libre. Había que firmar un acuerdo de confidencialidad incluso para obtener una copia ejecutable.
Todo ello significaba que antes de poder utilizar un ordenador tenías que prometer no ayudar a tu vecino. Quedaban así prohibidas las comunidades cooperativas. Los titulares de
software propietario establecieron la siguiente norma: «Si compartes con tu vecino, te conviertes en un pirata. Si quieres hacer algún cambio, tendrás que rogárnoslo».

Una elección moral radical.

Una vez desapareció mi comunidad, era imposible seguir como hasta entonces. De modo que me enfrenté a un dilema moral radical.
Lo más fácil hubiera sido subirme al tren del software propietario, firmar acuerdos de confidencialidad y prometer no ayudar a mis compañeros hackers. Es muy probable que ahora me dedicara a desarrollar software publicado con cláusulas de confidencialidad, presionando así a otros para traicionar también a sus compañeros.
Podría haber ganado mucho dinero de esta forma, y quizás me hubiera divertido escribiendo código. Pero sabía que, al final de mi carrera, echaría la vista atrás y sólo habría contribuido a levantar muros para dividir a la gente, habría pasado toda mi vida convirtiendo este mundo en un lugar mucho peor.
Ya había experimentado lo que se siente al firmar un acuerdo de confidencialidad cuando una persona se negó a entregarnos, a mí y al AI Lab, el código fuente del programa de control de nuestra impresora. (La ausencia de ciertas funciones en este programa convertía el uso de la impresora en una experiencia muy frustrante). De modo que no podía engañarme sobre la inocencia de estos acuerdos. Monté en cólera cuando aquel individuo se negó a compartirlo con nosotros.
No podía hacerle lo mismo al resto del mundo. Otra opción, más directa aunque desagradable, hubiera sido abandonar el mundo de los ordenadores. De esa manera no malgastaría mis aptitudes, aunque con todo seguirían sin servir de nada. No sería culpable de dividir y restringir la libertad a los usuarios de ordenadores, pero eso llegaría tarde o temprano. Decidí estudiar la manera en que un programador podría hacer algo por el bien común. Me pregunté si podía escribir uno o varios programas que permitiesen resucitar nuevamente a nuestra extinta comunidad.
La respuesta era obvia: la primera cosa necesaria era crear un sistema operativo, el software crucial para empezar a utilizar un ordenador. Con un sistema operativo puedes hacer muchas cosas; sin él, ni siquiera puedes hacer funcionar un ordenador. Mediante un sistema operativo libre podríamos armar una nueva comunidad cooperativa de hackers  e invitar a todos a que se uniesen a ella.
Cualquiera podría utilizar un ordenador sin verse obligado previamente a conspirar para privar de esto a sus amigos.
Como desarrollador de un sistema operativo, tenía las aptitudes necesarias para desempeñar esta labor. De manera que, aun cuando el éxito no estuviera asegurado, comprendí que había sido elegido para llevar a cabo esta misión. Opté por crear un sistema compatible con Unix para dotarle así de portabilidad y facilitar el cambio a los usuarios de Unix. El nombre de GNU fue elegido según una tradición de los hackers, como un acrónimo recursivo de «GNU’s Not Unix».
Un sistema operativo no significa sólo un kernel, que apenas permite ejecutar otros programas. En los años setenta, cualquier sistema operativo decente incluía sus propios procesadores de comandos, ensambladores, compiladores, intérpretes, depuradores, editores de texto, gestores de correo y mucho más. ITS, Multics, VMS y Unix, todos incluían estos componentes.

Libre en su acepción de libertad

A veces se malinterpreta el término de «software libre» para empezar, no tiene ninguna relación con el precio. Lo que nos interesa es la libertad. He aquí la definición de software libre. Un programa es software libre siempre que, como usuario particular, tengas:


1-La libertad de ejecutar el programa sea cual sea el propósito.

2-La libertad de modificar el programa para ajustarlo a tus necesidades. (Para que se trate de una libertad efectiva en la práctica, deberás tener acceso al código fuente, dado que sin él la tarea de incorporar cambios en un programa es extremadamente difícil)

3-La libertad de redistribuir copias, ya sea de forma gratuita, ya sea a cambio del pago de un precio.

4-La libertad de distribuir versiones modificadas del programa, de tal forma que la comunidad pueda aprovecharlas mejoras introducidas.

 Dado que nos referimos a la libertad y no al precio, no existe contradicción alguna entre la venta de copias y el software libre. De hecho, la libertad para vender copias es crucial: las colecciones de software libre a la venta en formato de CD-ROM son muy importantes

para la comunidad y venderlas es una forma de recaudar fondos para el desarrollo de software libre. Por lo tanto, cualquier programa que no podamos incluir en estas colecciones no podrá calificarse de software libre.
Dada la ambigüedad del calificativo «libre», llevamos mucho tiempo buscando alternativas, pero nadie ha encontrado ninguna satisfactoria. La lengua inglesa es de las más rica en lo que a palabras y matices se refiere, pero carece de un término simple e inequívoco para «libre» en el sentido de libertad —«unfettered» [sin cadenas]
sería el calificativo que más se ajusta al significado. Alternativas como «liberado», «libertad» o «abierto» no significan lo mismo o presentan otros inconvenientes.
Estos son solo algunos de los párrafos que me parecen introductorios y fundamentales para empezar a conocer la los primeros pasos del software libre, ademas podes escuchar a Richard Stallman en este link:  Stallman Conferencia en Peru.
Nos vemos en la próxima entrada!
Editor:  Rikylinux