Paul Argoud

Berkeley Software Distribution

La première présentation publique d’UNIX a eu lieu lors du Symposium sur les principes des systèmes d’exploitation au centre de recherche d’IBM à Yorktown Heights en octobre 1973. Dennis Ritchie aurait déclaré que c’était une journée magnifique et Ken Thompson aurait ajouté à ses propres souvenirs une épaisse couche de modestie :

Le public était composé de plusieurs centaines de personnes. J’étais assez nerveux. Les réactions ont été des applaudissements normaux et polis. Je ne me souviens d’aucune question.

Le centre de recherche d'IBM à Yorktown Heights, image d'IBM
Le centre de recherche d’IBM à Yorktown Heights, image d’IBM

Contrairement à Thompson qui a déclaré ne se souvenir d’aucune question, on leur a immédiatement demandé des copies du système d’exploitation, ce qui n’a pas été une mince affaire pour AT&T. L’American Telephone and Telegraph Company avait été établie en tant que monopole national légal aux États-Unis par l’engagement de Kingsbury à la fin de l’année 1913. Cette position a été renforcée pendant la Première Guerre mondiale, lorsque le gouvernement fédéral des États-Unis a nationalisé le système téléphonique. Après la fin de la guerre, le système téléphonique est revenu entre les mains d’AT&T et la société a réussi à s’emparer d’une partie de la réglementation grâce à la loi Willis Graham de 1921 et à la loi sur les communications de 1934. Cette histoire juridique compliquée a posé une question très sérieuse au service juridique d’AT&T lorsque les gens ont commencé à demander UNIX : les systèmes d’exploitation informatiques faisaient-ils partie des services de transporteur public de la compagnie de téléphone et devaient-ils donc être distribués ? Si ce n’était pas le cas, l’entreprise n’avait pas besoin de distribuer UNIX, mais si c’était le cas, ce n’était qu’une question de temps avant que la FCC n’oblige AT&T à distribuer UNIX. Finalement, la décision a été prise de distribuer UNIX aux universités et aux centres de recherche au prix du support et des frais d’expédition. D’une manière ou d’une autre, comme par magie, cela a donné un joli chiffre rond de 150$ (soit environ 927$/860€ en 2024) pour l’Université Radboud de Nimègue, aux Pays-Bas, en décembre 1974. La licence accordée par Radboud comporte quelques points importants. Les détenteurs de la licence ont reçu le code source du système d’exploitation, car les systèmes informatiques de l’époque n’étaient pas normalisés de manière significative. La licence accordait ensuite la liberté d’utilisation et de modification au sein de l’université, mais interdisait toute diffusion à l’extérieur. Plus précisément, la licence mentionnait que les employés et les étudiants y avaient accès.

À ce stade de l’industrie informatique, les groupes d’utilisateurs étaient assez courants. IBM avait SHARE, qui avait inspiré des groupes similaires autour de DEC, Burroughs, Rand, etc. Il était donc naturel qu’un groupe se forme autour d’UNIX. C’est ainsi que Mel Ferentz et Lou Katz ont organisé une réunion des utilisateurs d’UNIX à New York le 15 mai 1974. Une vingtaine de personnes étaient présentes, et à cette époque, il y avait un peu plus de trente installations UNIX en dehors d’AT&T et de ses filiales. Ce groupe d’utilisateurs s’est développé pour devenir USENIX au fil du temps. Après la formation du groupe d’utilisateurs, une liste de diffusion a été créée. Depuis la première liste du 30 juillet 1975, les organisations suivantes ont été répertoriées comme sites d’installation/d’utilisation :

Comme nous le savons d’après la licence accordée à Radboud, il y avait plus de sites d’utilisateurs UNIX que cela, mais ils n’étaient pas membres du groupe d’utilisateurs (ou du moins pas au début).

Dennis Ritchie (debout), Ken Thompson au télétype, PDP-11 1972

Au début de cette période, UNIX ne fonctionnait que sur le PDP-11, mais cela a changé à Princeton où UNIX a été porté sur l’IBM 360 en 1976. La cible suivante était l’Interdata 8/32 en 1977, ce qui a été entrepris par Ritchie et Steve Johnson (auteur de yacc, lint, pcc). Mais les efforts de portage n’ont décollé qu’après que John Lions, de l’université de New South Whales, a écrit un commentaire sur les sources UNIX et les a distribuées sous la forme d’un livre, Code and Commentary, destiné à enseigner les systèmes d’exploitation aux étudiants. Western Electric a tenté d’empêcher la diffusion, mais cela s’est avéré impossible. De même, des modifications d’UNIX ont commencé à circuler après la publication du livre de Lions, et une culture que nous reconnaîtrions aujourd’hui comme « open source » a commencé à se développer, aidée en grande partie par les politiques d’AT&T concernant UNIX, qui stipulaient essentiellement qu’UNIX n’aurait pas de publicité, pas de support, pas de correction de bogues, et un paiement à l’avance. Pour colorer davantage cette période, Bob Kahn et Vint Cerf ont publié la première description de TCP/IP en 1974 et, en janvier 1976, il y avait soixante-trois hôtes sur ARPAnet, et UNIX, bien qu’utilisé globalement, ne fonctionnait que sur du matériel coûtant plus de 9 000 dollars (environ 48 000 dollars en 2024).

Le professeur Robert (Bob) Fabry était présent au Symposium sur les principes des systèmes d’exploitation où UNIX avait été annoncé pour la première fois et il était très enthousiaste. De retour à l’UC Berkeley où il était alors employé, il a réuni un groupe pour acheter un PDP-11/45. Comme il s’agissait d’un achat important, il a coordonné les départements d’informatique, de mathématiques et de statistiques. Une fois la machine achetée, Fabry a commandé une cassette d’UNIX à Thompson. L’installation proprement dite d’UNIX a été entreprise pour la première fois par Keith Standiford en janvier 1974. En 1973/1974, Thompson avait l’habitude de participer à presque toutes les installations d’UNIX pour un détenteur de licence. Les gens de Berkeley semblaient vouloir tout faire eux-mêmes, mais les choses ne se passaient pas bien. Finalement, Standiford s’est adressé à Thompson et ce dernier s’est connecté au 11/45 de l’université via un coupleur acoustique à 300 bauds pour déboguer à distance les crash dumps du New Jersey. Personnellement, j’imagine qu’il s’agissait d’un Novation CAT 300, mais je n’ai pas réussi à trouver le numéro de modèle du modem, et je n’ai trouvé aucune référence au système utilisé par Thompson. De plus, le Novation CAT 300 n’a pas été commercialisé avant plusieurs années.

Après l’achat du PDP-11/45, les départements concernés ont commencé à avoir des problèmes avec la programmation du temps sur la machine. Berkeley a acheté plusieurs autres ordinateurs. L’un d’entre eux était un PDP-11/70, et son arrivée a coïncidé avec celle de Thompson en tant que professeur invité. Thompson, Bob Kridle et Jeff Schriebman ont alors installé V7 UNIX sur le 11/70. Peu après la fin de l’installation, deux étudiants diplômés, Chuck Haley et William Nelson (Bill) Joy, sont arrivés sur le campus. Intrigués par le système informatique, ils ont commencé à travailler sur le compilateur Pascal de Thompson. En l’espace de quelques semaines (d’après ce que j’ai pu trouver), les télétypes attachés au 11/70 ont été remplacés par des terminaux à écran ADM-3.

ADM-3, image de Chris Jacobs, CC BY-SA 3.0

Pour Bill Joy, utiliser ed ou em sur un terminal à écran n’était pas vraiment suffisant. Il s’est détourné de son travail sur Pascal et a créé l’éditeur ex. Avec Pascal, l’UNIX V7 de Berkeley était nettement meilleur que les autres systèmes UNIX de l’époque. Au début de 1978, Bill Joy a commencé à proposer la Berkely Software Distribution. La première copie que nous connaissons à avoir quitté Berkeley a été remise à Tom Ferrin à l’UCSF le 9 mars 1978. La licence a été signée le 13, le support était une bande de 800 bpi, et sur la bande se trouvaient le « système Pascal Unix » et l' »éditeur de texte Ex ». Les crédits ont été attribués à W.N. Joy, S.L. Graham, C.B. Haley, K. Thompson pour Pascal, et à W.N. Joy pour Ex.

Bill Joy

BSD (aujourd’hui appelé 1BSD) a été livré à une trentaine d’exemplaires au cours du premier semestre 1978. Vers le mois de juin, Pascal a été amélioré, le shell C a été écrit, vi a été écrit (par Joy), et termcap a été écrit (par Joy). Ces nouveaux outils constituaient l’essentiel de la deuxième distribution logicielle de Berkely ou 2BSD. Joy était l’homme de la situation, il répondait au téléphone, créait les cassettes, intégrait les commentaires, empaquetait et envoyait le logiciel. Soixante-quinze copies de 2BSD ont été envoyées.

Le DEC VAX a été introduit pour la première fois en 1977. Il s’agissait d’un ISA 32 bits avec mémoire virtuelle. Au cours du premier semestre 1978, le professeur Richard Fateman de Berkeley cherchait une machine avec beaucoup de mémoire pour un de ses projets. Le VAX-11/780 répondait à ses exigences et à son budget, et il a réuni quelques personnes pour l’acheter avec un peu d’aide de la Fondation nationale pour la science. Le VAX avait un inconvénient dans l’esprit de ceux qui travaillaient à l’UC Berkeley : il fonctionnait sous VMS. Heureusement, UNIX avait déjà été porté sur VAX sous le nom de UNIX/32V (variante V7 d’UNIX) par John Reiser et Tom London aux Bell Labs. Ce portage ne tirait toutefois pas parti de la principale caractéristique du VAX, la mémoire virtuelle, qui limitait la mémoire disponible à 1 Mo.

Il fallait y remédier. Pour Fateman, la mémoire virtuelle était une exigence, et UNIX une exigence. Il a alors contacté le professeur Domenico Ferrari pour obtenir la prise en charge de la mémoire virtuelle dans UNIX. L’un des étudiants diplômés travaillant avec Ferrari, Özalp Babaoğlu, s’est alors attelé à la tâche. En cours de route, Babaoğlu a demandé de l’aide à Joy. Joy l’aide à intégrer le système de mémoire de Babaoğlu dans le 32V et à déboguer la variante d’UNIX qui en résulte.

La nouvelle version d’UNIX était bonne. Joy savait que le VAX 32 bits fonctionnant sous UNIX rendrait le PDP-11 16 bits obsolète, et il a commencé à porter 2BSD sur 32V. Peter Kessler et Marshall Kirk McKusick travaillèrent sur le portage de Pascal, tandis que Joy s’occupait de ex, vi, C shell, et de nombreux autres utilitaires BSD. Le groupe a terminé son travail à la fin de l’année 1979, et Joy a livré 3BSD en décembre.

