Historia de BSD para dummys
--- Fecha: sab 28 junio 2025 22:31:18 CEST ---
Hoy os traigo la "Historia de BSD para dummys". Puedes leer otras historias para dummy en:
Historia de Internet para dummys
Historia de Facebook para dummys
Pero sobre todo, lee la de UNIX para dummy y entenderás muchas cosas de esta historia:
Inicios
Al principio de los tiempos, usar un sistema Unix era extremadamente caro, así que solo estaba al alcance de las grandes organizaciones y universidades, hasta que llegaron los "hippies" de la universidad de Berkely en California y sus primeros movimientos para compartir software de forma abierta.
Todo comenzó con algunas mejoras y algunas nuevas herramientas para el Unix de AT&T, apareciendo el primer Unix gratuito de la historia, BSD, de la mano de Berkley Software Distribution. Pero antes debemos retrotraernos al año 1969 y a un nombre que hizo história, Ken Thompson. Esta mente privilegiada diseñó lo que muy pronto se convertiría en el sistema operativo más importante del mundo.
El destino quiso juntarlo con otra mente privilegiada, Dennis Richie, y juntos revolucionaron la informática desde los laboratorios Bell de Nueva Jersey, parte del gigante de las telecomunicaciones AT&T
En 1970 Unix echaba a andar y en 1973 ambos lo presentan en una conferencia de sistemas operativos en la universidad de Purdue.
Entre los asistentes había un profesor de Berkeley y pensó "Joder, qué bueno, eso tengo que tenerlo yo"
En 1974 Berkely compra un cacharro PDP-11/45 que ejecutaba Unix versión 4, pero Unix era muy difícil de instalar y empezó a petar por todos lados porque nadie sabía cómo funcionaba ni sabía cómo descifrar los mensajes de error que ofrecía (ya sabemos que las mentes de estos gurús solo la entienden ellos mismos), así que decidieron llamar a Ken Thompson que se ofreció de buena gana, y empezó a depurar código remotamente vía telefónica.
Como a los hippies de Berkeley les molaba el cacharreo, compraron una PDP-11/70, más potente (sí que genera pasta una universidad, ¿no?), y claro, vuelta a llamar a Thompson. La llamada fue más o menos así:
- Profesor: Hola Ken, soy el profesor plasta de Berkeley. Te llamaba porque hemos pillado de saldo una PDP-11/70 y me preguntaba qué hacías este finde.
- Ken: Ufff, no sé, me pillas liado, deja que mire la agenda y ya te diré algo.
- Profesor: Ya veo, es que creo que no hay huevos a meterle un Unix al cacharro.
- Ken: ¡Que no hay huevos! sujétame el cubata.
Y para Berkeley que se fue, esta vez en persona, y no solo eso, si no que se pidió un año sabático en AT&T porque nadie reta a Thompson a meter un Unix donde sea.
Años más tarde dijo que se cogió un año sabático porque era el único que conocía a fondo Unix y se cansó de que de todos los lados de la galaxia le preguntaran cosas. Además no había estudiado ciencias de la computación, si no ingeniería eléctrica, y pese a que tenía muchos conocimiento no oficiales, quiso ahondar más en aquello en lo que todo el mundo pedía ayuda. Parafraseó una cita del libro de Mythical Manmanth "cualquiera que se vuelva indispensable tiene que ser despedido."
Así que decidió dar un paso al lado, un paso de varios kilómetros, hasta Berkeley. No era consciente de que iba a gestar el comienzo de BSD.
Año sabático
En su ausencia, la shell de unix se encargó a Steven Bourne quien desarrollaría la Bourne Shell, predecesor de la shell bash actual.
Antes de irse de Bell labs, Thomson hace una copia de Unix tal y como estaba en ese momento (a pirata no le gana nadie) conocida como "La cinta de los 50 bugs" que compartiría con media galaxia, hasta que AT&T se da cuenta que existe esa cinta y exige a todo el mundo que la destruya... sí, claro, ahora mismo, por que tu lo digas.
Thompson se pone manos a la obra e instala el Unix pirateado en la PDP-11/70 y va creando pequeños programitas para solventar carencias, como un intérprete de Pascal. Aparecen en escena otros dos grandes de la historia: Bill Joy y Charles "Chuck" Halley. Pillaron por banda el intérprete de Pascal de Thompson, hicieron su magia, y lo convirtieron en el entorno de desarrollo favorito de los estudiantes de Berkley, y un año después, aparece otra mente privilegiada (porque todo el mundo saben que son como imanes, y entre ellos se atraen), George Coulouris, del Queen Mary College de Londres, creador del nuevo concepto de editor de texto, uno visual, porque hasta entonces los editores funcionaban editando linea a linea mediante comandos, sin ver el texto entero. Cuando Thompson lo vio la cosa fue más o menos así:
- Geroge: Mira, mola porque cuando editas ves todo el texto.
- Ken: ¡Pero qué locura es esta!, ¿quien va a querer ver todo el texto? a mi no me hace falta ver el estado del archivo mientras lo edito.
- Geroge: Tu eres un puto friki con memoria hierética, pero la gente normal no es Sheldon Cooper, ¿sabes?
- Ken: Bah, eso va a fracasar, recuerda esta conversación... ¿y cómo lo vas a llamar?
- Geroge: Pues mira, me has dado una idea, lo llamaré EM
- Ken: ¿EM?
- Geroge: Si, Editor para Mortales, jajajajaja
- Ken: Jajajajaja, será gracioso, pero no hay huevos.
- Geroge: ¿Que no hay huevos?, sujétame el cubata.
Cuando Bill Jopy vio EM flipó en colores, mejor que un tripi de LSD, y después lo mejoró, creando el editor EX (Editor eXtendido) antecesor del Vi y Vim actuales.
BSD sin Thompson
Pero todo lo bueno se acaba y en verano de 1976 termina el año sabático de Thompson y hace las maletas para AT&T, y entonces Bill Joy se queda un poco huérfano. Para suplir la ausencia de la figura paterna se metió en las drogas... no, es broma, empieza a mirarse el kernel de Unix y su mente empezó a funcionar a 1000 por hora. En 1977 recopiló todas las herramientas y mejoras que habían desperdigadas por la universidad y sacó la primera distribución de software de Berkley, conocida como BSD Berkley Software Distribution y empieza a distribuirla en otras universidades a 50$, incluyendo el soporte y los gastos de envío.
Aquí si que ya lo petó, todo Dios quería una copia, y fue tanto el éxito que en 1979 Joy saca la versión 2 de BSD, con unas 100 copias. La calidad era mejor, y su editor EX fue mejorado, convirtiéndose en Vi. Además no le molaba la shell Bourne, así que se curró una propia que funcionaba con los comandos del lenguaje de programación C, y la llamó C shell (csh) que muchos BSD como FreeBSD la traen por defecto.
Pero como pasa siempre, uno quiere más y más. Joy cree que no es suficiente distribuir herramientas y se dispone a distribuir un sistema completo, así que en 1979, con la tercera versión de BSD distribuye también el kernel con soporte para memoria virtual, todo un hito en aquella época. Y esto coincide con la aparición de DARPA y TCP/IP.
La Era DARPA
DARPA, la agencia de proyectos de investigación avanzada de defensa de Estados Unidos, creadora de ARPAnet (precursor de Internet), tenía un lío de incompatibilidades del carajo, así que picó a la puerta de Unix. Ese mismo año, el profesor aquel de la conferencia en la universidad de Purdue, convence a DARPA para crear una versión mejorada de BSD, la versión 3, y pese a su reticencia a usar un programa creado por hippies porretas rojos comunistas provietcong, en 1980 firma contrato de 18 meses con Berkeley, a la que le cayeron unos cuantos cientos de miles de dólares de financiación. Se crea el CSRG (Computer Systems Research Group) con Bill Joy a la cabeza, y al poco tiempo sacan la BSD v4.
Esta versión es ya muy madura, con control de trabajo, nuevo sistema de archivos, compatibilidad con otras computadoras y varias cosillas más. En solo 9 meses vendieron más de 150 copias, que son muchas si se tiene en cuenta que en aquella época no habían tantas máquinas y encima eran carísimas.
Los señoros del GI.Joe quedaron tan contentos que firmaron otro contrato con CSRG para 2 años más. Mientras, Joy mejoró un nuevo protocolo de comunicaciones, evolucionando TCP/IP de la empresa BBN, y ficha a Marshall Kirk para que mejore el sistema de archivos.
Pero lo bueno no suele durar mucho. En 1982 Joy se pira del CSRG y se monta su chiringuito, Sun Microsystems (seguro que te suena). Y aquí concluye la primera era de BSD, pero tranquilos/as/es porque hay historia para rato.
NOTA: 28 años más tarde Oracle adquiriría Sun Microsystems por un total de 7,400 millones de dólares
En 1983 se lanza BSD v4.2 y ya le acompaña su mascota, Beastie. En solo 18 meses se vendieron 1.000 copias, MIL COPIAS !!!!!!. Ya todos preferían la versión de Unix BSD que la de AT&T, y en 1986 llega BSD v4.3 mucho más pulida en rendimiento (una de las quejas de la comunidad), y con una pila TCP/IP muy mejorada.
Cuanto más crece un Imperio, más cuesta mantenerlo
Pero el sueño empieza a convertirse en mal sueño.
Como el proyecto no paraba de crecer, a finales de la década de los 80 quien quisiera una copia debía pagar una licencia a AT&T porque mucho código de BSD les pertenecía.
Cada estudiante de las universidades cogían el código, lo mejoraban, lo repartían y eso hizo que algunos fabricantes de Pc empezaran a implementar el protocolo TCP/IP, pero la licencia de AT&T, que eran unos jetas, era carísima, prohibitiva absolutamente para un equipo doméstico, así que sacaron una versión para el mercado pequeño, lanzando las versiones NET/1 y NET/2.
Entonces pensaron "¿y si liberamos la pila TCP/IP de código de AT&T?", y como el código fue financiado por DARPA no pertenecía realmente a AT&T, así que lanzaron la NET/1, que no necesitaba licencia, y pese a que Berkeley cobraba 1.000 dólares por la cinta oficial, cualquiera podía hacer una copia sin restricciones.
La gente del CSRG necesitaba un mecanismo de memoria virtual, pero en la Sun Microsystem de Bill Joy pasaron de su cara, ya eran capitalistas y no querían tratos con hippies sarnosos, así que picaron a la puerta de Carnegie Mellon, que tenían el kernel Match o MAC con implementación de memoria virtual muy sólida y soporte para NFS (Network File System).
NOTA: Años después este kernel sería la base del sistema operativo MacOS.
El éxito fue tan grande que se plantearon liberar más código de AT&T y aunque Marshall Kirk fue reacio por la cantidad de código que debían depurar, hicieron un llamamiento a la comunidad. Aparecieron voluntarios de todas partes de la galaxia para reescribir de cero todo el código, sin mirar nada más que las descripciones públicas, y a cambio, sus nombres aparecerían en los créditos del programa liberado, y pese a que al principio solo se lograron reescribir utilidades simples, en 18 meses se reescribieron casi todas las utilidades y librerías clave del sistema, ahí, con un par.
Pero los frikis de los cacharros se lo pusieron aun más difícil. El tema fue más o menos así:
- Programador 1: Ostia tíos, que subidón...
- Programador 2: Si, jajajaja...
- Programador 3: Pues estaba yo pensando que no hay huevos a depurar todo el código de BSD.
- Programador 1 y 2: ¡Que no hay hue...
Bueno, ya sabes cómo sigue.
Se revisó toda la distribución línea por línea para eliminar cualquier rastro de código de AT&T y al final solo quedaron 6 archivitos por ahí perdidos con porciones de código de AT&T, pero tenían prisa por sacar nueva versión porque los del chiringuito del CSRG presionaban, y en 1991 sacaron la versión NET/2 sin esos 6 archivos sin depurar.
Se desata la locura
Esto ya era imparable. Una ola de nuevas iniciativas salían como flores, destacando BSD OS y BSD 386, este último creado en 1989 por el matrimonio formado por William y Lin Jolitz, del CSRG, para máquinas Intel 386. Pero el tema no tuvo mucho recorrido porque se empeñaron en que la creciente comunidad no metiera las manos en su bebé, así que la comunidad se fue con la música a otra parte, y crearon NetBSD y FreeBSD, que seguro que te suenan.
Otros crearon BSDi, un chiringuito llamado Berkley Software Design Incorporated, con Marshall Kirk al frente, para crear un BSD profesional, creando, a partir de BSD 386, BSD OS, que por solo 995 dólares te llevabas el código fuente y los binarios.
Las guerras Unixeras
Y el malsueño se torna en pesadilla.
AT&T estaba desesperada por meter mano a BSD, y BSDi se lo puso en bandeja cuando en una de sus anuncios comerciales publicaron un número de teléfono 1-800-its-unix.
El 20 de abril de 1992 AT&T les metió una demanda en la que exigían el cese inmediato del uso de Unix en cualquier acción comercial. Pero no solo eso, ¿os acordáis de aquellos 6 archivos que quedaron pendiente de depuración?, pues alegaron que BSDi contenía código propietario de AT&T y los volvió a llevar a juicio. BSDi se defendió diciendo que su sistema provenía de NET/2, un sistema libre de código distribuido por Berkeley (con la excepción de esos 6 archivos). El juez dio la razón parcialmente a BSDi e instó a AT&T a que si quería litigar, lo hiciera solo con respecto a esos 6 archivos, así que como los mafiosos de AT&T, que vieron que no tenían demasiado para empurar a BSDi, se frotó las manos al ponerse palotes pensando en cómo iban a meter a Berkeley en la demanda, exigiendo frenar la distribución de BSD OS de BSDi y BSD 386 de Jolitz, ahí, con un par también.
Tras varios meses de tira y afloja, a finales de 1992 el juez federal que llevaba el caso se pidió 3 días de asuntos propios, porque flipó con las montañas y montañas de datos técnicos que le pusieron delante, como si cualquier mortal entendiera la jerga friki-hippie. Así que hizo un Poncio Pilatos y le pasó el marrón a un tribunal estatal.
Y los hippies, que serán unos fumetas pero no gilipollas, le dieron la vuelta a la tortilla y contrademandaron a su vez a AT&T acusándoles de utilizar código de BSD sin autorización, exigieron correcciones públicas, avisos a clientes e incluso anuncios en medios de comunicación.
Como a los frikis de los cacharros se les entiende poco o nada, los jueces flipaban, ahora se enteraban de que habían unas cosas llamadas ordenadores que funcionaban con programas hechos por hippies, así que en 1993 aun estaban intentando entender todo el tinglado. Por "suerte" aterrizó Nobel, que compró parte de AT&T, concretamente USL, la que estaba litigando, y quiso apaciguar las aguas. El tema fue más o menos así:
- Negociador USL 1: Caballeros, miren, preferimos competir en el mercado que en los tribunales.
- Hippy 1: ¿Que proponen?
- Negociador USL 1: Primero, que dejen de fumar canelos, que huele como hubieran prendido fuego a uno de ustedes. Segundo, revisión de código de todos los archivos.
- Hippy 2: A lo segundo vale, a lo primero ni hablar, ¿quieren una caladita?
- Negociador USL 2: Haremos una excepción y fumaremos la pipa de la paz. Venga, pásalo, que huele a uña.
En 1994 revisaron 18.000 archivos que componían BSD: 3 fueron eliminados, algunos ajustados y 70 recibieron menciones de copyright de USL. El resto siguió siendo libremente distribuible. Además, ninguna organización podía ser demandada por utilizar la futura versión 4.4 BSD Lite como parte de su sistema.
Unos meses después, el CSRG sacó su obra final, BSD v 4.4
Cada uno a lo suyo
El juicio desgastó mucho a todos, y en parte desanimó a muchos responsables.
La nueva versión 4.4 salió en 2 sabores: Encumbered y Lite; la primera con algunos componentes de AT&T y la otra totalmente libre y redistribuible. Y a partir de esta versión, las derivadas, como FreeBSD o NetBSD pudieron prosperar, con un pequeño "castigo", partir de la base BSD 4.4, y pongo castigo entre comillas porque reiniciar el desarrollo desde esta versión, significaba absorber 3 años de avances del CSRG, obteniendo unas versiones modernas y sólidas. Con esta versión, Berkeley cerraba su etapa como desarrollador de sistemas operativos, y tras la siguiente versión BSD 4.4 Lite 2, el CSRG cerraba sus puertas también.
Mientras todo el follón del litigio se sucedía, aparecía en escena un tal Linus Torvalds, que en 1991 creó un kernel al que llamó Linux y que estaba comiéndose la tostada. En 1994 ocupó ese lugar vacío. Para cuando BSD recuperó su libertad para es mismo año, ya era tarde, Linux estaba hasta en la sopa. No tenían el respaldo académico de BSD pero sí tenía el código libre y una comunidad enorme dispuesta a todo.
Tag: #BSD #FreeBSD #NetBSD #Unix
/gemlog/