GNU HURD: Veränderte Visionen und verworfene Versprechen

Seite 2: Ein anderer Ort

Inhaltsverzeichnis

Ideen für die Grundlage des GNU-Kernels kamen und wurden wieder verworfen, darunter die Verwendung des Betriebssystems Sprite der Berkeley-Universität. Vier Jahre nach der ersten Interessensbekundung an Mach hielt die FSF einen multitasking- und threadfähigen Kernel auf Mach-Basis immer noch für eine gute Idee: „Die Anwälte von Carnegie-Mellon beschäftigen sich gerade mit der Frage, ob man Mach unter solchen Lizenzbedingungen freigeben kann, dass wir die Software weitergeben dürfen.“

Etwa in dieser Zeit tauchte auch BSD auf. „So wie ich das sah, wollte RMS um jeden Preis so viel bestehenden Code wie möglich weiterverwenden“, so erzählte Thomas Bushnell, bis 2003 HURD-Hauptentwickler, Dr. Peter Salus, dem Autor von The Daemon, the GNU and the Penguin.

„Ich selbst hätte am liebsten das BSD-4.4-Lite-Release genommen und einen Kernel gestrickt. Ich kannte den Code, ich wusste, wie es geht. Ich weiß jetzt, dass dieser Plan auch wunderbar geklappt hätte. Die Welt würde heutzutage ganz anders aussehen.“

„RMS jedoch wollte bei einem solchen Unterfangen mit den Leuten von Berkeley zusammenarbeiten. Manche waren interessiert; mir scheint aber, dass einige das Projekt absichtlich verzögern wollten. Im Nachhinein denke ich, dass BSDI der Grund war. Ein GNU-System auf der Basis von BSD 4.4-Lite hätte die Bemühungen der BSD-Firma unterminiert.“

Stallmans Schlussfolgerung laut Bushnell: „Mach ist ein funktionierender Kernel. 4.4-Lite ist nur ein Teil des Ganzen. Wir setzen auf Mach.“

HURD sollte ursprünglich „Alix“ heißen, nach einer Geliebten von Stallman. Sie hätte darauf hingewiesen, wie gut ihr Name in das übliche Unix-Namensschema passen würde. Bushnell plädierte aber für HURD – ein rekursives Akronym für „Hird of Unix-Replacing Daemons“ („Herde Unix ersetzender Dienste“), wobei ein „Hird“ für ein „HURD of Interfaces Representing Depth“ (eine Herde von Tiefe präsentierenden Schnittstellen) stehen sollte.

Letztendlich kam es doch zu einem Übereinkommen mit Carnegie-Mellon und die erste offizielle Ankündigung für ein HURD auf Mach-Basis erreichte die Welt am 6. Mai 1991. Wenige Wochen zuvor hatte Torvalds mit der Arbeit an seinem eigenen Betriebssystem Linux angefangen, das seit April am Köcheln war.

Die FSF war anfangs skeptisch in Bezug auf Linux als portables Betriebssystem. Erste Versionen des Linux-Kernels waren nur auf IBMs 386-Architektur lauffähig. Stallman dazu: „Wir hörten, dass Linux gar nicht portabel war, und außerdem hörten wir, dass Linux architektonisch gesehen auf der gleichen Ebene war wie der Unix-Kernel. Wir hatten etwas viel Leistungsfähigeres im Sinne.“

Für die Entwickler, die in Scharen zu Linux kamen, bestand die Anziehungskraft des neuen Betriebssystems nicht nur darin, dass es um freie Software ging sondern vor allem auch in der Tatsache, dass Linux auf der Sorte Hardware lief, die sie sich zu Hause leisten konnten. Das galt weder für BSD noch für HURD. Linux war im Aufschwung mit einer überraschend schnell wachsenden Community, nicht zuletzt durch das Internet und die wachsende Verfügbarkeit von bezahlbarer Hardware und günstigen Medien.

Die Idee der freien Software veränderte die Welt und die Linux-Community machte sie sich zu eigen und trug sie weiter. Die Do-It-Yourself-Atmosphäre (jeder kann es, ich kann es, du kannst es), die mit GNU/Linux verbunden war, machte es jedem möglich, mitzumachen. Und das passierte auch – Linux wurde auf unzählige Plattformen portiert. Und wenn etwas mal nicht funktionierte, war die Chance groß, dass es zu einem späteren Zeitpunkt gehen würde.

Durch das Linux-Modell konnte sich jeder einbringen. Wer kein Programmierer war, konnte Dokumentation schreiben, Webseiten hosten, Freunde unterstützen oder T-Shirts verkaufen. Linus Torvalds selbst nannte den wichtigsten Design-Aspekt von Linux den Spaßfaktor.

Fast zwanzig Jahre später ist HURD immer noch nicht reif für den Produktionseinsatz. Allerdings ist das System nicht mehr an den Mach-Mikrokernel gebunden, den – wie man 1990 dachte – „saubersten Weg einen Kernel zu entwerfen“. Stallman räumt ein, dass es viele Jahre gedauert hat, diesen Kernel überhaupt zum Laufen zu bringen, und dass er immer noch nicht wirklich gut läuft. Er spricht von „fundamentalen Design-Problemen, die 1990 noch niemand kannte.“

HURD hat inzwischen viele Veränderungen durchlaufen und wurde mehrmals für verschiedene Mikrokernel portiert. Die Hauptentwickler des Systems in den letzten zehn Jahren sind Markus Brinkmann und Neal Walfield.. Die fehlende Produktionsreife und der Erfolg von Linux, wodurch die Dringlichkeit eines HURD-Kernels mehr in den Hintergrund geriet, scheinen den ursprünglichen Ansatz dahingehend verfeinert zu haben, dass sich die Entwickler nun dem perfekten Design verschrieben haben, das dem Anwender die ultimative Kontrolle gibt.

1994 soll Emacs auf HURD gelaufen sein und 2001 war das Jahr, in dem das System seinen Eintritt in das richtige Leben machen sollte. Geklappt hat das jedoch nicht. 2002 schwenkten die HURD-Entwickler vom Mach-Mikrokernel auf den L4-Mikrokernel um. Hierdurch sollte die Interaktion zwischen HURD (den Daemons) und dem Kernel vereinfacht werden.

In Wakefields Worten: „Während der L4-Mikrokernel versucht, den Einfluss des Kernels auf die darauf laufende Software zu minimieren, versucht HURD den Einfluss zu minimieren, den das Betriebssystem auf die Anwender hat.“ HURD ist ein Medium für die Ideale der Freie-Software-Bewegung.

Im Januar 2005 kündigte Brinkmann an, dass der L4-Mikrokernel nun bootfähig sei. „Wir können das System jetzt auf alle möglichen Arten und Weisen erkunden und weiterentwickeln. Das Dinner ist fertig!“ Später lenkte er jedoch ein und ergänzte seine Bemerkungen um den folgenden Hinweis: „Mit meinem glibc-Port kann ich bereits einfache Applikationen bauen. Die meisten davon werden aber nicht laufen, denn sie brauchen ein Dateisystem oder ein anderes Gimmick (wie, naja, zum Beispiel fork und exec) und ich habe dafür im Moment nur Stubs (Dummy-Funktionen) zur Verfügung.“

Das Dinner war zwar vorbereitet, aber das Essen musste noch aufgetischt werden. Seit 2006 gab es Bemühungen, HURD von L4 auf Coyotos, das als sicherer empfunden wurde, zu portieren. In der jüngsten Vergangenheit konzentrierte sich Walfields Arbeit auf eine Portierung auf den viengoos-Mikrokernel. HURD hatte nie eine riesige Community oder die gleichen Ressourcen wie Linux. Von außen betrachtet gleicht das Projekt manchmal eher einer Studie in Betriebssystem-Design als einem funktionierenden Kernel.

Der größte Fehler des GNU-Projekts dürfte die Wahl des Mach-Kernels gewesen sein. Stallman darüber: „Ich nehme die volle Verantwortung für die technische Entscheidung auf mich, den GNU-Kernel auf Mach zu basieren. Diese Entscheidung scheint der Grund für die Verzögerung der Entwicklung zu sein. Ich bin davon ausgegangen, dass wir durch die Verwendung von Mach viel Zeit sparen würden, aber ich habe mich geirrt.“

Der Mach-Mikrokernel konfrontierte die HURD-Entwickler mit Problemen, die sie nur schwer in den Griff bekommen konnten. Auch wenn Tanenbaum und andere sich in dieser Hinsicht kritisch äußerten, machte die Entscheidung für einen monolithischen Kernel es bei Linux einfacher, das erste Gebot aller Entwickler freier Software zu erfüllen: ein funktionierendes freies Betriebssystem.

Es hat über die Jahre mehrere Versuche gegeben, Entwickler für HURD zu gewinnen. Das Debian-Projekt pflegt seit 1998 einen GNU/HURD-Zweig und hat auch viel GNU/Linux-Software auf GNU/HURD portiert. Ein offizielles Debian/HURD-Release hat es jedoch noch nicht gegeben, auch wenn CD-Images zur Installation sowie eine Live-CD zum Testen zum Download bereitstehen.

Auch das Projekt Arch Hurd bietet HURD-Live-CDs an. Das HURD-Projekt von Gentoo scheint seit einigen Jahren nicht mehr weiterentwickelt zu werden.

Für Stallman beginnt oder endet der Zweck freier Software nicht mit GNU/HURD, GNU/Linux oder anderen Betriebssystemen, Programmiersprachen oder Anwendungen, die nach dem offenen Modell der GPL entwickelt wurden. „Ich will frei sein in der Nutzung meines Computers“, sagte er 1999. „Ich möchte mit anderen zusammenarbeiten und nicht daran gehindert werden, Software weiterzugeben. GNU/Linux bekommt in letzter Zeit mehr Anhänger. Das System wird aus praktischen Gründen populär. Es ist ein gutes System. Die Gefahr dabei ist, dass Leute Linux eben wegen dieser praktischen Gründe mögen und keine Ahnung haben von den Idealen, die dem System zugrunde liegen. Das wäre schon eine ironische Art, zu scheitern.“

Manche unter uns hoffen immer noch auf das „einzig wahre“ System: ein GNU-Betriebssystem mit einem GNU-Kernel. Die Wahl des Mach-Mikrokernels, die 1987/90 so klug erschien, mag falsch gewesen sein (auch wenn NeXT und Apple damit Erfolg hatten). Aber ohne den ursprünglichen Enthusiasmus, ohne die Entwicklung der GNU-Tools und die Erschaffung der GPL, wäre Linux vielleicht nie zu dem geworden, was es heutzutage ist. Und vielleicht bilden die Lektionen, die man durch die Entwicklungsgeschichte von HURD über zahlreiche Seitenwege des Betriebssystem-Designs gelernt hat, einmal die Basis für die Zukunft. (odi) (odi)