Capítulo 6. Universidad

6.1 Hablar en jeringoso

Fui parte del movimiento del software libre durante muchos años, pero no
lo sabía. Cuando era estudiante de posgrado, publiqué el código fuente
de un proyecto; eso era lo que se hacía en las universidades en 1991. La
publicación del código fuente de un proyecto formaba parte de la
publicación de un artículo sobre el mismo. Y la academia había puesto la
publicación del código bastante alto en su lista de requerimientos.

Mi primer gran publicación se produjo en mayo de 1991 cuando hice
circular un programa que permitía a la gente ocultar mensajes secretos
como texto inocuo. Mi programa convertía cualquier mensaje en una
simpática jugada por jugada de un partido de béisbol, como "¡No existe
contacto en Mudsville! Es una bola rápida con alas. No hay golpe en esa.
Está descorchando lo que parece una bola de saliva. ¡Woooosh! ¡Strike!
Es un Out!." El mensaje secreto estaba codificado en la elección de
frases. "Es un out!" significaba algo diferente de "Él se lo abre a
Orville Baskethands". El programa permitía que la información mutara a
otras formas, al igual que los monstruos que cambian de forma de The
X-Files. Remití un anuncio al influyente grupo de noticias comp.risks y
pronto cientos de personas pidieron copias gratuitas del software.

Creé este programa porque el Senador Joe Biden presentó un proyecto de
ley en el Senado que requeriría que los fabricantes de todas las redes
informáticas proporcionaran una manera para que la policía obtuviese
copias de cualquier mensaje. La Oficina Federal de Investigaciones,
entre otros, temía tener problemas para obtener pruebas si las personas
podían codificar los datos. Mi software ilustró lo difícil que sería
detener el flujo de información.

La mejor parte - y quizás la más sorprendente - de todo el florecimiento
del correo electrónico se produjo cuando un tipo que nunca había
conocido, D. Jason Penney, convirtió el programa de ofuscamiento de
Pascal en el más popular C. Lo hizo por su cuenta y me remitió el nuevo
software convertido de vuelta. Cuando le pregunté si podía distribuir su
versión, dijo que era mi programa. Solo estaba ayudando.

Nunca pensé mucho más en ese proyecto hasta que comencé a escribir este
libro. Si bien dos o tres personas al mes escribían pidiendo copias del
software, nunca se convirtió en más que un foco de investigación sobre
los fundamentos de los códigos secretos y una pizca de truco matemático.
Se trató más un ejercicio académico que un prototipo de algo que pudiera
rivalizar con Microsoft y hacerme rico.

En el pasado, había pensado que el proyecto nunca se convirtió en más
que un lindo juguete porque no existía mercado para él. Como producto no
era útil a las empresas, y nadie inicia una empresa sin la esperanza de
que millones de personas necesiten desesperadamente un producto. Los
proyectos necesitaban programadores y los programadores cuestan dinero.
Simplemente supuse que otros proyectos de software libre caerían en el
mismo abismo de la falta de financiación.

Hoy, tras investigar el mundo del software libre, estoy convencido de
que mi proyecto fue un pequeño éxito. La contribución de Penney no fue
solo una extraña aberración, sino un evento relativamente común en
Internet. Las personas están bastante dispuestas a tomar una pieza de
software que les interese, modificarla para adaptarla a sus necesidades
y luego devolverla al mundo. Claro, la mayoría de las personas solo
disponen de unas pocas horas a la semana para trabajar en tales
proyectos, pero se suman. El trabajo de Penney hizo que mi software
fuera más fácil de usar para muchos programadores de C, por lo que se
difundió aún más.

De hecho, es posible que subconscientemente haya estado menospreciando
el proyecto. Tomó solo tres o cuatro días de mi tiempo y un poco más del
de Penney, pero consistía en una versión completa de un poderoso sistema
de encriptación funcional. Claro, no fluía dinero, pero eso puede
haberlo hecho más exitoso. Penney probablemente no me habría dado su
versión C si hubiera sabido que la iba a vender. Probablemente habría
exigido una tajada. Se habrían involucrado abogados. Todo el proyecto se
habría enredado con contratos, fechas de lanzamiento, licencias de
distribución y otras molestias que simplemente no valían la pena por una
manera improvisada de ocultar mensajes. Claro, el dinero es bueno, pero
el dinero también trae problemas.


6.2 Efectivo versus compartir

En las décadas de 1980 y 1990, los programadores de las universidades
aún compartían mucho con el mundo. La noción de compartir el código
fuente con el mundo debe mucho a la tradición académica de publicar los
resultados para que otros puedan leerlos, pensar en ellos, criticarlos
y, en última instancia, ampliarlos. Muchas de las agencias
gubernamentales que otorgan subvenciones, como la Fundación Nacional de
Ciencias y la Agencia de Proyectos de Investigación Avanzada de Defensa,
fomentaron este intercambio al exigir explícitamente que las personas
con subvenciones liberasen el código fuente al mundo sin restricciones.
Gran parte de Internet fue creada por personas que se sometían a este
tipo de contratos e insistían en estándares compartidos que no fuesen
propietarios. Esta tradición ha caído en tiempos más difíciles a medida
que las universidades se obsesionaron más con las ganancias asociadas
con las patentes y la investigación por contrato, pero la idea es tan
poderosa que es difícil de desplazar.

El Movimiento del Software Libre en particular le debe mucho al
Instituto Tecnológico de Massachusetts. Richard Stallman - el hombre al
que se atribuye el inicio del Movimiento - comenzó a trabajar en los
laboratorios informáticos del MIT en la década de 1970. Se le atribuye
el mérito de desencadenar la revolución porque escribió el Manifiesto
GNU en 1984. Este documento explicaba en detalle por qué es esencial
compartir el código fuente de un programa con otros. Stallman se tomó el
asunto en serio porque también practicó lo que escribió y contribuyó con
varios programas excelentes, incluido un editor de texto con miles de
funciones.

Por supuesto, Stallman no se atribuye el mérito de haber tenido la idea
de compartir el código fuente. Añora con mucho cariño sus primeros años
en el MIT y habla de cómo todos compartían su código fuente y software
sin restricciones. Las computadoras eran nuevas, complicadas y
temperamentales. La cooperación era la única forma en que se podía
lograr algo con ellas. Es por eso que IBM compartía el código fuente con
los sistemas operativos en sus mainframes a principios de la década de
1960.

Esta tradición comenzó a desvanecerse a principios de la década de 1980
cuando comenzó la revolución de las microcomputadoras. Las empresas se
dieron cuenta de que la mayoría de la gente solo quería un software que
funcionara. No necesitaban el código fuente y todas las instrucciones
que solo los programadores podían leer. Por lo tanto, las empresas
aprendieron rápidamente que podían quedarse con el código fuente y
mantener a sus clientes relativamente contentos mientras dejaban fuera a
la competencia. Eran reyes que construyeron un muro para mantener
alejados a los intrusos.

El Manifiesto GNU surgió como la reacción más radical a la tendencia de
bloquear el código fuente. Mientras que mucha gente observó el
Manifiesto GNU con confusión, otros se convirtieron parcialmente.
Comenzaron a donar el código que habían escrito. Algunos arrojaron
programas de utilidad genéricos al puchero, algunos ofrecieron juegos y
algunos enviaron paquetes sofisticados que hacían funcionar impresoras,
redes o incluso redes de impresoras. Algunos incluso se convirtieron en
discípulos completos y comenzaron a escribir código a tiempo completo
para el proyecto GNU. Este crecimiento fue ignorado en gran medida por
el mundo, fascinado con el crecimiento de Microsoft. Sin embargo, cada
vez más programadores pasaban más tiempo mezclándose con el proyecto
GNU, y se estaba afianzando.

