Kerzenflut

Im Jahr 1991 begann ein finnischer Student mit der Entwicklung von Linux – über das genaue Datum lässt sich trefflich streiten. Inzwischen hat das unter Minix gestartete Hobby-Projekt auf seinem Weg zum professionellen Betriebssystem eine 20-jährige Geschichte hinter sich.

Lesezeit: 11 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 10 Beiträge
Von
  • André von Raison

Gemeinhin gilt der 25. August als Geburtsstunde von Linux, der Tag, an dem der finnische Student Linus Benedict Torvalds jenes Usenet-Posting in comp.os.minix absetzte: „Hello everybody using Minix, …“ (siehe Artikelseite 2). Der eigentliche Anfang liegt aber einige Monate davor. Linus Torvalds hatte sich im Januar 1991 einen PC mit 80386-Prozessor gekauft und installierte darauf Minix, das von Andrew Tanenbaum für Lehrzwecke entwickelte unixoide Mikro-Kernel-Betriebssystem. Mit der dazugehörenden Terminal-Emulation war Torvalds so unzufrieden, dass er eine eigene schrieb – schließlich wollte er von seinem PC daheim aus auf den neuen Unix-Rechnern der Uni arbeiten.

Anlässlich des 10-jährigen Bestehens der niederländischen Unix Users Group (NUUG) im Sommer 1993 hatte Linus Torvalds seinen ersten internationalen Auftritt als Sprecher (Abb. 1).

Mit der Zeit entstand bei ihm der Wunsch, Daten herunterzuladen beziehungsweise lokale Daten hochladen zu können. Das initiierte letztlich die Metamorphose vom reinen Terminal-Emulator zum Betriebssystem, da der Emulator dazu einen Festplattentreiber benötigt und mit einem Dateisystem umgehen können muss. Für den Unix-Fan Torvalds kam hier nur ein POSIX-konformer Ansatz infrage, weshalb er Anfang Juli in comp.os.minix nach einer Kopie der aktuellen POSIX-Regeln fragte. Ende August liefen auf seinem ursprünglich „FreaX“ genannten System eine Shell (bash) sowie ein Compiler (gcc), und mit seinem Posting (siehe Kasten „Linus Torvalds’ initiales Usenet-Posting“ auf Seite 2) wandte er sich erstmals an eine breitere Öffentlichkeit. Den Namen Linux hat Ari Lemmke zu verantworten. Der damalige Admin an der Uni mochte den Namen FreaX nicht und schlug, als er die Verzeichnisse auf dem FTP-Server einrichtete, stattdessen Linux vor. Am 1. September 1991 fand sich dort die Version 0.01 – ein weiteres potenzielles Jubiläumsdatum. Sie bestand aus rund 10 000 Zeilen Quellcode – die aktuelle Version 3.0 besteht aus 14,7 Millionen Zeilen.

Für die Entwicklung nutzte Torvalds Minix, und hätte er sich im Herbst 1991 nicht versehentlich seine Minix-Partition zerstört, wäre das Projekt Linux vermutlich eingeschlafen. So wagte er den kompletten Umstieg, was neue, technisch verlockende Herausforderungen mit sich brachte, unter anderem fehlte noch die Fähigkeit, den Kernel unter Linux zu übersetzen. Die Umsetzung führt zu einem Versionshüpfer auf 0.10. Anfang 1992 erschien Version 0.12, ab der Linux Page-to-Disk beherrschte – etwas, das Minix oder auch Coherents PC-Unix-Clone nicht konnten. Mit dieser Release wechselte Torvalds von einer eigenen Lizenz zur GNU GPL.

Kurz darauf trat Tanenbaum mit seinem Posting „Linux is obsolete“ eine längere Usenet-Diskussion los, in der er sich mit Torvalds teils recht heftig stritt, vor allem über grundsätzliche Architekturfragen. Im April 1992 richtet Ari Lemmke mit alt.os.linux die erste Linux-Newsgruppe ein.

In der gleichen Zeit hatte es der Entwickler Orest Zborowski geschafft, X auf das freie Betriebssystem zu portieren. Dazu hatte er im Kernel für die Kommunikation Unix Domain Sockets und eine Reihe von Unix-System-V-Systemaufrufen implementiert. Linux erhielt auf diesem Weg ein GUI und die Option, auf den Sockets die noch fehlende Netzwerkfähigkeit zu entwickeln. Das veranlasste Torvalds zu einem erneuten Versionssprung auf 0.95.

Wer zu jener Zeit Linux nutzen wollte, musste sich die Quellen aller Bestandteile (Kernel, Tools, Compiler et cetera) zusammensuchen, herunterladen und selbst übersetzen. Peter MacDonald stellte mit seinem Softlanding Linux System (SLS) erstmals die entsprechenden Pakete zusammen und baute so die vermutlich erste Linux-Distribution. Auch bei der Heise-Tochter eMedia konnte man 1992 für 99 DM eine SLS auf 20 5,25"-Disketten beziehen, und iX befasste sich in der Ausgabe 7/1992 erstmals mit dem freien Unix-Clone.

Zunächst als fehlerkorrigierte SLS startete Patrick Volkerding im März 1993 sein Slackware-Projekt, mit dem Ziel einer möglichst Unix-ähnlichen Linux-Umgebung. Slackware ist übrigens die älteste heute noch gepflegte Linux-Distribution. Ian Murdoch war von den SLS-Fehlern ebenfalls so genervt, dass er im August Debian ins Leben rief.

Im Herbst 1992 gründeten Roland Dyroff, Thomas Fehr, Hubert Mantel und Burchard Steinbild S.u.S.E. (Software- und System-Entwicklung), die zunächst eine an den deutschen Markt angepasste Slackware auf Disketten und ab April 1994 auch auf CDs vertrieb. Vier Jahre später stiegen die Nürnberger auf das von Florian La Roche betreute JURIX um und entwickelten daraus ihre eigene Linux-Distribution. Auch die Distribution des Erlanger Linux Support Teams (LST) startete 1993 ursprünglich als deutscher Slackware-Ableger. 1997 kaufte Caldera die daraus entstandene GmbH, und aus der LST wurde OpenLinux. Caldera wiederum kaufte später die „alte“ SCO – aber das ist eine andere Geschichte …

Als eine der ersten kommerziellen Distributionen gilt das von Adam J. Richter im November 1992 initiierte Yggdrasil – wegen der damals noch nicht selbstverständlichen automatischen Hardwareerkennung als Plug-and-Play-Linux vermarktet. Mit der Deutschen Linux Distribution (DLD) gab es Ende 1992 ein weiteres Paket aus hiesigen Landen. Sie wurde ab 1994 über die Firma delix vertrieben, die wiederum 1999 zur deutschen Dependance von Red Hat mutierte. Letztere hatten mit ihrer Version 2.0 im Herbst 1995 als eine der ersten Distributionen den zunächst unpopulären Wechsel des Binärformats von a.out nach ELF komplett vollzogen. In Sachen Standardisierung hatte ebenfalls eine deutsche Firma die Nase vorn: Die Braunschweiger Unifix präsentierte 1996 das erste POSIX-zertifizierte Linux-Paket.

Doch zurück zum Kernel und seinen Machern. Anfang 1994 war die Entwicklergemeinde deutlich größer geworden. In der Datei CREDITS der im März 1994 veröffentlichten Version 1.0 finden sich Einträge von 80 Kernel-Kontributoren. Linux konnte jetzt mit SCSI-Platten umgehen, besaß mit Ext2 ein neues Standarddateisystem und war netzwerkfähig. Die Entwickler lebten inzwischen über halb Europa, Nordamerika und Australien verstreut und waren sich in natura meistens nie begegnet. So kam die Idee auf, dafür eine Plattform zu schaffen – die Umsetzung erfolgte mit dem ersten Linux-Kongress im Sommer 1994 in Heidelberg.

In den folgenden Monaten machte sich das Kernel-Team an die Bewältigung der nächsten größeren technischen Hürden, ELF und Plattformunabhängigkeit. Für beides konnte es im März 1995 Vollzug melden, der Kernel 1.2 lief im ELF-Binärformat auch auf Nicht-Intel-CPUs (Alpha, MIPS und SPARC). Fünfzehn Monate später erschien Version 2.0, die unter anderem eine Firewall und ISDN, kerneld, ein Loop-Device, Masquerading und Quotas bot. Mit der Einführung feierte auch der Linux-Pinguin Tux seinen Einstand.

Inzwischen waren immer mehr Firmen auf das aufstrebende Betriebssystem aufmerksam geworden, aber dennoch galt Linux als Plattform für Hobbyisten. Rund sechseinhalb Jahre war die Verteilung der Linux-Quellen über den FTP-Server nic.funet.fi erfolgt. Dennoch gab es Firmensponsoren, die am 13. März 1997 den Start von kernel.org ermöglichten. Die Site dient als zentrale Anlaufstelle für die „offiziellen“ Linux-Quellen. Darüber hinaus läuft über die Linux-Kernel-Mailing-Liste (LKML) auf vger.kernel.org ein Großteil der Kommunikation zwischen den Kernel-Hackern, die nach den Anfängen („linux-activists@niksula.hut.fi“) lange über vger.rutgers.edu erfolgte.

Unix-Vater Dennis Ritchie, Linus Torvalds und Sebastian Hetze, einer der Initiatoren des Linux Anwenderhandbuches, im Gespräch am Rande der Usenix Annual Technical Conference im Januar 1997 (von rechts nach links, Abb. 2).

Linux’ Image begann sich zum ersten Mal deutlich zu ändern, als 1998 Informix, Oracle und SAP relativ kurz nacheinander erklärten, es als unterstützte Plattform für die eigenen Produkte aufzunehmen; IBM reihte sich Anfang 1999 hier ebenfalls ein. Der im Januar freigegebene Kernel 2.2 bot unter anderem benutzbaren SMP-Support und einen (nicht zum letzten Mal) überarbeiteten Netzwerk-Stack.

Den virtuellen Ritterschlag für Linux gab es im Frühjahr 1999, als IBM ankündigte, Linux künftig als strategische Plattform nutzen und eine Milliarde Dollar darin investieren zu wollen. Das Engagement zeigte nicht nur beim Image, sondern auch technisch Auswirkungen: Anfang 2001 erblickten erst die Portierung auf den Mainframe und wenig später die auf die Midrange-Systeme AS/400 das Licht der IT-Welt. Seit der im Januar 2001 freigegebenen Version 2.4 konnte Linux mit bis zu 64 GByte RAM umgehen und eignete sich dank 64-Bit-Dateisystem samt Journaling-Option auch für den Einsatz als größerer Fileserver.

Mit Freigabe von Linux 2.6 Ende 2003 änderte Linus Torvalds das Versionsschema. Statt wie bisher die Integration neuer Funktionen und Treiber in einem separaten Entwicklungszweig vorzunehmen (mit ungerader Nummer nach dem ersten Punkt), wechselte er zu einem kontinuierlichen Prozess. Direkt nach der Freigabe einer Version öffnete sich ein meist zwei Wochen dauerndes „Merge Window“, in dem die Entwickler neue Dinge in den Kernel aufnehmen konnten, darauf folgte eine Reihe von Release-Kandidaten, die zur Stabilisierung des Codes dienen.

Eine weitere Änderung gab es zwei Jahre später, als die Firma Bitmover dem Kernel-Projekt die bis dato gewährte kostenlose Lizenz ihres Versionskontrollsystems Bitkeeper entzog. Linus Torvalds entwarf und implementiere daraufhin kurzfristig mit Git ein auf die Bedürfnisse des Kernels zugeschnittenes Pendant und gab es unter der GPL frei. Inzwischen hat sich Git zum Standard für diverse freie Projekte gemausert. Mit der gerade freigegebenen Version 3.0 krempelte Torvalds die Versionierung erneut um. Die „3“ fasst die beiden bisherigen ersten Nummern zusammen, gefolgt von der laufenden Release nach dem Punkt sowie der Nummer für Buxfix-Releases an dritter (bisher vierter) Stelle.

Mit der Linux Foundation existiert seit einigen Jahren eine herstellerübergreifende Organisation, die viele organisatorische Aufgaben und vor allem die Bezahlung zentraler Kernel-Entwickler übernommen hat. Die Rolle des Entwicklertreffens hat inzwischen der von der Foundation veranstaltete Linux Kernel Summit eingenommen, der in diesem Herbst in Prag eines seiner seltenen Gastspiele in Europa geben wird.

Galt es früher als opportun, sich als Linux-Anhänger lästerlich über die Windows-Welt zu äußern und umgekehrt, stellt sich die Situation heute sehr viel schwieriger dar. In der vor Kurzem freigegebenen Version 3.0 haben Microsoft-Entwickler rund 380 Änderungen in den Kernel eingebracht, vorwiegend im Treiber für Hyper-V. Die Redmonder landen nach dieser – allerdings mit gewisser Vorsicht zu genießenden – Statistik von LWN.net unter den Top Ten der den Linux-Kernel unterstützenden Firmen.

Mit einer Einschätzung hat Linus Torvalds übrigens gründlich danebengelegen: Inzwischen ist Linux nicht nur auf Intel-i386-Systemen, sondern auf einer großen Zahl unterschiedlichster Plattformen präsent – im Embedded-Bereich teilweise sogar dominant. Mit dem seit 2007 unter der Ägide der Open Headset Alliance entstandenen Android ist gerade ein Linux-Fork dabei, das lukrative und publikumswirksame Marktsegment der Smartphones zu erobern, Damit ist die mit der Freigabe von Linux 1.0 scherzhaft propagierte World Domination des Betriebssystems mit dem Pinguin zumindest in Teilen Realität geworden.

Mehr Infos

Linus Torvalds' initiales Usenet-Posting

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and professional
like gnu) for 386(486) AT clones. This has been brewing since april, and is
starting to get ready. I'd like any feedback on things people like/dislike in
minix, as my OS resembles it somewhat (same physical layout of the file-system
(due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This
implies that I'll get something practical within a few months, and I'd like to
know what features most people would want. Any suggestions are welcome, but I
won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes -- it's free of any minix code, and it has a multi-threaded fs. It is
NOT protable (uses 386 task switching etc), and it probably never will support
anything other than AT-harddisks, as that's all I have :-(.

(avr)