À ce stade, il est important de délimiter l’arbre généalogique. 1BSD et 2BSD étaient des améliorations de la version 6 d’UNIX, tandis que 3BSD était une amélioration de 32V, qui était lui-même un portage et une modification de la version 7 d’UNIX. Pendant la création de 3BSD, 2BSD a continué à faire l’objet d’ajouts, de corrections et de versions. Une distinction importante à faire est que le nom de fichier pour le noyau dans 3BSD est devenu vmunix pour virtual memory UNIX.Le matériel informatique et les logiciels étaient très variés en 1979 et, le plus souvent, rien n’était compatible avec quoi que ce soit d’autre. Pour la Defense Advanced Research Projects Agency, c’était un problème. Elle estimait que le mieux qu’elle pouvait espérer était une unité au niveau du système d’exploitation pour le réseau de réseaux en expansion, ARPAnet, et à cette fin, elle a choisi de normaliser UNIX en raison de sa portabilité éprouvée résultant du fait qu’il avait été écrit en C. Ce même système serait également utilisé par la DARPA pour le travail dans le cadre du projet VLSI. À l’automne 1979, Fabry a contacté la DARPA en proposant 3BSD comme solution à leur problème. Au départ, cette proposition n’a pas été bien accueillie, mais le succès de 3BSD en décembre a fait évoluer les opinions. Fabry obtint un contrat de dix-huit mois avec la DARPA qui débuta en avril 1980. Ce contrat stipulait que le nouveau groupe de recherche sur les systèmes informatiques de Berkeley ajouterait à 3BSD les fonctionnalités dont la DARPA avait besoin et qui avaient été laissées en suspens. Dans un rapport technique sur le sujet, le gouvernement ne mentionne rien de très spécifique.

Fabry a engagé Laura Tong comme administratrice du projet, puis s’est mis à la recherche d’un responsable technique. Un soir de début mars, Joy a appelé Fabry à son domicile et lui a fait part de son désir de diriger le développement d’UNIX, ce que Fabry a accepté. Contrairement aux versions précédentes de BSD (et aux versions en cours de 2BSD), un système de distribution plus robuste devait être mis en place pour gérer un plus grand nombre de commandes. Tong mit en place un tel système et demanda à Fabry de se coordonner avec Bob Guffy d’AT&T ainsi qu’avec les avocats de l’université pour trouver les termes de la licence qui satisferaient toutes les parties. Le système que Joy et l’équipe logicielle allaient créer était 4BSD, disponible en octobre 1980. Cette version apportait le contrôle des tâches au shell C initialement développé par Jim Kulp et intégré par Joy, delivermail (prédécesseur de sendmail), des signaux de contrôle des tâches plus fiables (ainsi, si vous envoyiez SIGHUP, la tâche raccrochait réellement), la bibliothèque curses, la fonctionnalité de suspension/reprise control-z que nous connaissons aujourd’hui, un système de fichiers supportant des tailles de blocs allant jusqu’à 1K, et un support matériel plus important. Notamment, 4BSD supportait le VAX-11/750. Comme les versions précédentes de BSD, 4BSD incluait le compilateur Pascal, qui connut encore d’autres améliorations, et le système Franz Lisp de Richard Fateman. 4BSD a été le système du jour pendant neuf mois, et environ cent cinquante copies ont été livrées. Les licences étaient accordées par institution et non par machine, et on estime que la distribution fonctionnait sur environ cinq cents ordinateurs.

4BSD a été critiqué par David Kashtan du Stanford Research Institute. Il avait effectué des tests sur VMS et BSD et affirmait que VMS était le vainqueur incontesté. Cela n’a pas plu à Joy. Il est allé apporter une série d’améliorations de performance à BSD (principalement dans vmunix), et quelques semaines plus tard, il a publié un document réfutant les affirmations de Kashtan et montrant que BSD était tout à fait à la hauteur de VMS. Le noyau amélioré a été associé à l’auto-configuration de Kevin Robert Elz et un système les intégrant a été publié sous le nom de 4.1BSD en juin 1981, et 4.1BSD pour VAX est devenu 2.8BSD pour le PDP-11…. Cette version est restée en vigueur pendant deux ans et a été livrée à quatre cents exemplaires. Cette version était suffisamment bonne pour que le CSRG obtienne deux années supplémentaires de financement de la part de la DARPA, et le département de science informatique de Berkeley a également reçu des fonds.

Il est intéressant de noter que la raison d’une version ponctuelle était d’ordre politique. Le CSRG voulait appeler cette version 5BSD, mais AT&T a bloqué ce nom. AT&T sortait System V UNIX à l’époque, et ils pensaient qu’une version de Berkeley également nommée « five » perturberait les clients. Les versions point de 4.?BSD ont alors été la solution convenue.

Le nouveau cycle de financement était assorti d’objectifs plus concrets. Plus précisément, la DARPA souhaitait un meilleur système de fichiers avec un débit plus élevé, la prise en charge d’espaces d’adresses de plusieurs gigaoctets, un meilleur IPC et une mise en réseau intégrée. Marshall Kirk McKusick explique comment ces décisions ont été prises :

Pour aider à définir le nouveau système, Duane Adams, le responsable des contrats de Berkeley à la DARPA, a formé un groupe connu sous le nom de « comité de pilotage » pour aider à guider le travail de conception et s’assurer que les besoins de la communauté des chercheurs étaient pris en compte. Ce comité s’est réuni deux fois par an entre avril 1981 et juin 1983. Il comprenait :

À partir de 1984, ces réunions ont été remplacées par des ateliers qui ont été élargis pour inclure beaucoup plus de personnes.

Ce qui a été développé en grande partie par McKusick, Joy, Sam Leffler et Rob Gurwitz est stupéfiant. Ces développements ont été itérés dans les versions 4.1a, 4.1b et 4.1c, mais ont finalement abouti à la version 4.2, publiée en août 1983. Les deux innovations les plus importantes étaient l’API Berkeley Sockets et le Berkeley Fast File System. L’interface sockets permettait d’utiliser plusieurs protocoles réseau différents à tout moment et de les exposer en tant que fichiers. Le FFS de Berkeley permettait des tailles de blocs allant de 128 octets à plus de 4096 octets si nécessaire. Ainsi, avec le FFS de Berkeley, un opérateur système pouvait optimiser soit l’utilisation du disque, soit les performances du disque. 4.2BSD incluait une pile TCP/IP complète et le support NFS. Dès les premières versions itérées, de petits outils comme rcp, rsh, rlogin et rwho sont apparus pour démontrer leurs capacités. Ces outils devaient être de courte durée, mais ceux qui sont familiers avec UNIX les reconnaîtront certainement. 4.2BSD a également apporté des fonctions de quotas de disque, un meilleur processus d’installation, une meilleure documentation, et quelques nouveaux appels système liés au système de fichiers.

Des événements moins visibles pour les utilisateurs se sont également produits entre 1982 et 1983. Joy quitta le projet à la fin du printemps 1982 pour Sun Microsystems, mais passa encore un peu de temps cet été-là à travailler sur l’IPC et à réorganiser les sources du noyau UNIX pour isoler le code dépendant de la machine. Une fois chez Sun, les contributions à BSD se sont poursuivies et Sun a renvoyé à Berkeley ses modifications pour faire fonctionner BSD sur le Motorola 68000. Leffler a alors repris les fonctions précédentes de Joy. Le travail de Joy, cependant, allait faire de BSD le système d’exploitation le plus facile à porter pendant les vingt années suivantes. Pauline Schwartz a été engagée pour reprendre les fonctions de distribution en avril 1983. En juin 1983, Fabry prit un congé sabbatique et Ferrari et Susan Graham prirent la direction du CSRG. En 1984, Leffler est parti travailler pour Lucasfilm et Mike Karels a pris la direction du développement UNIX. Il avait déjà travaillé sur la série 2.?BSD pour le PDP-11. Plus tard dans l’année, McKusick a rejoint le CSRG à plein temps.

4.2BSD gagna plus d’un millier de licences de site en un an et demi, et la plupart des vendeurs de systèmes UNIX livrèrent 4.2BSD (ou un système basé dessus) plutôt que le System V UNIX d’AT&T. De même, de nombreuses variétés d’UNIX d’entreprise étaient basées sur 4.1c ou 4.2BSD, comme SunOS et DEC Ultrix. Un point important à cette époque est que la base de code de BSD divergeait largement de celle d’AT&T tout en maintenant la compatibilité. En outre, AT&T avait commencé à livrer UNIX sans les sources, et les clients qui achetaient l’UNIX commercial d’AT&T devaient souvent obtenir séparément les sources BSD s’ils voulaient modifier un aspect du système. Pour les utilisateurs de micro-ordinateurs, Xenix de Microsoft (et SCO) était la norme.

Sur le PDP-11, un mélange de 4.1a et 4.1c formait 2.9BSD, mais 4.2BSD n’est jamais apparu.

En 1976, le dessinateur de bandes dessinées Phil Foglio a dessiné les premières versions de Beastie sous forme de T-shirt pour Mike O’Brien, en guise de paiement pour le déverrouillage d’un coffre-fort.

T-shirt BSD par Phil Foglio

Il s’agit en grande partie d’un jeu de mots sur les services appelés démons et sur l’utilisation intensive des tuyaux sous UNIX, avec /dev/null comme seau. Le démon Beastie a été associé de manière durable à BSD grâce à un dessin de John Lasseter de Lucasfilm utilisé sur la couverture du Unix System Manger’s Manual publié en 1984 par USENIX pour 4.2BSD.

Couverture du manuel, image de jacobelder.com

Bien que la version 4.2BSD ait été un succès et qu’elle ait été généralement bien accueillie, elle a fait l’objet de quelques plaintes. La majorité d’entre elles concernaient les performances. L’équipe a alors passé deux ans à améliorer les performances, à affiner la pile réseau, et s’est sentie prête à annoncer une version imminente à USENIX en juin 1985. Cela ne s’est pas bien passé. Les excellents Bolt, Beranek et Newman (qui faisaient partie du comité de pilotage) ont remarqué que la version 4.2BSD avait été livrée sans la version finale de leur code réseau, et qu’elle utilisait à la place une version fortement modifiée de leur prototype initial. Après quelques chamailleries, la DARPA a fourni les deux piles réseau à Mike Muuss (auteur de ping) du Ballistics Research Laboratory pour qu’il les teste. Le code de Berkeley était meilleur. La version 4.3BSD a été publiée en juin 1986.

Keith Bostic a rejoint le CSRG en 1986 à la condition qu’on lui permette de continuer et de terminer un projet antérieur. Il travaillait au portage de 4.3BSD sur le PDP-11. Cela signifiait qu’un système minimal de 250K sur VAX devait être adapté à l’espace d’adressage de 64K du PDP-11… personne ne pensait que cela fonctionnerait. Personne. L’homme était clairement fou, mais malgré la folie qui le guettait, Bostic a réussi à faire fonctionner le système en utilisant un ensemble de superpositions et d’états de processeurs auxiliaires, ce qui a donné la version 2.10 de BSD. Il a également commencé à participer à l’USENIX et a annoncé l’avancement de la suppression de tout le code AT&T de BSD, qui a commencé en 1986 avec trente-cinq pour cent de licence AT&T libre, et l’annonce a été accueillie par des acclamations et des applaudissements généralisés. Cela est devenu important en raison des augmentations de prix d’AT&T. Le 24 février 1984, le prix d’une licence commerciale d’UNIX System V Release 2 avec les sources pour une seule unité centrale s’élevait à 43 000 $ (environ 126 000 $ en 2024), et chaque unité centrale supplémentaire coûtait 16 000 $ (près de 47 000 $ en 2024). Pour les établissements d’enseignement, le prix était plus bas : 800 dollars (ou 2300 dollars en 2024) et 400 dollars de plus pour chaque unité centrale.

Au début des années 80, il est devenu évident pour les membres du GRCS que le VAX n’allait pas durer éternellement. Computer Consoles Inc. a ouvert un centre de développement à Irvine et y a développé un mini-ordinateur propriétaire appelé Power 6/32, dont le nom de code est Tahoe. Cette nouvelle plate-forme était destinée à concurrencer directement le VAX. A la recherche d’un système d’exploitation, CCI s’est tourné vers le CSRG. CCI a fourni à l’équipe plusieurs machines et l’équipe a entrepris de porter 4.3BSD sur le 6/32. Ce système est devenu 4.3BSD-Tahoe en juin 1988. Il est important de noter qu’ils ont pu faire avancer le travail de Joy en séparant le code dépendant de la machine du reste du système, et 4.3BSD-Tahoe a introduit une pile de protocole réseau OSI, a amélioré le système de mémoire virtuelle du noyau, et a introduit un support TCP/IP plus efficace. Malheureusement, 4.3BSD-Tahoe n’a pas duré longtemps car CCI a changé d’orientation et Sperry et Burroughs ont lancé des mini-ordinateurs basés sur la plate-forme Power 6/32. Cependant, cet effort s’est poursuivi par la fusion de 4.3BSD-Tahoe et 2.10BSD en 2.11BSD pour le PDP-11. L’effort de Tahoe signifiait également qu’une grande partie de la base de code BSD avait été réécrite, poursuivant l’objectif de supprimer le code sous licence AT&T.

BSD n’a été publié qu’au format source. Tout utilisateur potentiel devait compiler son système à partir des sources. Par conséquent, tout utilisateur devait d’abord acquérir une licence AT&T avant de pouvoir utiliser BSD. Comme nous l’avons vu précédemment, les frais de licence UNIX étaient ridicules. Pourtant, la pile TCP/IP de la version 4.3 de BSD était unique à Berkeley. Plusieurs développeurs de logiciels ont demandé que le code réseau de BSD soit proposé séparément d’UNIX, ce qui fut fait en juin 1989 avec la version 1 de Networking. Le prix d’une cassette de Berkeley était de 400 $ (environ 983 $ en 2024), mais les termes de la licence autorisaient la libre modification, la libre redistribution et la libre application à n’importe quel cas d’utilisation, à condition que les avis de copyright sur le code de Berkeley restent en place et que les produits incorporant le code mentionnent dans la documentation que le code de l’Université de Californie et de ses contributeurs était inclus. Il était également disponible par FTP anonyme peu de temps après la publication initiale. Ce message du groupe de discussion a été publié le 7 décembre 1988, mais d’autres documents indiquent que la mise à disposition du public a eu lieu en novembre :

Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!
ames!pasteur!ucbvax!OKEEFFE.BERKELEY.EDU!bostic
From: [email protected] (Keith Bostic)
Newsgroups: comp.bugs.4bsd.ucb-fixes
Subject: V1.73 (BSD Networking Software, Release #1)
Message-ID: <[email protected]>
Date: 7 Dec 88 01:54:54 GMT
Sender: [email protected]
Organization: University of California at Berkeley
Lines: 374
Approved: [email protected]

We are happy to announce the availability of the first release of the BSD networking software. It consists of the standard user level applications, (along with their manual pages and some related documentation) and some kernel and C library support. It should be noted that this software has only been tested for compilation and operation on 4.3BSD and 4.3BSD-tahoe. A complete list of files is attached to this message.

The TCP and IP code is approximately the same as that recently made
available via the ARPANET and Usenet. Several new algorithms are used in TCP, in particular Van Jacobson's slow start and dynamic window size
selection algorithms and Phil Karn's modification to the roundtrip timing algorithm. These changes increase throughput and reduce congestion and retransmission. Several fixes were made in the handling of IP options and other gateway support.

This software suite is copyright The Regents of the University of California and may be freely redistributed. No previous license, either AT&T or Berkeley is required. The release costs $400.00 US. To request an order form, please contact our distribution office by phone at 415-642-7780, or by email at [email protected] or uunet!ucbarpa!bsd-dist, or by U.S. Mail at:

	CSRG, Computer Science Division
	University of California
	Berkeley, CA  94720

Mike Karels
Kirk McKusick

Plutôt que d’inclure la liste des fichiers, je me contenterai de noter que cette version était très complète. Elle incluait arp, les clients et serveurs ftp (oui, au pluriel pour les deux), route, telnet, les outils dns, ifconfig, inetd, des morceaux de la libc BSD, sendmail, syslog, ping, et uucp.

Alors que la version réseau était en cours d’élaboration, le développement de 4.3BSD s’est poursuivi. Un nouveau système de mémoire virtuelle a été implémenté à partir de MACH à Carnegie-Melon avec le travail de portage et de fusion effectué par Mike Hibler. L’interface de ce système de mémoire virtuelle était, cependant, une conception purement Berkeley adhérant aux descriptions d’architecture trouvées dans 4.2BSD. Le système NFS a été mis à jour pour être compatible avec Sun grâce au travail de Rick Macklem à l’Université de Geulph. Il est devenu 4.3BSD-Reno.

La licence BSD originale est incluse dans certaines parties de Tahoe et Reno, et dans toutes les lectures NET/1 et NET/2 :

Copyright (c) <year> <copyright holder>. All rights reserved.

Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by the <copyright holder>. The name of the <copyright holder> may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED `’AS IS″ AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Keith Bostic était toujours aussi avide de débarrasser BSD du code AT&T et de l’affranchir des coûts élevés liés à ce code. Lors d’une réunion du CSRG, il mentionna la popularité de la version réseau et proposa une version étendue qui inclurait plus que le réseau. La discussion s’est poursuivie pendant un certain temps, mais McKusick et Karels ont finalement pris en charge le travail sur le noyau, Bostic s’occupant des utilitaires et de la bibliothèque C. De toute évidence, il s’agissait d’une entreprise de grande envergure pour un seul individu, et Bostic pensait que d’autres personnes seraient prêtes à l’aider. Bostic a alors encouragé les gens à se coordonner sur l’Internet naissant, les gens du monde entier soumettant des contributions. Il a également encouragé les gens à contribuer à USENIX. En un peu plus d’un an, la plupart des utilitaires et des bibliothèques ont été réécrits grâce aux contributions majeures de Bill Jolitz, Donn Seeley, Trent Hein, Vadim Antonov, Mike Karels, Igor Belchinsky, Pace Willisson, Jeff Polk et Tony Sanders. Karels et McKusick ne s’attendaient pas vraiment à ce que Bostic réussisse, mais une fois le travail terminé, Bostic est entré dans leur bureau la tête haute et s’est enquis des progrès réalisés sur le noyau. Les deux hommes se sont alors mis à travailler fichier par fichier, en supprimant tout ce qui avait été inclus à l’origine dans la version 32V, mais il leur manquait six fichiers. Plutôt que d’obtenir une nouvelle licence et un nouveau nom créés par les avocats de l’université, le groupe réutilisa ce qu’il avait et cela devint la version 2 du réseau, annoncée le 3 juillet 1991.

Path: gmdzi!unido!fauern!ira.uka.de!sol.ctr.columbia.edu!spool.mu.edu!
caen!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!ucbvax!OKEEFFE.BERKELEY.EDU!bostic
From: [email protected] (Keith Bostic)
Newsgroups: comp.bugs.4bsd.ucb-fixes
Subject: V1.95 (BSD Networking Software, Release #2)
Message-ID: <[email protected]>
Date: 3 Jul 91 23:14:59 GMT
Sender: [email protected]
Organization: University of California at Berkeley
Lines: 36
Approved: [email protected]

We are happy to announce the availability of the second release of the
BSD networking software. The distribution includes approximately 75% of
the utilities distributed as part of 4.3BSD-Reno and the C library  (along with manual pages and some related documentation), and much of the kernel. We wish to *strongly* emphasize, however, that significant portions of the kernel are missing and that no binary support is supplied for any architecture. Please note also that this software has only been tested for compilation and operation on 4.3BSD-Reno.

This release is intended for system developers and others who wish to
preview or experiment with the most recent Berkeley system. It may also
be useful as an update to earlier BSD or BSD-derived systems, although
substantial work will be required to integrate portions of this release
into older systems. This distribution is *not* intended to be used on
production systems, nor is it intended for sites without the expertise
to find and fix problems that are encountered.

This software suite is Copyright (C) 1991 The Regents of the University
of California and may be freely redistributed without further charge.  No previous license, either from AT&T or Berkeley is required.  The release costs $850.00 US on 6250 BPI 9-track magnetic tape or 8mm Exabyte cassette or $950.00 US on 1600 BPI 9-track magnetic tape. The distribution is approximately 90Mb in size. To request an order form, please contact our distribution office by phone at 415-642-7780, or by sending email to [email protected] or uunet!ucbarpa!bsd-dist, or by U.S. Mail at:

	CSRG, Computer Science Division
	University of California
	Berkeley, CA  94720

Mike Karels
Kirk McKusick
Keith Bostic
Keith Sklower
Marc Teitelbaum

Moins d’un an plus tard, Bill Jolitz a remplacé les morceaux de noyau manquants et a tout compilé pour la plate-forme Intel 80386 compatible avec les PC, et il a publié cette nouvelle distribution sous le nom de 386/BSD. Quelques mois plus tard, un groupe d’utilisateurs de 386/BSD a formé NetBSD pour continuer à améliorer et à publier le système de Jolitz. Cela s’est produit parce que Jolitz avait toujours un emploi à plein temps et que le nombre de corrections de bogues, d’améliorations et d’ajouts apportés à son projet dépassait ses capacités à le gérer seul. NetBSD a mis et continue de mettre l’accent sur le portage de NetBSD sur absolument tout, y compris, mais sans s’y limiter, sur ARM, MIPS, i386, AMD64, SPARC, PowerPC, Motorola 68K, SH3, HPPA, Itanium, RISC-V, et VAX. Si votre grille-pain est équipé d’une puce, NetBSD fonctionnera probablement dessus. NetBSD s’est également engagé dans des recherches et des expérimentations qui ont conduit à de nombreuses technologies de sécurité et de durcissement du système, à un système de gestion de paquets étonnant, à la virtualisation du matériel au niveau du noyau, et à des niveaux surprenants de compatibilité ascendante. Comme le veut la tradition BSD, NetBSD a également intégré des changements provenant de systèmes comme Solaris avec ZFS.

Un grille-pain à la Linux World Expo en 2005, fonctionnant sous NetBSD

Alors que NET2 était en cours d’élaboration et de publication, la dernière version de 2.11BSD était également en cours de préparation et de publication, mais cette fois par USENIX. Le 14 mars 1991, Steven M. Schultz a posté ce qui suit sur comp.sys.dec.micro :

      Second Distribution of Berkeley PDP-11 Software for UNIX
                             Release 2.11
                        (Revised January 1991)

The USENIX Association is pleased to announce the distribution of a new release of the "Second Berkeley Software Distribution" (2.11BSD).

This release will be handled by USENIX, and is available to all V7,  System III, System V, and 2.9BSD licensees. The Association will continue to maintain the non-profit price of $200. The release will consist of two 2400 ft. 1600 bpi tapes or one TK50 tape cartridge
(approximately 80M) and approximately 100 pages of documentation.

If you have questions about the distribution of the release, or require  800 bpi tapes, please contact USENIX. USENIX's address and phone number is as follows:

     2.11BSD
     USENIX Association
     2560 Ninth St. Suite 215
     Berkeley, CA  94710
     +1-415-528-8649

USENIX may also be contacted by electronic mail at:

     {ucbvax,decvax}!usenix!office

If you have technical questions about the release, please contact Steven M. Schultz at:

     [email protected]
     wlbr!wlv!sms

This release is in celebration of the 20th anniversary of the PDP-11!  Work has been ongoing since the release of 2.10.1BSD in January 1989.  This release incorporates all fixes and changes posted to the USENET newsgroup comp.bugs.2bsd since 2.10.1BSD was released.

Present in this release are several more missing pieces from the 4.3BSD distribution:

1) the kernel logger (/dev/klog)
2) the namei cache and argument encapsulation calling sequence
3) readv(2)/writev(2) as system calls rather thane mulation/compatibility routines
4) shadow password file implementation (the May 1989 4.3BSD update)
5) a TMSCP (TK50/TU81) driver with standalone support (boot-block and standalone driver)
6) Pronet and LH/DH IMP networking support
7) the portable ascii archive file format (ar, ranlib)
8) the Unibus Mapping Register (UMR) handling of the network was rewritten to avoid allocating excessive UMRs.
9) the necessary mods to the IP portion of the networking were made to allow traceroute (which is present in 2.11BSD) to run
10) long filenames in the file system

This last addition is the reason a coldstart kit is necessary. The 4.3BSD on-disk directory structure has been ported (along with the
utilities that know about on-disk directories via the raw filesystem: fsck, ncheck, icheck, dcheck, etc.) and is not compatible with previous versions of UNIX for the PDP-11.

A limited amount of filesystem backward compatibility with earlier  versions of 2BSD (2.9BSD, 2.10BSD and 2.10.1BSD) is present in a version of dump(8) which can read old filesystems. The disk partition sizes have not changed from 2.10.1BSD (the urge to standardize the haphazard partition sizes was suppressed in the interest of backwards compatibility). The restor(8) utility automatically converts old dump 
tapes to the new format on input.

The constant MAXNAMLEN is now 63 instead of 14. While it is possible the limit could be higher, with MAXPATHLEN at 256 a MAXNAMLEN of 63 was  judged sufficient.

MANY other fixes and changes have also been made, see the "Changes To The Kernel" document which describes the changes made to both the kernel and the application programs.

Steven M. Schultz
Contel Federal Systems
31717 La Tienda Drive
Westlake Village CA 91359
[email protected]
wlbr!wlv!sms

Quelques mois après la création du groupe NetBSD, le groupe FreeBSD s’est formé. Il a choisi de cibler spécifiquement l’architecture PC et de rendre son système un peu plus facile à utiliser. Contrairement à NetBSD qui était uniquement un produit proposé sur Internet, le groupe FreeBSD proposait son produit sur CD-ROM. FreeBSD s’est étendu à ARM, PowerPC et MIPS, et comme NetBSD, il a poursuivi l’esprit de recherche et d’expérimentation du CSRG avec des choses comme la virtualisation bhyve et les jails. De plus, ils ont continué à emprunter les meilleurs éléments d’autres systèmes comme dtrace et ZFS, mais aussi via leur immense collection de logiciels portés.

Richard L. Adams Jr (Rick) a été le fondateur de l’un des premiers fournisseurs de services internet (si ce n’est le premier), UUNET, après avoir créé SLIP (TCP/IP over serial). Il a également assuré la maintenance du transport usenet le plus populaire au début des années 1980, B News. Après la sortie de 386/BSD, il s’est associé à Keith Bostic, Marshall Kirk McKusick, Mike Karels et Bill Jolitz pour fonder Berkeley Software Design, Inc, également connu sous le nom de BSDi. Leur premier produit était BSD/386 basé sur la version 2 de Networking et il est sorti pour la première fois en janvier 1992. Leur système était vendu au prix de 995 dollars (environ 2160 dollars en 2024). Le marché cible de BSDi était le marché naissant des infrastructures Internet. Dans leur publicité, ils vantaient leur « rabais de 99% par rapport à System V » et conseillaient aux personnes intéressées de contacter le 1-800-its-unix.

Bien entendu, cela n’a pas plu à Unix System Labs (filiale d’AT&T). Peu de temps après avoir commencé ses ventes, BSDi a reçu une lettre de cessation et d’abstention de la part d’USL, lui demandant en particulier de cesser d’utiliser le numéro de téléphone comportant la mention « it’s UNIX », étant donné que la propriété de la marque UNIX était fermement entre les mains d’USL. BSDi a obtempéré en modifiant ses publicités et son numéro de téléphone et en expliquant que BSD n’était pas précisément UNIX. Mais cela n’a pas suffi. USL a intenté un procès à BSDi pour obtenir une injonction contre la vente de BSD/386. Dans le cadre de cette action, USL a affirmé que le produit de BSDi contenait du code et des secrets commerciaux d’USL et que la poursuite des ventes du produit de BSDi causerait un préjudice irréparable à USL. BSDi a alors affirmé qu’elle ne devrait pas être tenue responsable du code contenu dans les sources originales de Berkeley, mais qu’elle était tout à fait disposée à discuter des six fichiers ajoutés, originaux de BSDi. L’argument de BSDi l’a emporté et USL a dû reformuler sa plainte, faute de quoi l’affaire a été rejetée. USL a ensuite intenté un procès contre BSDi et l’Université de Californie, avec à peu près les mêmes plaintes, mais cette fois-ci en demandant une injonction contre la vente et la distribution de Networking Release 2 et de BSD/386. Les employés du CSRG et de BSDi ont été entendus.

En décembre 1992, le juge Debevoise du district américain du New Jersey a pris en considération les arguments en faveur d’une injonction. Six semaines plus tard, il a rejeté toutes les plaintes sauf deux et a suggéré que l’affaire soit portée devant un tribunal d’État avant d’être entendue par un tribunal fédéral. L’université a écouté et a intenté une action en justice contre l’USL le lundi suivant en Californie. L’université de Californie prétendait qu’USL n’avait pas reconnu à l’université le code BSD contenu dans System V, comme l’exigeait l’accord de licence antérieur. L’université de Californie ne demandait pas de compensation financière, mais plutôt qu’USL réimprime toute sa documentation sur le système V en mentionnant le code BSD, qu’USL informe les détenteurs de licences de son erreur et qu’elle publie des annonces dans les journaux pour informer le public de son erreur.

Le 21 décembre 1992, Novell a annoncé qu’il allait acquérir Unix System Laboratories, y compris les droits d’auteur, les marques et les contrats de licence UNIX. Selon le LA Times, cette transaction a été réalisée par un échange d’actions dans lequel toutes les actions d’USL ont été échangées contre douze millions trois cent mille actions de Novell, après quoi USL est devenue une filiale à part entière de Novell. Les discussions sur le règlement des procédures judiciaires ont débuté au cours de l’été 1993, mais n’ont abouti qu’en janvier 1994. En conséquence, trois fichiers ont été retirés de Networking Release 2, des modifications mineures ont été apportées à quelques autres fichiers et les droits d’auteur d’USL ont été ajoutés à environ soixante-dix fichiers, bien que la licence de ces fichiers continue d’être la licence BSD. L’USL a accepté qu’à condition de respecter ces conditions, elle ne porterait pas plainte contre une entreprise, un groupe ou un utilisateur qui utiliserait ou distribuerait le système BSD à code source ouvert qui en résulterait.

Le système résultant était 4.4BSD-Lite et 4.4BSD-Encumbered en mars 1994. 4.4BSD-Encumbered incluait le code USL antérieur et nécessitait une licence USL UNIX. 4.4BSD-Lite était un logiciel entièrement libre et open source. Cette version a été fusionnée avec FreeBSD 2.0, NetBSD 1.0 et un nouveau nom BSD/OS qui était auparavant BSD/386. Pour le CSRG, les revenus reçus de 4.4BSD ont permis au groupe de continuer à travailler à temps partiel en intégrant les corrections de bogues et les améliorations apportées localement et par la communauté BSD. Lorsque l’attention s’est portée sur d’autres distributions comme BSD/OS, NetBSD et FreeBSD, le rythme des soumissions à Berkeley s’est ralenti. La dernière version de l’Université fut la 4.4BSD-Lite Release 2 en juin 1995. Cette version a été fusionnée avec FreeBSD 3.0, Rhapsody (et plus tard Darwin), NetBSD 1.3, OpenBSD 2.3, et BSD/OS 3.0.

En 1995, le BSD/OS de BSDi était le système d’exploitation le plus couramment utilisé dans les centres de données du premier Internet. C’est un marché que BSDi avait intentionnellement ciblé, ce qui s’est avéré être une épée de Damoclès. La mèche de cheveux qui retenait l’épée s’est brisée lorsque la bulle Internet a commencé à éclater et que BSDi a fusionné avec Walnut Creek, qui a elle-même été vendue plus tard à Wind River Systems.

Aujourd’hui, BSD est l’un des systèmes d’exploitation les plus répandus sur Terre, même si les gens ne le reconnaissent pas comme tel. Le macOS moderne descend de 4.4BSD, tout comme NetBSD, OpenBSD, FreeBSD, Dragonfly BSD, et quelques autres. Dans le passé, diverses versions de BSD ont constitué la base de SunOS, DYNIX, NeXTSTEP, Ultrix et Tru64. Plusieurs éditions de BSD ont été fusionnées avec AT&T UNIX, ce qui signifie que les systèmes UNIX commerciaux modernes comme AIX et HP-UX utilisent également du code BSD. BSD a été utilisé dans de nombreux produits commerciaux en raison de sa licence permissive, et certains des plus remarquables sont les Playstation 3, 4 et Vita de Sony, l’Open Connect Appliance de Netflix, les routeurs Juniper, les systèmes de stockage en grappe Isilon IQ, les systèmes de stockage Dell Compellent et l’ordinateur de prévision IntelliStar de la chaîne météo.


J’ai maintenant des lecteurs issus de nombreuses entreprises dont je couvre l’histoire, et beaucoup d’entre vous étaient présents pendant les périodes que je couvre. Certains d’entre vous sont cités nommément dans mes articles. Toutes les corrections sont les bienvenues ; n’hésitez pas à laisser un commentaire.


Source : https://www.abortretry.fail/p/the-berkley-software-distribution

Article publié le .


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *