martes, 27 de enero de 2009

Historia de Unix (parte 3)

Parte 3 de la historia de Unix


Historia de Unix (3ra parte)


Orígenes e Historia de los Hackers, 1969 - 1995

La tradición Unix es una cultura implícita que siempre ha llevado consigo más que una simple colección de trucos técnicos. Transmite un conjunto de valores sobre la belleza y el buen diseño; tiene leyendas y héroes folclóricos. Entrelazada con la historia de la tradición Unix se encuentra otra cultura implícita que es más difícil de etiquetar limpiamente. Tiene sus propios valores y leyendas y héroes folclóricos, a veces traslapándose con aquellos de la tradición Unix y a veces derivados de otras fuentes. Ha sido más comúnmente llamada la "cultura hacker", y desde 1998 ha coincidido en su mayoría con lo que la prensa del comercio computacional llama "movimiento Open-Source" (Código Abierto).

Las relaciones entre la tradición Unix, la cultura hacker, y el movimiento open-source son sutiles y complejas. No quedan simplificadas por el hecho de que las tres culturas implícitas frecuentemente se han referido a los comportamientos de los mismos seres humanos. Pero desde 1990 la historia de Unix es en gran parte la historia de como los hackers de código abierto cambiaron las reglas y arrebataron la iniciativa a los vendedores Unix propietarios de la vieja escuela. Por lo tanto, la otra mitad de la historia detrás del Unix de hoy en día es la historia de los hackers.




Jugando en el recinto universitario: 1961 - 1980

Las raíces de la cultura hacker pueden rastrearse hacia 1961, el año en que MIT recibió su primera minicomputadora PDP-1. La PDP-1 fue una de las primeras computadoras interactivas, y (a diferencia de otras máquinas) en ese entonces suficientemente barata que el tiempo de uso en ella no tenía que ser rígidamente calendarizado. Atrajo la atención de un grupo de estudiantes curiosos del Tech Model Railroad Club (TMRC) que experimentaron con ella en un espíritu de diversión. Hackers: Heroes of the Computer Revolution [Levy] describe divertidamente los primeros días del club. Su más famoso logro fue SPACEWAR, un juego de cohetes espaciales que combaten inspirado por la serie de óperas espaciales Lensman de E. E. "Doc" Smith [18].

Muchos de los experimentadores del TMRC pasaron a convertirse en los miembros centrales del laboratorio de Inteligencia Artificial del MIT, que en los 60s y 70s se convirtió en uno de los centros mundiales de las ciencias de la computación más avanzadas. Tomaron algo del argot y las bromas internas del TMRC, incluyendo una tradición de unas bromas elaboradas (pero inofensivas) llamadas "hacks". Parece ser que los programadores del laboratorio de IA del MIT fueron los primeros en auto-definirse como "hackers".

Luego de 1969 el laboratorio de IA del MIT quedó conectado, vía la primera ARPANET, con otros laboratorios líderes en ciencias de la computación en Stanford, Bolt Beranek & Newman, la Universidad Carnegie-Mellon (CMU) entre otros. Investigadores y estudiantes tuvieron la primer probada de la forma en que un acceso rápido en red abolía geografías, a menudo haciendo que fuera más fácil colaborar y formar lazos de amistad con gente a la distancia en la red que con colegas que de otra forma estaban más cercanos pero menos conectados.

Software, ideas, argot, y una buena cantidad de humor fluyó por las ligas de la experimental ARPANET. Algo así como una cultura compartida comenzó a formarse. Una de sus creaciones más tempranas y más duraderas fue el Jargon File (el Archivo de la Jerga), una lista de términos de argot compartido que se originó en Stanford en 1973 y pasó por varias revisiones en MIT luego de 1976. En el camino acumuló argot de CMU, Yale, y otros sitios de la ARPANET.

Técnicamente, la primer cultura hacker estaba mayormente hospedada en minicomputadoras PDP-10. Usaban una variedad de sistemas operativos que hoy ya pasaron a la historia: TOPS-10, TOPS-20, Multics, ITS, SAIL. Programaban en ensamblador y dialectos de Lisp. Los hackers de las PDP-10 se responsabilizaron para mantener la ARPANET misma ya que nadie más quería el trabajo. Posteriormente, se convirtieron en el cuadro fundador de la Internet Engineering Task Force (IETF) y dieron origen a la tradición de estandarizaciones vía los Requests For Comments (RFCs).

Socialmente, eran jóvenes, excepcionalmente brillantes, en su gran mayoría varones, dedicados a programar hasta el punto de la adicción, y tendían a mostrarse fuertemente inconformes - lo que años después sería llamado 'geeks'. Ellos, también, solían ser hippies greñudos e imitadores de hippies. Ellos, también, tenían la visión de las computadoras como dispositivos constructores de comunidades. Leían a Robert Heinlein y a J.R.R. Tolkien, jugaban en la Sociedad del Anacronismo Creativo, y tendían a tener una debilidad por los juegos de palabras [NT16]. A pesar de sus caprichos (¡o quizás debido a ellos!) muchos de ellos se encontraban dentro de los programadores más brillantes del mundo.

Ellos NO eran programadores Unix. La primer comunidad Unix salió en su mayoría del mismo grupo de geeks en la universidad y los laboratorios del gobierno o de investigación comercial, pero las dos culturas diferían de formas importantes. Una que ya hemos mencionado era la débil capacidad de estar en red del primer Unix. No hubo un acceso efectivo de Unix a la ARPANET hasta después de 1980, y era poco común que cualquiera tuviera puestos sus pies en ambos campos.

El desarrollo colaborativo y el compartir código fuente era una táctica valiosa para los programadores Unix. Para los primeros hackers de la ARPANET, por otro lado, era más que una táctica: era algo más parecido a una religión común, que en parte surgió de la imperativa académica de "publica o muere" y (en sus versiones más extremas) desarrollándose en un idealismo casi chardinista [NT17] sobre comunidades mentales conectadas en red. El más famoso de estos hackers, Richard M. Stallman, se convirtió en el santo asceta de esta religión.


Notas al pie de esta sección:
[18] SPACEWAR no estaba relacionado con el juego Space Travel de Ken Thompson, aparte del hecho de que ambos encontraban referencias con los fans de la ciencia ficción.


Referencias bibliográficas de esta sección:
[Levy] Steven Levy. Hackers: Heroes of the Computer Revolution. Anchor/Doubleday. 1984. ISBN 0-385-19195-2. Disponible en la Red.


Notas de traducción de esta sección:
[NT16] El original en inglés 'pun', se traduce como 'calambur', que es un juego de palabras que, basándose en la homonimia, en la paronimia o en la polisemia, consiste en modificar el significado de una palabra o frase agrupando de distinta forma sus sílabas. Por ejemplo: 'plátano es/plata no es' (http://es.wikipedia.org/wiki/Calambur). Dejé la traducción con un término más genérico, 'juego de palabras'.

[NT17] Dejo el original en inglés porque, hasta ahora, no he hallado una traducción adecuada para el término original en inglés 'chardinist', del que no he encontrado muchas referencias, salvo las que me llevan de nuevo a escritos de Raymond sobre el mismo tema. Algo me hace pensar que es un término relacionado con la ciencia ficción, pero quien sabe...




Fusión con Internet y el Movimiento del Software Libre: 1981 - 1991

Luego de 1983 y el puerto de BSD para TCP/IP, las culturas de Unix y ARPANET comenzaron a fusionarse. Esto resultó ser lo más natural una vez que las ligas de comunicación estuvieron en su lugar, ya que ambas culturas se componían del mismo tipo de personas (de hecho, en pocos pero significativos casos por las mismas personas). Los hackers de ARPANET aprendieron C y comenzaron a usar el argot de tuberías, filtros, y shells; los programadores Unix aprendieron TCP/IP y comenzaron a llamarse "hackers" entre ellos. El proceso de fusión se aceleró luego de la cancelación del Proyecto Júpiter en 1983, que mató el futuro de la PDP-10. Para 1987 ambas culturas se habían mezclado tan bien que la mayoría de los hackers programaban en C y utilizaban de forma casual términos del argot que se remontaban al Tech Model Railroad Club de veinticinco años atrás.

(En 1979 yo era extraño al tener fuertes lazos con las dos culturas Unix y ARPANET. En 1985 eso ya no resultaba extraño. Para el momento en que expandí el antiguo Archivo de la Jerga de ARPANET en el Nuevo Diccionario Hacker [Raymond96], ambas culturas se habían fusionado eficazmente. El Archivo de la Jerga, nacido en ARPANET pero revisado en Usenet, simbolizaba de manera apta la fusión.)

Pero las redes TCP/IP y el argot no fueron las únicas cosas que la cultura hacker posterior a 1980 heredó de sus raíces en ARPANET. También obtuvo a Richard Stallman, y la cruzada moral de Stallman.

Richard M. Stallman (comúnmente conocido por su nombre de usuario, RMS) ya había demostrado a fines de los 70s que él era uno de los más hábiles programadores en vida. Entre sus muchas invenciones estaba el editor Emacs. Para RMS, la cancelación del Proyecto Júpiter en 1983 sólo dio por terminada la desintegración del laboratorio de IA del MIT que había comenzado unos años atrás conforme muchos de sus mejores elementos se fueron a trabajar para compañías de máquinas Lisp en competencia. RMS se sintió expulsado del Edén hacker, y decidió que la culpa era del software propietario.

En 1983 Stallman fundó el proyecto GNU, con el objetivo de escribir un sistema operativo completamente libre. A pesar de que Stallman no era y nunca fue un programador Unix, bajo las condiciones posteriores a 1980 el implementar un sistema operativo estilo Unix era la más obvia estrategia a perseguir. Muchos de los primeros colaboradores de RMS eran hackers de la vieja ARPANET que acababan de llegar a las tierras de Unix, en los que la ética del compartir código fuente era más fuerte que como lo hacía en los de historia más centrada en Unix.

En 1985, RMS publicó el Manifiesto GNU. En él, creó conscientemente una ideología a partir de los valores de los hackers de la ARPANET previos a 1980 - con todo y un nuevo reclamo ético-político, un discurso autónomo y característico, y un plan activista para el cambio. El objetivo de RMS era aunar la difusa comunidad de hackers posteriores a 1980 en una máquina social coherente para lograr un único propósito revolucionario. Su comportamiento y su retórica a medias recordaban los intentos de Karl Marx de movilizar al proletariado industrial contra la alienación de su trabajo.

El manifiesto de RMS inició un debate que aún se mantiene vivo en la cultura hacker de hoy en día. Su programa iba más allá de mantener una base de código fuente, y esencialmente implicaba la abolición de los derechos de propiedad intelectual en el software. Persiguiendo este objetivo, RMS popularizó el término "software libre", que fue un primer intento de etiquetar al producto de toda la cultura hacker. Escribió la Licencia Pública General (GPL, por sus siglas en inglés), que se convertiría tanto en un punto de reunión como en foco de gran controversia, por razones que examinaremos en el Capítulo 16. Pueden aprender más de la postura de RMS y de la Free Software Foundation en el sitio web de GNU.

El término "software libre" era en parte una descripción y en parte un intento de definir la identidad cultural de los hackers. Desde cierto punto, fue bastante exitoso. Antes de RMS, la gente en la cultura hacker se reconocía a sí misma como compañeros de viaje que usaban el mismo argot, pero nadie se preocupaba por discutir sobre lo que un 'hacker' es o debe de ser. Luego de él, la cultura hacker se volvió mucho más consciente de sí misma; las discusiones de valores (muchas veces encuadradas con el lenguaje de RMS, usado incluso por aquellos que se oponían a sus conclusiones) se volvieron un tema normal de debate. El mismo RMS, una figura carismática y polarizadora, se convirtió de tal forma en un héroe cultural que para el año 2000 era difícil distinguirlo de su propia leyenda. Free as in Freedom [Williams] nos da un excelente retrato.

Los argumentos de RMS incluso influenciaron el comportamiento de muchos hackers que se mantenían escépticos a sus teorías. En 1987, convenció a los encargados de mantener Unix BSD de que sería una buena idea limpiarlo de código propietario de AT&T para poder lanzar una versión sin cargos de licencia. Sin embargo, a pesar de sus esfuerzos determinados por más de quince años, la cultura hacker posterior a 1980 nunca se unificó alrededor de su visión ideológica.

Otros hackers iban descubriendo el desarrollo abierto, colaborativo, y sin secretos por razones más pragmáticas y menos ideológicas. Unos edificios más allá de la oficina de Richard Stallman en el noveno piso en MIT, el equipo de desarrollo de X prosperaba a finales de los 80s. Fue fundado por vendedores Unix que habían acordado un empate sobre el control y los derechos de propiedad intelectual del sistema gráfico X, y no encontraron mejor alternativa que dejarlo libre para todos. En 1987-1988 el desarrollo de X prefiguraba las comunidades distribuidas realmente grandes que redefinirían lo más avanzado de Unix cinco años después.

"X fue uno de los primeros proyectos de código abierto a gran escala desarrollado por un equipo dispar de individuos trabajando para diferentes organizaciones diseminadas alrededor del globo. El e-mail permitía que las ideas se movieran rápidamente entre el grupo de manera que los pendientes pudieran resolverse tan rápido como fuera necesario, y cada individuo podía contribuir con la capacidad que más le viniera. Las actualizaciones del software podían distribuirse en cuestión de horas, habilitando a cada sitio para actuar de manera concertada durante el desarrollo. La red cambió la forma en que el software podía desarrollarse."
-- Keith Packard --


Los desarrolladores de X no eran partidarios del plan maestro de GNU, pero no estaban abiertamente opuestos a él tampoco. Antes de 1995 la oposición más seria al plan de GNU venía de los desarrolladores de BSD. La gente de BSD, que recordaban haber estado escribiendo software libremente redistribuible y modificable años antes del manifiesto de RMS, rechazaron el reclamo de GNU de la primacía histórica e ideológica. En específico objetaban la propiedad infecciosa o "viral" de la GPL, manteniendo que la licencia BSD era "más libre" por establecer menos restricciones en la reutilización del código.

No fue de ayuda para RMS que, aunque la Free Software Foundation había producido la mayoría del resto de un completo juego de herramientas de software, no podía entregar la pieza central. Diez años después de la fundación del proyecto GNU, aún no había kernel GNU. Mientras que herramientas individuales como Emacs y GCC demostraron ser tremendamente útiles, GNU sin un kernel ni amenazaba la hegemonía de los Unixes propietarios ni ofrecía un contraataque efectivo contra el creciente problema del monopolio Microsoft.

Luego de 1995 el debate sobre la ideología de RMS tomó un punto de vista algo diferente. La oposición vendría a asociarse de manera cercana tanto con Linus Torvalds como con el autor de este libro.


Referencias bibliográficas de esta sección:
[Raymond96] Eric S. Raymond. The New Hacker's Dictionary. 3rd Edition. 1996. ISBN 0-262-68092-0. MIT Press. 547pp. Disponible en la Red en la Jargon File Resource Page.

[Williams] Sam Williams. Free as in Freedom. O'Reilly & Associates. 2002. ISBN 0-596-00287-4. Disponible en la Red.




Linux y la Reacción Pragmática: 1991 - 1998

Mientras que el esfuerzo de HURD (el kernel GNU) se atascaba, se abrían nuevas posibilidades. A inicios de los 90s la combinación de PCs baratas y poderosas con acceso a Internet fácil dio un señuelo poderoso para una nueva generación de programadores jóvenes que buscaban retos en donde probar su coraje. El juego de herramientas en el espacio de usuario escritas por la Free Software Foundation sugería una manera que era libre del alto costo de las herramientas de desarrollo de software propietarias. La ideología siguió a la economía en lugar de ir por delante; algunos de los recién llegados se alinearon con la cruzada de RMS y adoptaron la GPL como su estandarte, y otros se identificaron más con la tradición Unix en su totalidad y se unieron al campo anti-GPL, pero muchos desecharon la discusión como una distracción y solamente escribieron código.

Linus Torvalds le dio la vuelta limpiamente a la división GPL/anti-GPL usando el juego de herramientas GNU para rodear el kernel Linux que había inventado y las propiedades infecciosas de la GPL para protegerlo, pero rechazando el programa ideológico que iba con la licencia de RMS. Torvalds afirmó que pensaba que el software libre es mejor en general pero que ocasionalmente utilizaba programas propietarios. Su rechazo a ser un zelote incluso dentro de su misma causa lo hicieron tremendamente atractivo para la mayoría de hackers que habían estado incómodos con la retórica de RMS, pero cuyos argumentos carecían de un punto o de un portavoz convincente para su escepticismo.

El pragmatismo alegre de Torvalds y su estilo adepto pero discreto catalizó una impresionante sucesión de victorias para la cultura hacker en los años 1993-1997, incluyendo no solamente éxitos técnicos sino los comienzos sólidos de una industria de distribución, servicio y soporte alrededor del sistema operativo Linux. Como resultado su prestigio y su influencia se fueron a las nubes. Torvalds se convirtió en un héroe en la época de Internet; para 1995, había logrado en tan solo cuatro años el tipo de eminencia a nivel cultural que a RMS le tomó quince años en ganar - y excedió por mucho el récord de Stallman vendiendo "software libre" al mundo exterior. En contraste con Torvalds, la retórica de RMS comenzaba a parecer tanto estridente como poco exitosa.

Entre 1991 y 1995 Linux pasó de un concepto de pruebas alrededor del kernel prototipo 0.1 a un sistema operativo que podía competir en características y desempeño con los Unixes propietarios, y venció a la mayoría en estadísticas importantes como tiempo en continua ejecución, sin necesidad de reiniciar el sistema. En 1995, Linux halló su "killer app": Apache, el servidor web de código abierto. Como Linux, Apache demostró ser destacadamente estable y eficiente. Las máquinas Linux ejecutando Apache rápidamente se convirtieron en la plataforma elegida por los ISPs alrededor del mundo; Apache capturó alrededor de 60% de los sitios web [19], prácticamente venciendo a sus dos mayores competidores propietarios.

La única cosa que Torvalds no ofrecía era una nueva ideología - un nuevo razonamiento o mito fundador del hacking, y un discurso positivo para sustituir la hostilidad de RMS a la propiedad intelectual con un programa más atractivo para la gente tanto dentro como fuera de la cultura hacker. Inadvertidamente yo proveí a esta falta en 1997 como resultado del intento por entender el por qué el desarrollo de Linux no se había colapsado en la confusión años antes. Las conclusiones técnicas de mis escritos publicados [Raymond01] serán resumidos en el Capítulo 19. Para este esquema histórico, será suficiente con notar el impacto de la fórmula central del primero de ellos: "Dado un número suficientemente grande de ojos, todos los bugs [NT18] son bajos".

Esta observación implicaba algo que nadie en la cultura hacker se había atrevido a creer realmente durante el anterior cuarto de siglo: que sus métodos podían confiablemente producir software que no sólo fuera más elegante sino más confiable y mejor que el código de nuestros competidores propietarios. Esta consecuencia, bastante inesperadamente, terminó presentando exactamente el reto directo al discurso del "software libre" que Torvalds mismo no estaba interesado en montar. Para muchos hackers y la mayoría de los no hackers, "Software libre porque funciona mejor" fácilmente venció a "Software libre porque el software debe de ser libre".

En el escrito, el contaste entre los modelos de desarrollo de 'catedral' (centralizado, cerrado, controlado, secretivo) y el de 'bazar' (desorganizado, abierto, con revisión por pares intensa) se convirtió en la metáfora central del nuevo pensamiento. En un sentido importante ésto era un mero retorno a las raíces del Unix anterior a la diversificación - es continua con las observaciones en 1991 de McIlroy sobre los efectos positivos de la presión entre colegas en el desarrollo de Unix de principios de los 70s y con las reflexiones en 1979 de Dennis Ritchie sobre comunidad, fertilizada con la tradición académica de la primera ARPANET de la revisión por pares y con su idealismo sobre las comunidades mentales distribuidas en red.

A principios de 1998, el nuevo pensamiento ayudó a motivar a Netscape Communications para liberar el código fuente de su navegador Mozilla. La atención que puso la prensa alrededor de este evento llevó a Linux a Wall Street, ayudó a impulsar el auge de las acciones en tecnología de 1999-2000, y demostró ser un punto crucial tanto para la historia de la cultura hacker como de Unix.


Notas al pie de esta sección:
[19] Diagramas de cómo se reparten los servidores web, actual e históricamente, están disponibles mensualmente en el Netcraft Web Server Survey.


Referencias bibliográficas de esta sección:
[Raymond01] Eric S. Raymond. The Cathedral and the Bazaar. 2nd Edition. 1999. ISBN 0-596-00131-2. O'Reilly & Associates. 240pp


Notas de traducción de esta sección:
[NT18] En el original en inglés, 'bug' se refiere (según el Jargon File) a una propiedad no deseada y no intencional de un programa o pieza de hardware, especialmente una que causa su mal funcionamiento. Dejé el término en inglés por ser común en el uso en español, aunque puede traducirse libremente como 'error' o 'defecto'. Según la leyenda, el origen del término data de cuando la Mark II, computadora sucesora de la Mark I, construida en 1944, sufrió un fallo en un relevador electromagnético. Cuando se investigó ese dispositivo, se encontró una polilla que provocó que el relevador quedara abierto.





--
Eru kaluva tielyanna (Dios iluminará tu camino)
Visita la página de la Casa de la Juventud, TOR: www.torcasajuv.com
"Ama y haz lo que quieras. Si callas, callarás con amor; si gritas, gritarás con amor; si corriges, corregirás con amor; si perdonas, perdonarás con amor. Si tienes el amor arraigado en ti, ninguna otra cosa sino amor serán tus frutos." (San Agustín) Solamente asegúrate que en realidad sea AMOR...

No hay comentarios.: