Poques peces de programari han influït tant en la informàtica moderna com el Berkeley Software Distribution (BSD), el Unix nascut a la Universitat de Califòrnia a Berkeley a finals dels anys setanta. D’aquell projecte acadèmic van sortir el vi, la C shell, una implementació de memòria virtual i, sobretot, la pila de xarxa TCP/IP que avui sosté internet. Aquesta és la història d’aquell BSD original.
Els orígens: del Unix d’AT&T a Berkeley
A mitjans dels anys setanta, la Universitat de Berkeley va rebre una còpia del Unix d’AT&T i va començar a millorar-lo. El gran protagonista dels primers anys va ser Bill Joy, un estudiant de postgrau que més tard cofundaria Sun Microsystems. El 1977 Joy va muntar la primera distribució, 1BSD, que no era un sistema complet sinó un conjunt d’afegits per al Unix d’AT&T: incloïa un compilador de Pascal i l’editor ex.
La segona entrega, 2BSD (maig de 1979), va incorporar dos programes que encara són presents als sistemes Unix actuals: l’editor de text vi i la C shell. La branca 2BSD, destinada a les màquines PDP-11, va tenir una vida sorprenentment llarga, amb actualitzacions que es van prolongar durant dècades.
3BSD i el naixement del CSRG
El salt qualitatiu va arribar amb 3BSD, publicat a finals de 1979. El seu nucli, derivat de la versió 32V de Unix per al VAX, es va reescriure per incorporar una implementació de memòria virtual desenvolupada en bona part per l’estudiant Özalp Babaoğlu. 3BSD era un sistema operatiu complet, no un simple pedaç.
L’èxit de 3BSD va convèncer DARPA, l’agència d’investigació del Pentàgon, de finançar Berkeley per crear una plataforma Unix estàndard per als seus projectes. Així va néixer el 1980 el Computer Systems Research Group (CSRG), el grup que dirigiria el desenvolupament de BSD durant quinze anys.
4.2BSD: la revolució del TCP/IP
Després de 4BSD (octubre de 1980) i l’afinada 4.1BSD, va arribar l’agost de 1983 la versió més influent de totes: 4.2BSD. La seva gran aportació va ser integrar la pila de xarxa TCP/IP i la interfície de sockets de Berkeley, el model de programació de xarxa que esdevindria estàndard universal. Quan internet va enlairar-se als anys vuitanta i noranta, ho va fer en bona mesura sobre codi heretat de Berkeley.
4.2BSD també va ser la primera versió publicada després de la marxa de Bill Joy a Sun Microsystems el 1982. A partir d’aleshores, el lideratge tècnic va recaure en Mike Karels i Marshall Kirk McKusick.
4.3BSD i les versions que apostaven el seu nom
El juny de 1986 va aparèixer 4.3BSD, centrada a polir i optimitzar el rendiment de les novetats que 4.2BSD havia introduït amb presses. La van seguir variants amb noms curiosos: 4.3BSD-Tahoe (1988), que va separar el codi dependent de la màquina de l’independent i va millorar la portabilitat, i 4.3BSD-Reno (1990), una entrega intermèdia que es considerava arriscada, d’aquí el guspireig a Reno, la ciutat del joc de Nevada.
El plet amb AT&T i el final de l’era CSRG
El veritable maldecap va ser legal. Per distribuir BSD lliurement, Berkeley va voler eliminar tot el codi d’AT&T i substituir-lo per codi propi, cosa que va donar lloc a Net/2 (1991) sota la llicència BSD. L’abril de 1992, la filial Unix System Laboratories d’AT&T va demandar l’empresa BSDi i, després, la mateixa Universitat de Califòrnia.
El cas es va resoldre el gener de 1994, en bona part a favor de Berkeley: dels 18.000 fitxers de la distribució, només tres es van haver d’eliminar i una setantena es van modificar per incloure avisos de copyright. L’últim llançament del grup va ser 4.4BSD-Lite Release 2 el 1995, després del qual el CSRG es va dissoldre i Berkeley va deixar de desenvolupar BSD.
El llegat: FreeBSD, OpenBSD i NetBSD
Aquell codi no va morir: es va convertir en la base directa dels grans BSD lliures actuals. De 4.4BSD-Lite descendeixen FreeBSD, NetBSD i OpenBSD, tres sistemes que continuen molt vius en servidors, dispositius de xarxa i projectes de seguretat. L’esperit de Berkeley també batega en sistemes com Solaris i AIX, i la seva filosofia oberta va inspirar comunitats posteriors, inclosa la del nucli Linux.
Una curiositat: el dimoni de BSD
La simpàtica mascota de BSD, el petit dimoni vermell amb trident, té un origen il·lustre: el seu primer dibuix a les portades dels manuals distribuïts per USENIX amb 4.2BSD va ser obra de John Lasseter, que anys després dirigiria Toy Story a Pixar. Un detall que resumeix bé l’esperit d’un projecte on es van creuar l’enginyeria més seriosa i un bon sentit de l’humor.