ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
Código abiertoSoftware libre

Una historia de UNIX: movimiento del software libre y el proyecto GNU

Esa filosofía de compartir también el código fuente del software del software, como hacían con UNIX, se perdió. Estados Unidos lo cambió todo y las empresas comenzaron a verlo como un producto que se podía explotar monetariamente hablando. Fue este paso el que hizo que los hackers se rebelaran, el que dio comienzo a los llamados piratas informáticos y todas esas UNIX Wars de las que hemos hablado en artículos previos.

Algunos incluso lo ven como una conspiración por parte del gobierno estadounidense. Piensan que EE.UU. era el mayor productor de software de aquella época, eran conscientes de ello y estaban «inundando» el mundo con sus programas debido a la poca o nula industria informática de otros países. Cerrándolo se podía incluir código para otros fines sin que los usuarios lo supiesen. Otros piensan que simplemente se debía a algo puramente económico…

Historia del movimiento del software libre

Richard Stallman

El software se vuelve producto

Software libre y código abierto no son lo mismo, aunque algunos lo usen como sinónimo. Pero eso es algo que pasaré por alto para ir directamente a la historia. Para que hoy podamos elegir entre software propietario y de código abierto/libre, alguien tuvo que iniciar todo este movimiento.

Nos tenemos que remontar a los años 60-70, cuando el software no era considerado un producto como tal. Lo consideraban un complemento para los ordenadores (hardware) que vendían en la época. Suponían que vender máquinas sin programas no era de utilidad y por eso incluían este elemento y también el código fuente. Los usuarios compartían el código libremente, lo modificaban, creaban sus propios programas y se lo mostraban a los otros (véase grupos de usuarios como DECUS de DEC, SHARE de IBM, etc.).

Pero en los años 70 las compañías comenzarían a explotar comercialmente eso que no consideraban un producto, momento en el que también aparece UNIX. Para evitar que se compartiese y modificase, las compañías impusieron fuertes restricciones. Fue entonces cuando las grandes compañías de software comenzaron a presionar a los gobiernos para crear leyes que penaran el incumplimiento de las mismas. Nacían entonces las primeras licencias de software, y quien osaba a incumplirlas era condenado a prisión por varios años por pirata…

¿Qué paso entre estas dos épocas para que ocurriese ese cambio? Pues en 1969, IBM comenzó a distinguir entre servicios de software y hardware para las ventas. Hasta ese momento los clientes no pagaban por el software, simplemente se vendía el hardware que ya era caro de por sí (algo como lo que hace actualmente Apple). Tampoco se cobraba por otros servicios como la capacitación para usar los sistemas o la instalación, y por supuesto se aportaba el código fuente.

Tras esta desagregación, el software de IBM se dividió en dos categorías: programas de control del sistema y productos de programa. Los primeros se seguían difundiendo gratuitamente, mientras que los segundos, las aplicaciones, fueron cobradas. Eso hizo que la industria del software proliferara y pudiera dar a sus productos un valor monetario significativo. Y con eso el código empezó a cerrarse, y los servicios de formación, instalación, soporte, etc., también comenzaron a cobrarse.

¿Por qué IBM? ¿Y por qué esta desagregación? Pues fue el gobierno de Estados Unidos inició una demanda contra IBM por monopolizar el mercado de la computación. Eso obligó a IBM a realizar esta distinción, ya que era la principal empresa fabricante de equipamiento informático de la época. Tras el anuncio de IBM de que vendería por separado el software del hardware a partir de 1970, el resto de empresas serían arrastradas por esta corriente.

Eso supuso un punto de inflexión… Lo que viene después una reacción a consecuencia de todo esto.

Stallman contra los molinos de viento

Y un joven físico llamado Richard Stallman comienza a trabajar en los laboratorios del MIT. Allí se encargaba de desarrollar y mejorar sus propios sistemas operativos, y fue donde se sumergió en una comunidad hacker mientras trabajaba en el sistema operativo CTSS (Compatible Time-Sharing System). Aunque CTSS no significó una revolución, sirvió para ver que el tiempo compartido era viable, y su sucesor sería Multics (esa historia ya la conoces, ¿verdad?).

Stallman estaba en esa época donde se respiraba filosofía hacker, las personas que se sentaban delante de la computadora tenían el control total, el código se podía compartir libremente. La verdad es que debió ser una época dorada para la informática, y aún cuando en la actualidad he podido hablar con Stallman puedes sentir esa grandeza con algunas cosas que cuenta…

Stallman cuenta una anécdota de aquella época, cuando los sistemas operativos comenzaron a incluir contraseñas (se las debemos a Corbatón). Pero a Stallman no le gustaban esas barreras y encontró una forma de descifrar las contraseñas guardadas en las bases de datos codificadas de otros compañeros. Entonces comenzó a enviarles mensajes del tipo: «Hola, veo que has usado la contraseña ‘x’. ¿Qué tal si haces como yo y tecleas ENTER como contraseña? Es mucho más corto y fácil«. Así consiguió que una quinta parte de sus compañeros terminaran haciendo eso.

Poco a poco fue haciendo de la cultura hacker su forma de vida. Pero paralelamente a esos tiempos gloriosos estaba sucediendo lo que he comentado anteriormente sobre la desagregación sin que los usuarios y hackers de aquella época fueran conscientes de ello. De hecho, algunos trabajadores del MIT fundaron la compañía Symbolics y comenzaron a presionar a sus colegas para que usasen su software propietario y sustituyesen poco a poco al abierto.

Stallman hizo un gran esfuerzo para impedir esa implantación. Pero en 1983, Stallman era una de las últimas generaciones de hackers que aún quedaban en el laboratorio. Poco a poco fue cediendo al software privativo. Lo obligaron incluso a firmar un acuerdo de no divulgación y asumir cosas que él consideraba traiciones de principios fundamentales.

Para colmo, en aquella época le sucedió otro episodio a Richard que desataría todo el movimiento. Una impresora que usaban en el MIT y que compartían los trabajadores del laboratorio no funcionaba adecuadamente. Eso reducía la productividad, ya que se atascaba con frecuencia. Al enviar documentos a imprimir e ir a recogerlos, se encontraban que no había impreso debido a estos problemas.

Richard decidió modificar el controlador que manejaba la impresora para que, al menos, informase de esos atascos a los usuarios y así poder ir a solucionar el problema. Pero no disponía del código fuente del driver al haberse implantado poco a poco el software cerrado en el MIT. Entonces contactó con el fabricante de la impresora para que le facilitase el código fuente y le ofrecería arreglar el problema sin pedir nada a cambio.

Su sorpresa fue que la compañía se negó. El código que antes se compartía ahora se guardaba recelosamente. Eso hizo que la antipatía de Stallman por el modelo de negocio de software propietario creciese. Pero no fue el único, muchos otros hackers de la época comenzaron a rebelarse contra esta industria descifrando los códigos del software propietario y distribuirlos por la red libremente.

Aquí comenzarían las sanciones y las acusaciones a los hackers de piratas, quizás en parte también esto tenga parte de culpa de la confusión del término en la actualidad. Aunque personalmente considero que el problema es Hollywood y otros medios que usan el término hacker como sinónimo de ciberdelincuente…

A diferencia de otros hackers, Stallman no quería infringir la ley y terminar en la cárcel. Por eso dimitió en su cargo del MIT e iniciaría una guerra contra la industria del software propietario. El resultado fue la creación del proyecto GNU (1983), el Manifiesto GNU (1985), la creación de la licencia GPL, y un año más tarde la fundación de la FSF (Free Software Foundation). También acuñaría el término software libre y el concepto copyleft (cuando he hablado con él en castellano siempre lo traduce como izquierdo de autor).

No obstante, esto no impidió que grandes empresas como Microsoft o Apple comenzasen a vender sus productos sin el código fuente. Y la industria del software propietario crecía más y más, amasando enormes cantidades de dinero. En la actualidad parece que el software libre está comenzando a calar, y el código abierto, aunque solo sea por cuestiones prácticas, parece estar de «moda». Incluso ha traspasado fronteras más allá del software, llegando al hardware e incluso a otras industrias…

Richard Stallman solo era un hombre, no podía hacer mucho para cambiar las leyes, tampoco podía hacer cambiar la forma de pensar de las empresas. Pero su semilla ha hecho que hayan cambiado muchas cosas. Además, él era consciente en aquella época de que poco podía hacer, pero pensó que sabía programar bien y podía comenzar a hacer software libre para quien quisiera usarlo sin el yugo de las empresas.

GNU

GNU logo

GNU son las siglas del acrónimo recursivo GNU is Not Unix. Algo típico en la época, hacer este tipo de combinación de palabras para decir que «algo no es algo». El motivo de este nombre es que UNIX era el sistema de referencia en aquella época, y el preferido de los hackers. Por eso pretendía crear un sistema operativo similar, pero bajo la filosofía libre (con la licencia propia GPL o General Public License).

GNU crecía y nuevos miembros se unían para crear más programas. Muchos de los nuevos programadores eran voluntarios, pero también contrataría a varios de ellos en 1985. En los 90 tenían un compilador gcc, un compilador gdb, el intérprete de comandos bash, la mayoría de bibliotecas C estándar, el editor de texto GNU emacs, y otras partes.

Pero les faltaba lo principal, un kernel para su sistema operativo GNU. En 1986, Stallman decía tener un núcleo llamado TRIX. Un kernel desarrollado por el LCS (Laboratory for Computer Science) del MIT. Era libre y 100% compatible con Unix v7, por tanto ya estaba completo su sistema GNU …¿o tal vez no? Pues la respuesta resultó ser negativa. Los programadores de GNU decidieron en 1988 abandonar el proyecto TRIX dbido a que era compatible con 68k de Motorola, hardware muy caro y complejo para llevarlo a los hogares.

Entonces apuntaron hacia el núcleo tipo BSD denominado Mach, desarrollado por CMU (Carnegie Mellon University). GNU lo renombraría como kernel Alix y posteriormente rebautizado como Hurd por el programador Michael Bushnell. Los conflictos entre los programadores (Michael Bushnell, Ronald McGrath y Marcus Brinkmann), y otras razones técnicas (solo funcionaba en arquitecturas IA-32 y su complejidad), terminaron con el desarrollo de HURD (Hird of Unix Replacing Daemons). La complejidad se debía a que no era un núcleo normal, sino varios programas servidores interrelacionados entre sí que simulaban un sistema un sistema Unix.

GNU Hurd no murió del todo, su desarrollo es muy leve, pero sigue vivo. Puedes usarlo en distros como Arch Hurd, Debian GNU/Hurd, NixOS, Gentoo GNU Hurd, etc. De hecho, personalmente pregunté a Stallman sobre Hurd y me dijo esto:

“ Lanzamos el desarrollo del kernel GNU Hurd en 1990 para que el sistema operativo
libre GNU tuviera un kernel. Lancé el sistema GNU en 1983 para hacer posible el uso
de una computadora en libertad, lo que requiere un sistema operativo libre, compuesto
totalmente de programas libres. (Requiere de aplicaciones libres también, pero eso
sería otra etapa). Pero todos los sistemas operativos eran privados, es decir, privaban
de la libertad a quienes los usaban. Para hacer la informática en libertad, teníamos
que escaparnos de ellos.”
“Cualquier sistema operativo requiere un kernel como componente. Para un sistema
operativo libre, hacía falta un kernel libre. En 1990 no había ninguno. Linux, el kernel
que Torvalds desarrolló, no había comenzado. Ya teniendo (más o menos) todo el resto
del sistema, fue tiempo de comenzar el kernel.”
“Hoy en día, Linux es un kernel libre (a parte de los blobs binarios: programas de
firmware sin código fuente, escondidos en Linux), y funciona bien, entonces no hace
falta reemplazarlo. Por lo tanto, ya no damos prioridad al Hurd. Borramos los blobs
para tener una versión libre de Linux, que llamamos ‘Linux libre’ hasta en inglés, y
usamos el sistema GNU con Linux libre.”
“Por contraste, reemplazar los blobs (presentes en Linux como Torvalds lo publica)
por software libre es un proyecto de alta prioridad. Sin los blobs, algunos periféricos
no funciona; no usarlos es un sacrificio que hacemos por nuestra libertad. Queremos
hacerlos funcionar en libertad; entonces tenemos que reemplazar los blobs por
software libre.”.

Tras abandonar TRIX y Hurd apagarse, les seguía faltando algo… pero continuaré esta historia en el siguiente artículo.

Microsoft y el open-source/software libre

Logo de Open Source

Y todo este movimiento se ha convertido en un dolor de cabeza para Microsoft, como ya vimos en los artículos previos. De hecho, uno de los más preocupados en aquella época por el movimiento anti software propietario fue Bill Gates. El magnate llegaría a escribir una carta alegando que el software no propietario carecía de calidad, y tachando a los hackers de criminales, tachándolos de ladrones y compatibilizándolos de que no se escriben buenos programas.

¡Oye! Pero muchos que se autodenominan hackers parecen empeñados a seguir usando y subvencionando a la ex empresa de Bill: Microsoft…

Microsoft fue fundada en la época en la que el software comenzó a ser producto. Son fruto de eso y durante años han defendido ese modelo, con una fuerte oposición al código abierto y software libre al considerarlo «una amenaza«, un «cáncer de la propiedad intelectual« en sus propias palabras. Con ese paradigma, estrategias (como EEE y otras ¿recuerdas?) y fuertes campañas de marketing, consiguieron expandirse en la década de los 90 por servidores y PCs.

A pesar de eso Windows NT no acabó con UNIX, aunque muchos *nix se quedaron por el camino, y el código abierto sigue más vivo que nunca, incluso dentro de las entrañas de la propia Microsoft. Linux se ha erigido como el «vengador» de los *nix, por todos aquellos que cayeron. Para vengar las UNIX Wars y otros casos como el de Lindows (Linspire), las ingentes cantidades de dinero cobrado por Microsoft (ganancias que superan con creces a lo recaudado por el desastroso Windows Phone) por patentes de dispositivos Android y otros.

Por cierto, Lindows o Linspire/Freespire, por si no la conocías, es una distro que imitaba el entorno de Windows e incluía una tecnología C&R (Clic and Run) que permitía en aquellos años instalaciones con un solo clic. Además, incluye software nativo de Microsoft, como Office, PowerShell, etc. Por un precio que ronda los 50€ si no recuerdo mal, podías tener ese pack.

Resulta que Microsoft demandó a Lindows, esto produjo el cambio de nombre a Linspire (Microsoft compró el nombre Lindows por 20 millones). Pero después de tendieron la mano para aliarse y llegaron a acuerdos por algunas patentes y Linspire incluiría software MS como he comentado.

De hecho, algunos rumores apuntan a que el renacer de Linspire no se debe solo a sus desarrolladores y servicios, sino que algunas vulneraciones de la privacidad de sus usuarios y la obtención de datos privados que estaría facilitando a la propia Microsoft…

Microsoft desde 2010 está adoptado un nuevo paradigma contrario a su anterior oposición contra el open-source. Satya Nadella no es Bill Gates ni Steve Ballmer, pero no nos engañemos, como lo que me cité en un artículo anterior, sigue siendo una empresa y su objetivo es el dinero. ¿Para alguna empresa no lo es? Solo se están adaptado a los nuevos tiempos, y ahora manda el código abierto por cuestiones técnicas, lo necesitan para la nube, para el IoT, etc. Ahora son miembros de la Linux Foundation, han abierto algunos de sus proyectos, han adquirido GitHub,… ¡¡¡quién lo diría hace unos años!!!

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar