AT&T hatte damals noch das Telekommunikationsmonopol in den USA inne und durfte keine Geschäfte im Computerbereich tätigen,[1][2] sodass die Firma UNIX zum Selbstkostenpreis der Datenträger an die Universitäten verteilte. Damit verbunden war die Erlaubnis, denQuelltext einzusehen und zu modifizieren. Sie blieb auch später noch zu Zwecken der Lehre erhalten.[3] Nachdem in den 1990er Jahren AT&T UNIX-Lizenzzahlungen eingefordert hatte, wurde der Quelltext umgeschrieben, sodass es keine einzige Zeile originalen UNIX-Quelltext von AT&T mehr in aktuellen BSDs gibt.
Die ursprüngliche durch die Universität erstellte BSD ist praktisch nicht mehr gebräuchlich. Der Begriff BSD bezeichnet heute vielmehr eine ganze Klasse von Betriebssystemen, die von der Berkeley Software Distribution abgeleitet sind. BSD ist nebenSystem V eine der großen Hauptlinien der Unix-Entwicklung.
Heute istmacOS vonApple das kommerziell erfolgreichste BSD und Unix fürPersonal Computer – eine Weiterentwicklung vonNeXTsOPENSTEP. Es setzt auf dem BasisbetriebssystemDarwin auf, das unter anderem auf Grundlage vonFreeBSD entstand. Darwin umfasst denHybridkernelXNU, dessen Entwicklung auf demOSF Mach-Kernel und dem Kernel von FreeBSD fundiert. Vielfältige Betriebsmittel für dieBefehlszeile ergänzen Darwin bei macOS, ein Großteil davon stammt wiederum von FreeBSD,OpenBSD undNetBSD. Die Gründer der Unternehmen Apple und NeXT waren Studenten in Berkeley.
Der Quelltext der Distribution wurde von Berkeley unter der BSD-Lizenz freigegeben, bei der es sich, in der heute modifizierten Form, um einefreie Lizenz handelt, welche auch für andere Programmpakete verwendet wird.Im Gegensatz zurGNU General Public License erlaubt es die BSD-Lizenz, unter Beachtung einiger Regeln den Quelltext zur Entwicklung eigener, proprietärer Programme zu verwenden.
BSD hatte großen Einfluss auf die Unix-Entwicklung. Es wurden Änderungen amKernel vorgenommen und das System wurde auch sonst wesentlich erweitert. Viele dieser Neuerungen wurden später entweder direkt oder in ähnlicher Form auch in die konkurrierende System-V-Linie übernommen.
Die wichtigsten Neuerungen waren:
DasFast File System: ein schnelleresDateisystem mit langen Dateinamen (die Edition 7 erlaubte nur 14 Zeichen)
Im Folgenden wird die Geschichte derBerkeley Software Distribution vom Erwerb einer Kopie von Unix aus denBell Laboratories durch die UCB bis zur Version 4.4-Lite2 beschrieben.[4]
Die Universität Berkeley erhielt 1974 von AT&T die 4er-Edition des noch neuen Betriebssystems Unix. Dieses war gerade inC umgeschrieben worden, ein C-Entwicklungssystem war Teil des Systems. Sofort wurde mit der Erweiterung des Systems begonnen, das auf einerPDP-11-Maschine der FirmaDigital Equipment Corporation (DEC) lief. Die Arbeiten beschleunigten sich, als 1976Ken Thompson, ein maßgeblicher Unix-Entwickler, eine Gastprofessur in Berkeley antrat. Inzwischen waren auch die Editionen 5 und 6 erschienen.
Die Erweiterungen und Änderungen fasste der damalige StudentBill Joy 1977 erstmals zusammen und stellte sie externen Interessenten auf einemMagnetband zur Verfügung – die erste Berkeley-Software-Distribution.1978 waren bereits so viele neue Teile hinzugekommen, dass die zweite Berkeley Software Distribution (2BSD) zusammengestellt wurde.[2] Diese enthielt bereits die erste Version des Editorsvi.
Inzwischen hatte DEC eine neue Prozessorlinie namens VAX herausgebracht, deren erster Vertreter die VAX-11/780 war.VAX hieß eigentlichVirtual Address Extension und war zunächst als Erweiterung für die PDP-11-Linie gedacht. Die VAX wurde aber eine eigene Prozessorlinie, und DEC plante, den Verkauf von PDP-Maschinen zugunsten der VAX-Linie einzustellen. AT&T hatte zwar bereits einePortierung von Unix V7 auf den VAX-Prozessor fertiggestellt (Version 32/V), diese unterstützte jedoch keine virtuelle Speicherverwaltung. Berkeley portierte 2BSD auf die VAX-11/780 und implementierte eine virtuelle Speicherverwaltung. Für VAX-Maschinen erschien 1979 3BSD und dann 1980 4BSD.[2] Die Entwicklung von BSD-Versionen für PDP-11s wurde unabhängig davon mit 2BSD weitergeführt, da der Adressraum der PDPs von nur 64 KByte zu klein für die neuen Versionen war.
1980 wurde ein Vertrag mit der Forschungsabteilung des amerikanischen VerteidigungsministeriumsDARPA geschlossen. 3BSD und 4BSD sollten die Grundlage für die DARPA-Entwicklungen, insbesondere im Bereich der Vernetzung, werden. Dies führte zur Integration derInternet-Netzprotokolle (TCP/IP) in die BSD-Varianten.
Gleichzeitig beschloss AT&T, ihre Edition V7 zumSystem III und dann zum System V weiterzuentwickeln und kommerziell zu vermarkten. Die neue Berkeley-Version hieß daher nicht 5BSD, sondern 4.1BSD, um Verwechslungen auszuschließen. Mit 4.1BSD und den internen Versionen 4.1a, 4.1b und 4.1c wurde die Leistung des Systems verbessert, erste TCP/IP-Protokolle eingefügt und Netzwerkwerkzeuge(rsh, rcp) entwickelt. Dies und viele von Berkeley erstellte Hilfsprogramme veranlasstenSun,DEC und andere Hersteller von Hardware, ihre Versionen von UNIX auf BSD aufzubauen anstatt auf dem offiziellen System V von AT&T. So etablierte sich BSD im akademischen und militärischen Bereich.[5] AT&T übernahm diese Entwicklungen später in ihr System-V-Produkt. Da die Berkeley-Distribution immer noch frühen Quelltext von AT&T enthielt, verlangte AT&T den Erwerb einer teuren[6] Lizenz von jedem, der Code aus Berkeley verwendete.[2]
Computerhersteller übernahmen die Berkeley Software Distribution und passten sie auf ihre Maschinen an. 1982 wechselteBill Joy zur neu gegründeten FirmaSun Microsystems, die im selben Jahr die erste Version ihres auf BSD basierenden BetriebssystemsSunOS herausbrachte. SunOS wurde im Lauf seiner Entwicklungsgeschichte um viele Funktionen des ohnehin lizenzierten System V erweitert, blieb aber lange Zeit seinen BSD-Wurzeln treu.
1983 brachte DEC für PDP-11 Ultrix-11 und dann für VAX-Computer Ultrix-32 heraus. Ultrix basierte ebenfalls auf BSD. Es wurde später auch aufMIPS-Prozessoren portiert, die DEC in seiner Workstation-Linie verwendete.
Auch andere Unix-Hersteller verwendeten Teile der BSD. So setzteNeXT ab 1988 für ihr BetriebssystemNeXTStep ein BSD-System, allerdings mit einemMach-Mikrokernel, ein. System V übernahm nach und nach Code von BSD, es bildete die Grundlage dieser Unix-Systeme.
DEC brachte um 1990 seinenAlpha-Mikroprozessor heraus, der dieVAX- und MIPS-Produkte ablösen sollte. Gleichzeitig wurde die Weiterentwicklung von Ultrix eingestellt, da auf Alpha das neueOSF/1 – ein Unix-Klon – angeboten wurde.
Sun bildete 1988 mitUnix International eine Allianz mit AT&T und portierte sein SunOS ebenfalls auf System V mit BSD-Erweiterungen. 1992 erschien SunOS5 (auchSolaris 2), das nicht mehr ein direkter Abkömmling von BSD war.
Damit war der letzte große Unix-Hersteller auf System V umgeschwenkt, alle Unix-Systeme verwendeten jedoch immer noch große Teile der BSD, darunter die von BSD eingeführten Kommandos und die TCP/IP-Netzwerkimplementierung.
Berkeley setzte seine Tradition fort und entwickelte die Distribution weiter. 1983 erschien 4.2BSD und 1986 4.3BSD. Es wurde klar, dass die VAX-Prozessoren durch andere Systeme abgelöst werden mussten, mit 4.3BSD-Tahoe (1988) wurde der Kernel in maschinenabhängige und portable Teile getrennt. 1990 erschien mit 4.3BSD-Reno eine Version, die unter anderem denMach-Mikrokernel unterstützte.[2]
4.3BSD wurde sogar auf die PDP-11-Maschinenzurückportiert und 1992 als 2.11BSD veröffentlicht. Der 250 KByte große Kernel wurde dabei mitOverlay-Techniken auf den nur 64 KByte großen Adressraum der PDP abgebildet.
Ende der 1980er Jahre hatte Berkeley so viele Erweiterungen eingebaut, dass nahezu der gesamte Unix-Quelltext von AT&T durch eigene Versionen ersetzt war. Hersteller von auf BSD basierenden Unix-Versionen mussten trotzdem wegen der übrigen Teile eine teure[6] System-V-Lizenz von AT&T erwerben. Da unter anderem die gesamte Netzwerkimplementierung von Berkeley stammte, hatten auch andere Hersteller Interesse an den Berkeley-Entwicklungen, jedoch ohne eine AT&T-Lizenz erwerben zu müssen. 1989 gab die Universität deshalb dieNetworking Release/1 heraus, die alle von Berkeley identifizierten Dateien ohne Code von AT&T umfasste.[2] Diese Version stellte jedoch kein vollständiges Betriebssystem mehr dar.
1991 erschien dann dieNetworking Release/2.Bill Jolitz ergänzte 1992 diese Release um nur sechs Dateien und veröffentlichte einen Patch, so dass ein vollständiges, fortgeschrittenes Betriebssystem fürIntel-80386-Prozessoren namens386BSD entstand.[2]
Ebenfalls 1992 begann eine von der Universität Berkeley gegründete Firma namensBerkeley Software Design Inc. (BSDi) mit der Vermarktung der auch zum Betriebssystem erweiterten Networking Release/2. Sie vermarkteten ihr System unter dem Namen „Unix“ inklusive Quelltext für den niedrigeren Preis von 995 Dollar. DieUnix System Laboratories (USL), ein Zweig von AT&T, verklagten BSDi und die Universität daraufhin auf Einstellung des Verkaufs wegen Markenverletzung und teilweiser Verwendung ihres Quelltextes.[7] Eine einstweilige Verfügung wurde jedoch abgelehnt.
Im Laufe dieses Rechtsstreits stellte sich heraus, dass AT&T Quelltext von Berkeley übernommen hatte (was wegen der BSD-Lizenz legal war), dabei jedoch die Urheberschaft Berkeleys aus dem Quelltext und der Dokumentation entfernt hatte (was in der BSD-Lizenz untersagt ist).[7] Der Rechtsstreit endete 1994 damit, dass AT&T in einigen seiner Dateien die Urheberschaft von Berkeley wieder eintragen musste. Berkeley musste nur drei der über 18.000 Dateien der Networking Release/2 entfernen und einige kleine Änderungen durchführen. Die Release war damit frei von Unix-Quelltext.
Im selben Jahr gab Berkeley dann die Version4.4BSDLite als Nachfolger der Networking Release/2 heraus. 1995 war dann die Version4.4BSDLite2 die letzte Version der Berkeley Software Distribution. 4.4BSDLite und Lite2 wurden zusammen mit 386BSD zur Grundlage von NetBSD, FreeBSD und kurz darauf OpenBSD.[2]
Die BSDi entwickelte und vertrieb ihr System weiter unter dem Namen BSD/OS. Im Jahre 2001 wurde BSDi von der kalifornischen FirmaWind River Systems aufgekauft.
Das freie 386BSD (1992) vonBill Jolitz zog Entwickler an, zumal PCs mit 80386-Prozessor sehr preiswert wurden. Jolitz war fest angestellt und hatte nicht immer genügend Zeit für die Fehlerbehebung und Einarbeitung von Verbesserungsvorschlägen. Dies veranlasste einige Entwickler im Jahre 1993, zwei Nachfolgeprojekte, NetBSD und FreeBSD, fast gleichzeitig ins Leben zu rufen.
Nachdem 1994 der Streit mit AT&T beigelegt war, brachten beide Projekte neue Versionen auf Grundlage von 4.4BSD-Lite heraus, die keinen AT&T-Quelltext mehr enthielten:NetBSD 1.0 (1994) undFreeBSD 2.0 (Anfang 1995).
1995 zerstritt sich einer der Gründer des NetBSD-Projektes,Theo de Raadt, mit den anderen Entwicklern und spaltete ein eigenes Projekt namensOpenBSD ab. Seit 2003 gibt es mitDragonFly BSD, einer Abspaltung von FreeBSD, ein weiteres BSD-Projekt. Auch das Betriebssystem Mac OS X und dessen Open-Source-PendantDarwin von Apple basieren in Teilen (welche der „normale“,GUI-orientierte Anwender allerdings kaum bemerkt) auf BSD, speziell FreeBSD. Durch die Fortführung und Weiterentwicklung von NeXTStep als Mac OS X erfuhr BSD erneut einen technischen Aufschwung und eine weite Verbreitung.
Neuentwicklungen und insbesondere die zahlreichen Gerätetreiber eines Projekts werden von den anderen meist problemlos übernommen. Alle Projekte haben die Entwicklung einesfreien Systems zum Ziel, ins eigentliche System soll daher nur mit der BSD-Lizenz kompatibler Code einfließen. Die Details der Interpretation des Begriffs freie Software unterscheiden sich jedoch geringfügig.
NetBSD möchte eine möglichst große Zahl verschiedener Hardwarearchitekturen und Prozessoren unterstützen.Of course it runs NetBSD ist der Slogan des Projekts. Ein besonderes Augenmerk liegt auf der Durchsetzung eines systemweiten, sauberen Designs und einer klaren Struktur. Dazu gehört die kontinuierliche Schaffung und Verbesserung maschinenunabhängiger Schnittstellen, etwa für Gerätetreiber, welche die sprichwörtliche Portabilität von NetBSD überhaupt erst ermöglichen.
Aufgrund seinerÖffentlichkeitsarbeit zähltFreeBSD zu den am weitesten bekannten BSD-Varianten. FreeBSD konzentrierte sich anfangs aufPC-Hardware mit Intels 80386-Prozessor. Eine einfache Installation ist ein Ziel des Projekts, so dass auch Nichtfachleuten die Verwendung dieses Systems ermöglicht wird. Schon früh veröffentlichte das Projekt daher Installations-CDs. Neben Intel- und AMD-Prozessoren werden auch andere Prozessoren wieSun SPARC und Alpha unterstützt.
OpenBSD verfolgt als eines der Hauptziele die Entwicklung des sichersten freien Systems. Dazu gehört zum einenproaktive Sicherheit, das heißt über Code-Audits sollen so weit wie möglich Fehler entdeckt und im Voraus eliminiert werden. Dies bedeutet aber bei weitem nicht, dass bei den anderen BSD-Varianten die Sicherheit vernachlässigt würde. OpenBSD ist führend in der Implementierung von sicheren, verschlüsselten Übertragungsverfahren.IPsec-Unterstützung gehört ebenso dazu wie eine offene Implementierung derSecure Shell namensOpenSSH.
↑Sofern nicht anders angegeben, stützen sich die Aussagen dieses Abschnittes auf die Zusammenfassung der Geschichte von BSD durch Marshall Kirk McKusick im ArtikelTwenty Years of Berkeley Unix. (Memento vom 15. Dezember 2013 aufWebCite)O’Reilly Online Catalog 1999,ISBN 1-56592-582-3.
↑abEvi Nemeth:Handbuch zur Unix-Systemverwaltung. Pearson Deutschland GmbH, 2004,ISBN 978-3-8272-6787-0,S.39 (eingeschränkte Vorschau in der Google-Buchsuche): „Die Quellcode-Lizenzen von AT&T waren für Benutzer außerhalb der Universitäten sehr teuer.“