A principios de la década de 1980, un sistema operativo conocido como
UNIX se había vuelto muy popular en universidades y laboratorios. AT&T
lo había diseñado y compilado en los Laboratorios Bell durante la década
de 1970. Al principio, la empresa compartió el código fuente con
investigadores e informáticos de universidades, en parte porque la
empresa era un monopolio al que solo se le permitía vender servicios
telefónicos. UNIX fue solo un experimento que la compañía emprendió para
ayudar a ejecutar la próxima generación de conmutadores telefónicos, que
ya se estaban convirtiendo en computadoras especializadas.

Al principio, dicho proyecto había solo sido un ejercicio académico,
pero toda la investigación y el intercambio ayudaron a crear un buen
sistema operativo con una amplia audiencia. UNIX resultó ser bastante
bueno. Cuando la compañía telefónica comenzó a dividirse en 1984, la
gente de AT&T se preguntó cómo podrían obtener ganancias de lo que había
sido una inversión sustancial en tiempo y dinero. Comenzaron pidiendo a
las personas que usaban UNIX en las universidades que firmaran acuerdos
de confidencialidad.

Stallman consideró esto como control mental y la muerte de una gran
tradición. Muchos otros en las universidades fueron más pragmáticos.
AT&T había dado mucho dinero y recursos a la universidad. ¿No era justo
que la universidad devolviera algo?

Stallman consideró el punto de forma diferente. Sí, AT&T había sido
amable al otorgaba becas a la universidad, pero ¿no eran siempre amables
los amos cuando daban monedas de madera a sus esclavos? Para Stallman,
la versión binaria que AT&T comenzó a distribuir al mundo carecía de
valor real. Sólo los sumos sacerdotes y unos pocos afortunados podía
acceder a leer su código fuente. Disfrutaban del caviar y la champaña.
Stallman vio a esta fuerza corporativa central y controladora como el
enemigo, y comenzó a nombrar su obra con el acrónimo recursivo GNU, que
significaba "GNU's Not UNIX". El proyecto GNU tenía como objetivo
producir un sistema operativo completo que hiciera todo lo que UNIX hizo
sin el costo moral, emocional o ético. Los usuarios podrían leer el
código fuente del sistema operativo de Stallman y modificarlo sin firmar
un duro acuerdo de confidencialidad redactado por equipos de abogados.
Serían capaces de jugar con su software en total libertad. Stallman
señala que nunca tuvo como objetivo producir un sistema operativo que no
tuviese costo alguno. El mundo puede estar fascinado con la noción de
una etiqueta de precio de cero, pero para Stallman, eso fue solo un
efecto secundario de compartir sin restricciones.

Su sueño era crear un sistema independiente que pudiera hacer todo con
software libre, pero aún faltaba mucho para que fructificara, y Stallman
fue lo suficientemente inteligente como para comenzar con un proyecto
manejable. Comenzó produciendo un editor de texto conocido como GNU
Emacs. El programa fue un gran éxito porque era altamente
personalizable. Algunas personas solo usaron el programa para editar
documentos, pero otras lo programaron para realizar tareas más
sofisticadas, como leer su correo electrónico y generar respuestas
automáticas. La gerencia le dijo a un programador que tenía que incluir
muchos comentarios en su código fuente, por lo que programó GNU Emacs
para insertarlos automáticamente. Un profesor creó una versión de GNU
Emacs que insertaría automáticamente elogios aleatorios en las
solicitudes a su secretaria.[^2] Prácticamente todo en Emacs se podía
cambiar o personalizar. Si no le gusta presionar la tecla Suprimir para
corregir un carácter mal escrito, puede hacer que la tecla 6 haga lo
mismo. Esto podría dificultar la escritura de números, pero el usuario
era libre de arruinar su vida tanto como quisiera.

[2]: "¿Dónde están esos informes que te pedí que copiaras? Estás
haciendo un gran trabajo. Gracias por toda la ayuda", en un día.
"¿Alguna vez vas a copiar esos informes? Estás haciendo un gran trabajo.
Gracias por toda la ayuda", en el siguiente. Microsoft tardó años en
ponerse al día con la solución de Stallman, e incluso entonces la
implementaron de una manera peligrosa. Permitieron que las personas
crearan pequeños programas personalizados para modificar documentos,
pero se olvidaron de evitar los ataques maliciosos. código para hacer
estragos. Hoy en día, Microsoft Word permite que pequeños programas
llamados virus de macro deambulen por todo el planeta. Abra un documento
de Word y un virus podría estar al acecho.

En la década de 1980, el mundo del software libre se dedicó a proyectos
como este. GNU Emacs se convirtió en un gran éxito en el mundo académico
donde los administradores de sistemas podían instalarlo gratis y no
preocuparse por contar estudiantes o negociar licencias. Además, las
mentes inteligentes pudieron apreciar mejor la genial flexibilidad que
Stallman había diseñado en el sistema. La gente inteligente perdía el
tiempo agregando filtros al editor de texto que escaneaban su texto y lo
traducían a, como, Valley Girl talk o más jive urbano.

El proyecto GNU creció al aceptar contribuciones de muchas personas de
todo el país. Algunos eran programas bastante sofisticados y llamativos
como GNU Chess, un programa ajedrecístico que era bastante competitivo y
tan bueno como todos los paquetes excepto los mejores. La mayoría eran
herramientas simples para manejar muchas de las tareas diarias para
correr un sistema informático. Los administradores de sistemas,
estudiantes y programadores de todo el país a menudo aceptaban trabajos
pequeños porque se sentían obligados a arreglar algo. Cuando terminaban,
algunos enviaban el código fuente al proyecto GNU.

El mayor proyecto de programación de Stallman para GNU durante la década
de 1980 fue escribir el compilador GNU C (GCC). Este programa fue una
herramienta importante pues convierte el código fuente C escrito por
humanos en el código máquina comprendido por las computadoras. El
paquete GCC fue una piedra angular importante para el proyecto GNU de
varias maneras. Primero, es uno de los mejores compiladores que existen.
En segundo lugar, podría portarse fácilmente de una máquina a otra.
Stallman lo portó personalmente a varias plataformas grandes distintas,
tales como la línea de procesadores x86 de Intel. Tercero, el paquete
era gratuito, lo que en el caso del software GNU significaba que
cualquiera podía usar y modificar el software libremente.

El GCC proporcionó un importante efecto armonizador al proyecto GNU.
Alguien podría escribir su programa en una máquina construida por
Digital, compilarlo con GCC y estar bastante seguro de que se ejecutaría
en todas las demás máquinas que tuviesen GCC. Eso permitió que el
software GNU migrara libremente por todo el mundo, de máquina en
máquina, de Sun a Apollo, de DEC a Intel.

La licencia de GCC también atrajo a muchos desarrolladores e ingenieros
curiosos. Cualquiera podía usar el código fuente para sus proyectos, y
muchos lo hicieron. Con el tiempo, el compilador pasó de una máquina a
otra a medida que los usuarios lo convertían. A veces, un ingeniero de
la compañía de chips recompilaba el compilador para que funcionara en un
nuevo chip. A veces, un usuario haría lo propio como proyecto. En
ocasiones, un estudiante lo hacía cuando le atacaba el insomnio. De
alguna manera, se movió de una máquina a otra y llevó consigo todo el
resto del software GNU.

El siguiente gran salto se produjo a principios de la década de 1990
cuando la gente empezó a darse cuenta de que un sistema operativo
completamente gratuito era una posibilidad seria. Stallman siempre había
soñado con reemplazar UNIX con algo que fuera igual de bueno y
acompañado del código fuente, pero era una tarea grande. Fue la razón
por la que inició el proyecto GNU. Lento pero seguro, el proyecto GNU
fue ensamblando las piezas para que funcionara. Había cientos de
pequeñas utilidades y herramientas más grandes donadas al proyecto GNU,
y esas pequeñas partes comenzaban a acumularse.

El movimiento del software libre también le debe mucho a Berkeley, o más
precisamente a un pequeño grupo en el Departamento de Ciencias de la
Computación de la Universidad de California en Berkeley. El grupo de
hackers incondicionales - que incluía profesores, investigadores
asociados, estudiantes graduados y algunos estudiantes universitarios -
había desarrollado una versión de UNIX conocida como BSD (Berkeley
Software Distribution). AT&T compartió su versión de UNIX con Berkeley,
y los programadores de Berkeley arreglaron, ampliaron y mejoraron el
software. Estas extensiones formaron el núcleo de BSD. Su trabajo fue en
parte experimental y en parte práctico, pero los resultados fueron
ampliamente aceptados. Sun Microsystems, una de las empresas de
estaciones de trabajo UNIX de Silicon Valley, usó una versión en sus
máquinas a principios de la década de 1990 cuando crearon una nueva
versión conocida como Solaris incorporando parte del System V de AT&T.
Muchos sienten que BSD y su enfoque siguen siendo la base de el sistema
operativo.

El gran problema fue que el equipo construyó su versión sobre el código
fuente de AT&T. La gente de Berkeley y sus cientos - si no miles - de
amigos, colegas y estudiantes que contribuyeron al proyecto regalaron su
código fuente, pero AT&T no lo hizo. Esto le dio a AT&T control sobre
cualquiera que quisiera usar BSD, y la compañía estaba lejos de estar
lista para unirse al Movimiento del Software Libre. Se gastaron millones
de dólares en la investigación para desarrollar UNIX; la empresa quería
recuperar algo de dinero.

El equipo de Berkeley se defendió y Keith Bostic - uno de los miembros
del equipo central - comenzó a organizar a las personas para escribir el
código fuente que podría reemplazar dichos componentes. A principios de
la década de 1990, había engatusado a suficientes amigos para lograrlo.
En junio de 1991, el grupo produjo "Networking Release 2", una versión
que incluía casi toda una versión funcional completa de UNIX. Todo lo
que necesitaba hacer era agregar seis archivos para tener un sistema
operativo completo.

AT&T no estaba contenta. Había creado una división separada conocida
como UNIX Systems Laboratory y quería obtener ganancias. El código
fuente gratuito de Berkeley representaba una dura competencia. Así que
el Laboratorio de Sistemas UNIX la demandó.

Esta demanda marcó el final del papel prominente de las universidades en
el desarrollo de software libre. Repentinamente, la demanda atrajo la
atención de todos y les hizo darse cuenta de que tomar dinero de las
corporaciones entraba en conflicto con compartir el código fuente del
software. Richard Stallman abandonó el MIT en 1984 cuando entendió que
la necesidad de dinero de una universidad finalmente superaría su
creencia en el intercambio total del código fuente. Stallman era solo un
miembro del personal que mantenía las computadoras en funcionamiento. No
era un profesor titular que oficialmente podía hacer lo que se le
ocurriera. Entonces comenzó la Free Software Foundation y nunca miró
hacia atrás. El MIT lo ayudó al principio cediéndole espacio, pero
estaba claro que la relación estaba llegando a su fin. Las universidades
necesitaban dinero para funcionar. Los profesores de muchas
instituciones tenían cuotas que especificaban cuánto dinero de la
subvención necesitaban recaudar. Stallman no estaba ganando dinero
regalando su software.

Mientras tanto, en la otra costa, la demanda ató a Berkeley y al
proyecto BSD durante varios años, y el proyecto perdió energía y tiempo
valiosos al dedicarlos a la lucha legal. Mientras tanto, otros proyectos
de software completamente libres comenzaron a surgir en todo el mundo.
Estos comenzaron en estudios, y dependían de las máquinas que tuviese el
programador. Uno de estos proyectos iniciado por Linus Torvalds crecería
eventualmente hasta convertirse en Linux, el motor imparable de la
exageración y la gloria. No tenía el dinero del departamento de ciencias
de la computación de Berkeley, y no tenía las últimas máquinas que les
daban las corporaciones. Pero tenía libertad y la pila de código fuente
que provenía de proyectos libres y no afiliados como GNU que se negaba a
comprometerse y tomar atajos intelectuales. Aunque Torvalds no se dio
cuenta en ese momento, lo más valioso de todo resultó ser la libertad.