Willkommen zur dritten Ausgabe von Georg's Brave GNU World. Es scheint, daß die Kolumne ihrem Namen alle Ehre macht, denn nachdem sich mit Francois Thunus ein Übersetzer ins Französische gefunden hat, wurde durch Okuji Yoshinori, seines Zeichens HURD-Hacker, nun noch eine japanische Version zur Brave GNU World Homepage [3] hinzugefügt.
Zudem hat ein französisches GNU/Linux Magazin Interesse daran geäußert, ebenfalls die Kolumne abzudrucken. Angesichts dieser Entwicklungen denke ich über ein eigenes Logo für die Kolumne nach. Wer Lust hat, mir einen Vorschlag zu machen, den bitte ich um eine Email [1].
Diesen Monat werde ich mit einem etwas ausführlicheren Bericht über HURD beginnen, da er zwar vielen Leuten ein Begriff ist, sie aber nicht sicher sind, was sich dahinter verbirgt.
HURD
Es ist allgemein bekannt, daß es sich bei HURD um einen Kernel für ein Unix-System handelt. Genau genommen jedoch ist HURD ein Ensemble von Servern, welche auf einem weiterentwickelten Mach 4 Microkernel [4], dem GNU Mach, laufen. Während Linux ein monolithischer Kernel ist, bei dem alle Treiber und Systemroutinen in einem großen Block arbeiten, stellt der Mach Microkernel nur eine Basis für die Kommunikation bzw. Organisation der Kernelserver und der Hardware zur Verfügung. Auf diesem Fundament baut der eigentliche HURD auf, um die Funktionalität für den User zu erzeugen.
Was bedeutet dies ? Der normale User wird kaum einen großen Unterschied feststellen - modulare Applikationen laufen schneller, monolithische langsamer, ansonsten ändert sich nicht viel. Für spezielle Anwender ergibt sich die Möglichkeit, im laufenden Betrieb vorgegebene Kernelserver durch eigene zu ersetzen ohne dabei die Stabilität oder Funktionalität aufs Spiel zu setzen - andere User bleiben davon unbeeinflußt. Ein wahres Paradies bietet sich für Kernel-Hacker, die auf arbeitenden Rechnern Kernelserver nach Belieben umgestalten und ausprobieren können, ohne dabei um einen Systemabsturz fürchten zu müssen. Im schlimmsten Fall erhält man einen core dump, beseitigt den Fehler und startet den Kernelserver neu.
Da die Arbeit an HURD begonnen wurde, bevor die objektorientierten Modelle in Mode kamen, arbeitet er noch mit dem Mach Interface Generator (MiG) und den CMU C threads (cthreads). Dies soll möglichst bald auf CORBA [5] und die POSIX threads (pthreads) umgestellt werden. Da nur wenige Leute ausreichend Ahnung von MiG und cthreads haben, stellt dies einen Engpaß dar, für dessen Überwindung noch Freiwillige gesucht werden.
Sobald die Umstellung auf CORBA und pthreads erfolgt ist, wird die Mitarbeit an HURD sehr viel einfacher möglich sein. Außerdem benötigen dann CORBA basierte Applikationen (z.B. GNOME) weniger "glue code", also Quelltext, der die Anforderungen der Programme mit den bereitgestellten Funktionen des Systems verbindet. Die Applikationen werden schneller, schlanker und übersichtlicher.
Was ist bereits getan ? Nun, es wird gemeinsam mit Marcus Brinkmann von der Debian Distribution bereits seit einer Weile an einer Debian GNU/HURD Distribution gearbeitet [7] und im Januar 1999 konnte er bereits ein minimales System zum Download anbieten. Okuji Yoshinori hat die Hardware-Treiber von Linux portiert, so daß der gnumach-1.1.92 in etwa die Hardware-Unterstützung des 2.0.36 Kernel besitzt. Zusammen mit Gordon Matzigkeit hat er außerdem den GRUB [6] angepaßt, so daß ein multiboot-fähiger Bootloader zur Verfügung steht, der sogar über ein userfreundliches Menue verfügt.
Gordon Matzigkeit, der als Nachfolger von Thomas Bushnell und Roland McGrath die Aufgabe des Koordinators übernommen hat, schätzt, daß Debian GNU/HURD bis etwa Anfang 2000 gleichauf mit Debian GNU/Linux liegen dürfte, was die Stabilität und Benutzbarkeit angeht. Seine augenblickliche Tätigkeit ist, die Organisation der Entwicklung etwas aufzuräumen, um das Zusammenspiel aller Beteiligten noch reibungsloser zu gestalten. Zudem hat er mich gebeten, noch einmal klar zu machen, daß jeder Interessent im HURD-Team herzlich willkommen ist. Wer sich hierzu informieren möchte, kann sich an die Mailingliste [13] oder direkt an die Protagonisten [8] [9] wenden.
Weiter geht es mit einem verwandten Thema; es kam die Frage auf, wie ein Projekt zu einem offiziellen GNU Projekt wird und was das eigentlich ist.
Offizielle GNU Projekte
Nun zunächst einmal wird ein Projekt dadurch "offizielles GNU Projekt", daß es mit der Free Software Foundation so vereinbart wird. Jedes Projekt, das unter der GPL oder LGPL steht und der FSF sinnvoll erscheint, kann zum GNU Projekt werden.
Alle GNU Projekte halten sich an bestimmte Standards [10], um ein einheitliches System zu erhalten; hierzu gehört z.B. die Unterstützung langer Kommandozeilen-Optionen. Die Anpassung an diese Standards ist oft der erste Schritt, wenn ein Projekt in das GNU System aufgenommen wird. Abgesehen von solchen Rahmenparametern glaubt das GNU Projekt an die Freiheit und Mündigkeit des Benutzers. Jeder, der am GNU Projekt teilhaben möchte, kann einen Account auf den GNU Maschinen erhalten und auf die anderen Resourcen (CVS Zugriff, www.gnu.org, ftp.gnu.org) zurückgreifen.
Für einen Entwickler, dessen Projekt ins GNU System aufgenommen wurde, ändert sich eigentlich nichts. Er kann noch immer alleine oder mit Anderen an seinem Projekt arbeiten und solange das Interesse besteht, bleibt er der Verantwortliche für dieses Programm. Es kommt allerdings auch vor, daß Autoren das Interesse verlieren und jahrelang nichts passiert - dann kümmert sich die FSF darum, einen neuen Maintainer zu finden, damit das Projekt nicht stirbt.
Doch auch ohne eigenes Projekt und sogar ohne Programmierkenntnisse kann man zum "GNU" werden - die Informationen findet ihr auf der Webpage [11] oder wendet Euch direkt an die FSF [12].
GNU User Group
Schließen möchte ich diesen Monat mit einer Frage von Wei-Lun Chao aus Taiwan: "Warum gibt es eigentlich keine GNU User Group ?". Diese Frage würde ich gerne weitergeben. Abgesehen mal davon, daß man ein schönes rekursives Akronym wie "GNU Networked Users Germany" oder so finden könnte - eine GNU User Group ist eigentlich überfällig und die erste, die sich bei mir meldet, bekommt auf jeden Fall ein Feature in der Brave GNU World.
Fühlt Euch wie immer dazu genötigt, nicht mit Kritik, Ideen und Fragen zu sparen, die Adresse steht bei den Infos [1].
Infos |
[1] Ideen, Anregungen, Kommentare an Brave GNU World:
column@gnu.org
|
Zurück zur vorherigen Ausgabe / Brave GNU World home page
Return to GNU's home page.
Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
Please send comments on the Brave GNU World column to column@gnu.org, send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.
Copyright (C) 1999 Georg C. F. Greve and Linux-Magazin
Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.
Updated: 16 Jun 1999 greve