The Debian Project

Debian @ LinuxTag 1999

– June 25th - 27th, 1999 –
– Kaiserslautern, Germany –

Debian GNU

Martin Schulze

Debian-Projekt

<joey@debian.de>

Seit über fünf Jahren arbeiten weltweit Entwickler im Debian Projekt mit und erstellen Debian GNU (Linux sowie Hurd). Debian GNU/Linux ist jedoch nicht nur eine weitere Distribution am Linux-Firmament. Was es auszeichnet, beinhaltet dieser Vortrag.

Debian GNU/Linux zählt heutzutage zu einer der führenden Linux-Distributionen. Technisch wird der Standard sehr hoch gehalten. Im Gegensatz zu anderen Distributionen steht hinter Debian jedoch keine Firma, sondern Ideologie und eine Gruppe Freiwilliger.

Dennoch - oder gerade deswegen - hat es Debian weit gebracht:

  • Die größte Anzahl Binärpakete.
  • Die größte Anzahl unterstützter Architekturen unter Linux (i386, m68k, alpha, sparc, arm, powerpc, mips in progress und hurd).
  • Die größte Anzahl Mitarbeiter.
  • Die längste Testphase vor einem Release.
  • Öffentliches Bug Tracking System.
  • Sehr hohe Qualität.
  • Fünf Distributionen basierend auf Debian GNU.

Was ist Debian GNU?

Debian GNU ist ein freies (bzw. Open Source) Betriebssystem für Computer verschiedener Architekturen. Herausgegeben wurde bisher Debian GNU/Linux für vier Architekturen. Das System besteht zu 100% aus freier Software. Es basiert auf dem Linux-Kernel und verwendet GNU-Software.

Debian GNU/Hurd befindet sich noch in der Entwicklung. Dieses System basiert anstelle des Linux-Kernels auf dem Hurd-Kernel von der Free Software Foundation (FSF). Davon abgesehen, wird es jedoch die gleichen Komponenten wie Debian GNU/Linux beinhalten. Auf dem Debian-Stand im Foyer demonstriert ein Rechner den aktuellen Stand von Debian GNU/Hurd.

Das Betriebssystem beinhaltet die umfassendste Sammlung freier Software, die in einem System zusammengefaßt ist. Die einzelnen Komponenten sind dabei sehr gut in das System integriert und arbeiten über verschiedene Mechanismen zusammen.

Was ist das Debian Projekt?

Das Debian Projekt ist ein Zusammenschluß von Leuten, die sich zum Ziel gesetzt haben, ein freies Betriebssytem herauszubringen sowie Linux und Freie Software zu unterstützen und dabei auf technische Ausgereiftheit wertlegen. Grundlage dazu bildet der Gesellschaftsvertrag[1], der festschreibt, wie der eigene Beitrag zur "Gemeinschaft für Freie Software" aussieht.

Das Projekt besteht zur Zeit aus ca. 500 Mitarbeitern im Alter von 13 und 70 Jahren. Im Gegensatz zu Herstellern anderer Systeme steht bei Debian keine Firma im Hintergrund, sondern Idealismus. Alle Projektteilnehmer arbeiten mit, um Freie Software zu unterstützen.

Die gesamte Distribution wird von Freiwilligen aus allen Ecken der Welt zusammengestellt. In ihrer Freizeit beschäftigen sie sich mit Linux und steuern ihren Teil zum System bei. Jeder bearbeitet die Komponenten, die er selbst benutzt oder das Aufgabenfeld, in dem er sich auskennt. Dadurch ist jeder Mitarbeiter ein Experte auf seinem Gebiet, wodurch hohe Qualität dieser Komponenten gewährleistet werden kann.

Wie es begann

Vor über fünf Jahren wurde Debian von Ian Murdock ins Leben gerufen. Ian hatte 1993 im Usenet zur Mitarbeit an einer neuen Linux-Distribution aufgerufen, nachdem er sich die bisherigen Distributionen angesehen hat. Sie wurden teilweise von Firmen erstellt oder von Einzelpersonen, denen die Arbeit über den Kopf wuchs. Keine Distribution bot Entwicklern jedoch die Möglichkeit, mitzuarbeiten. Keine der Distributionen folge dem GNU-Gedanken.

Mit den bisherigen Distributionen gab es mehrere Probleme. Zum Beispiel war es teilweise nicht einfach möglich, den zu den Binärpaketen passenden Quellcode zu finden. Zum anderen wurden einige Fehler in neuere Versionen übertragen, obwohl Korrekturen bereits verfügbar waren.

Es war zudem nicht klar ersichtlich, ob die Komponenten frei waren oder ob dessen Benutzung oder Weitergabe durch besondere Lizenzen eingeschränkt wurde. Es gab keine Unterscheidung zwischen »frei« und »nicht frei«. Alle Programme lagen in einem Verzeichnis / auf einer CD.

Abhängigkeiten zwischen einzelnen Komponenten waren zu dem Zeitpunkt noch Fremdworte. Man installierte das »cron«-Paket, jedoch keinen Mailserver - oder man installierte »sendmail« zusammen mit »smail« - und wunderte sich, daß es Probleme gab.

Darüberhinaus konnte man keineswegs davon ausgehen, daß ein installiertes Programm auch funktionierte, oder daß die einkompilierten Pfade mit den Beispielen im System übereinstimmten.

Kurzum: Linux war eine Fundgrube für Hacker. Wer jedoch ernsthaft arbeiten wollte, der benutze lieber etwas anderes - oder wurde zum Hacker und arbeitete sich in alles ein. Für einen Endanwender war das natürlich nicht akzeptabel.

Als Ian Murdock das Debian Projekt ins Leben rief, war man noch weit von einer Distribution entfernt. Zu Anfang war es wichtig, die benötigten Hilfsmittel zusammenzustellen. Zu Beginn waren ein Dutzend Mitarbeiter am Projekt beteiligt, darunter Ian Jackson und Bruce Perens. Überdies wurde Debian ein Jahr lang von der FSF finanziell unterstützt

Organisation des Projektes

Geleitet wird das Projekt von einem Projektleiter, der jährlich neu aus den Reihen der Mitarbeiter gewählt wird. Er deligiert einen Teil der Aufgaben an weitere Personen oder Teams. Damit wird kontinuierliche Arbeit gewährleistet.

Nach Gründung im August 1993 stand Ian Murdock selbst (bis März 1996) dem Projekt vor. Anschließend übernahm Bruce Perens die Leitung, die im Januar 1998 an Ian Jackson übertragen wurde. Seit Februar 1999 schließlich hält Wichert Akkerman die Zügel in der Hand.

Der Projektleiter überträgt einen Teil seiner Verantwortung an weitere Personen, die sich freiwillig für diese Aufgabe bereit erklärt haben. So beschäftigen sich ein Teil der Mitarbeiter mit Lizenzen und diskutieren ihre Freiheit und Auswirkungen auf das Projekt (»debian-legal«). Eine weitere Gruppe befaßt sich mit der Policy und überdenkt diese (»debian-policy«). Die Diskussionsforen sind für jeden offen.

Hinzu kommen Personen, die für die Maschinen verantwortlich sind (»debian-admin« bzw. lokale Betreiber), Listmaster, Presse-Ansprechpartner, Webmaster, Release-Manager. Für die verschiedenen Portierungen ist meist ebenfalls eine kleine Grupper zuständig, der weitere Mitarbeiter zuarbeiten.

Mitarbeiten kann jeder

Wichtig in einem freien Projekt ist die Möglichkeit zur Mitarbeit. Jeder sollte in der Lage sein, sich selbst einzubringen und selbst etwas für die Qualität zu tun. Diese Möglichkeit ließen andere Distribution vermissen.

Obwohl die meisten Mitarbeiter im Debian-Projekt als Paket-Betreuer anfangen, sind viele weitere Aufgabenfelder vorhanden. Insbesondere im Bereich Dokumentation liegt immer Arbeit an.

Der Paket-Betreuer wartet eine Reihe von Software-Paketen, die er selbst benutzt. Da er ein persönliches Interesse an diesen Paketen und an ihrem Funktionieren hat sie mit viel Sorgfalt zusammengestellt und gepflegt.

Der Gesellschaftsvertrag

Kopiert von www.debian.org.

Die folgenden Punkte legt Debian im Gesellschaftsvertrag fest.

  1. Debian wird 100% freie Software bleiben

    Wir versprechen, daß die Debian GNU/Linux Distribution auch weiterhin vollständig aus freier Software bestehen wird. Da es viele verschiedene Auslegungen des Begriffs "freie Software" gibt, haben wir weiter unten die Richtlinien (nächster Abschnitt) aufgeführt, nach denen wir freie Software identifizieren. Trotzdem werden wir Anwender unterstützen, die nicht-freie Programme einsetzen oder entwickeln. Wir werden aber niemals das Gesamtsystem von nicht-freier Software abhängig machen.

  2. Unser Beitrag zur Gemeinschaft für freie Software

    Wenn wir neue Komponenten des Debian-Systems schreiben, so werden wir sie als freie Software lizensieren. Wir werden das bestmögliche System erstellen, so daß freie Software weit verbreitet und genutzt wird. Wir werden Korrekturen, Verbesserungen, Anwenderwünsche usw. an die ursprünglichen ("upstream") Autoren weiterleiten, deren Programme in unser System integriert wurden.

  3. Wir werden Probleme nicht verbergen

    Wir werden unsere Fehlerdatenbank für alle Zeiten öffentlich betreiben. Fehlermeldungen, die von Anwendern online abgeschickt werden, werden augenblicklich für andere sichtbar.

  4. Unsere Prioritäten sind unsere Anwender und freie Software

    Wir orientieren uns an den Bedürfnissen unserer Anwender und der Gemeinschaft für Freie Software. Ihre Interessen stehen an erster Stelle. Wir werden unsere Nutzer bei ihrer Arbeit mit den verschiedensten Rechnerumgebungen unterstützen. Wir haben nichts dagegen, daß kommerzielle Software auf Debian-Systemen eingesetzt wird. Außerdem erlauben wir anderen eine erweiterte ("Value-Added") Distribution zu erstellen, die Debian und kommerzielle Software enthält, ohne dafür irgendwelche Gebühren zu erheben. Um diese Ziele zu erreichen, werden wir ein integriertes System von hoher Qualität und 100% freier Software anbieten, die die gerade beschriebene Nutzung nicht durch rechtliche Einschränkungen, wie z. B. durch Lizenzverträge, verhindert.

  5. Programme, die nicht unseren Standards für freie Software genügen

    Wir wissen, daß einige unserer Anwender unbedingt Programme einsetzen müssen, die nicht den Debian-Richtlinien für Freie Software entsprechen. Für solche Programme haben wird die zusätzlichen Bereiche »contrib« und »non-free« auf unserem FTP-Archiv eingerichtet. Die Software in diesen Verzeichnissen ist nicht Bestandteil des Debian-Systems, wurde aber trotzdem für den Einsatz in einem Debian-System vorbereitet. Wir empfehlen den CD-Herstellern, die jeweiligen Lizenzbestimmungen der Programmpakete in diesen Verzeichnissen zu studieren und selbst zu entscheiden, ob sie die Programme mit ihren CDs verteilen dürfen. Obwohl die Programme aus »non-free« nicht Bestandteil der Debian-Distribution sind, unterstützen wir ihren Einsatz und bieten Infrastruktur für diese nicht freien Programme an, z. B. unsere Fehlerdatenbank und die Mailing-Listen.

Die Debian-Richtlinien für freie Software

Auf Englisch »Debian Free Software Guidelines« (DFSG).

  1. Unbeschränkte Weitergabe

    Ein Bestandteil der Debian-Distribution darf durch seine Lizenz nicht verhindern, daß irgendjemand diese Software als Bestandteil einer Software-Distribution, die Programme aus den verschiedensten Quellen enthält, verkauft oder weitergibt. Die Lizenz darf keine Abgaben oder sonstige Leistungen für einen solchen Verkauf fordern.

  2. Quellcode

    Das Programm muß im Quellcode vorliegen, und es muß die Weitergabe sowohl im Quellcode als auch in compilierter Form erlaubt sein.

  3. Weiterführende Arbeiten

    Die Lizenz muß Veränderungen und weiterführende Arbeiten gestatten und es erlauben, daß diese unter den gleichen Lizenzbedingungen weitergegeben werden dürfen wie die Original-Software.

  4. Integrität des ursprünglichen Quellcodes

    Die Lizenz darf die Weitergabe von verändertem Quellcode nur dann verbieten, wenn sie die Weitergabe von sogenannten Patch-Dateien mit dem Quellcode erlaubt, die dazu dienen, das Programm vor seiner Herstellung zu modifizieren. Die Lizenz muß ausdrücklich die Weitergabe der aus dem veränderten Quellcode erzeugten Programme erlauben. Die Lizenz darf fordern, daß die veränderten Programme einen anderen Namen oder eine andere Versionsnummer tragen müssen.

    (Dies ist ein Kompromiß. Die Debian-Gruppe ermutigt alle Autoren, Veränderungen an Dateien sowohl im Quellcode als auch in Binärform zu erlauben)

  5. Keine Diskriminierung von Personen oder Gruppen

    Die Lizenz darf keine Person oder Gruppe von Personen diskriminieren.

  6. Keine Diskriminierung von Einsatzbereichen

    Die Lizenz darf keine Einschränkungen hinsichtlich des Einsatzbereichs vornehmen. Beispielsweise darf sie nicht verhindern, daß das Programm geschäftlich oder für genetische Forschungen verwendet wird.

  7. Weitergabe der Lizenz

    Die mit einem Programm verbundenen Rechte müssen für alle gelten, die das Programm erhalten, ohne daß es für sie notwendig ist, eine zusätzliche Lizenz zu erwerben.

  8. Keine spezielle Lizenz für Debian

    Die mit dem Programm verbundenen Rechte dürfen nicht davon abhängig sein, daß das Programm Teil des Debian-Systems ist. Falls das Programm aus der Debian-Distribution herausgenommen wird und ohne Debian genutzt oder vertrieben werden soll, ansonsten aber im Rahmen der Programmlizenz bleibt, so müssen alle Parteien, die das Programm bekommen, die gleichen Rechte haben, wie sie im Zusammenhang mit dem Debian-System gewährt wurden.

  9. Keine Auswirkungen auf andere Programme

    Die Lizenz darf keine Beschränkungen besitzen, die Auswirkungen auf andere Software hat, die mit diesem Programm weitergegeben wird. Beispielsweise darf die Lizenz nicht vorschreiben, daß alle anderen Programme auf dem gleichen Medium freie Software sein müssen.

  10. Beispiellizenzen

    Die "GPL", "BSD" und "Artistic" Lizenzen sind Beispiele für Lizenzen, die wir als "frei" betrachten.

Ideologie

An den Formulierungen des Gesellschaftsvertrages und der Richtlinien für Freie Software ist zu ersehen, daß die Mitarbeiter bei Debian viel Wert auf Freiheit legen. Nur der Bereich »main« beinhaltet Freie Software und ist Bestandteil von Debian GNU.

Eine enge ideologische Verwandtschaft zur Free Software Foundation und zu Richard Stallman, dem Begründer Freier Software, läßt sich nicht leugnen. Die FSF hat das Debian-Projekt anfangs zudem unterstützt, dennoch ist es eigenständig und legt seine Regeln selbst fest.

Die Mitarbeiter bei Debian haben eine starke Meinung für Freie Software und vertreten diese auch in der Öffentlichkeit. Dadurch definiert sich das Debian Projekt erst. Viele sind überhaupt durch diese Garantie erst zu Debian gekommen. Ohne diese strengen Richtlinien würden viele nicht im Debian-Projekt mitarbeiten.

Einige Male konnte sogar erreicht werden, daß Autoren ihre Lizenz überdacht haben und in der neuen Version ihrer Software eine freiere verwendet haben. Oftmals wollten die Autoren Freie Software entwickeln, haben jedoch ihr Terrain verlassen und zusätzlich eine Lizenz erarbeitet. Teilweise enthielt sie unerwünschte Restriktionen, die auf Anhieb nicht zu erkennen waren. Beispiele dafür sind ircII (sowie Erweiterungen BitchX und epic), vim und ncftp.

Im Debian-Projekt wird sehr sorgfältig mit Lizenzen umgegangen. Jede Lizenz wird auf jeden Fall vom Paketbetreuer selbst gelesen und überprüft. Danach wird entschieden, ob das Paket in die Distribution aufgenommen werden darf oder nicht. Wenn sich der Paketbetreuer bei einer Lizenz nicht sicher ist, fragt er auf einer entsprechenden Mailing-Liste nach. Dort lesen die Leute mit, die sich ausführlich mit Lizenzen beschäftigt haben.

In jedem Binärpaket wird die Lizenz des Pakets oder ein Verweis darauf in »/usr/doc/<paketname>/copyright« gespeichert. Die Benutzer werden nicht im Unklaren darüber gelassen, woher das Paket stammt und wer es entwickelt hat. Der Autor eines Pakets wird auf jeden Fall genannt und damit seine Arbeit gewürdigt.

In dieser Datei steht zudem eine Adresse, von wo das ursprüngliche Paket geholt wurde. Dadurch sind die Benutzer in der Lage, selbst an der Entwicklung dieses Pakets mitzuwirken und ggf. Vorabversionen zu installieren, bevor sie in die Debian-Distribution aufgenommen werden.

Darüberhinaus werden sogenannte »changelog«-Dateien installiert, aus denen die Entwicklung des Pakets zu ersehen ist, sowohl der ursprünglichen als auch der Debian-Versionen. So kann jederzeit nachvollzogen werden, wie sich die Pakete entwickeln.

Quellcode

Die Mitarbeiter von Debian vertreten die Ansicht, daß nur etwas frei ist, was sie verändern und ohne die Lizenz zu verletzen weitergeben dürfen. (siehe DFSG, 2. und 4.) Der Quellcode zu jedem in der Distribution (»main«) enthaltenen Programm liegt in einem Parallelverzeichnis »source« zu den Binärpaketen auf dem FTP-Server und dessen Spiegelungen.

Auf den Quellcode zu einem Paket muß einfach zugegriffen werden können. Die Hersteller der Distribution müssen dafür Sorge tragen, daß die Quellcode-Pakete auf die gleiche Weise verfügbar gemacht werden wie die Binärpaket.

Debian verfolgt dabei das Konzept des »Pristine Source«. Die Quellcode-Pakete von Debian bestehen normalerweise aus drei Komponenten:

  • Einer ».orig.tar.gz«-Datei

    Dieses ist der unverfälschte Quellcode, wie er von den ursprünglichen Autoren geliefert wurde. Meistens wird nur der Dateiname umbenannt. Im Falle von ».zip«- oder ».srpm«-Dateien muß jedoch umgepackt werden.

  • Einer ».diff.gz«-Datei

    Diese Datei enthält alle Änderungen in Form eines Patches, die vom Betreuer vorgenommen wurden, damit sich das compilierte Paket in das System einpaßt.

  • Einer ».dsc«-Datei

    Dieses ist eine Kontrolldatei, in der beschrieben ist, aus welchen Dateien sich der Quellcode des Debian-Pakets zusammensetzt.

Debian hat Wert darauf gelegt, den Quellcode so weiterzugeben, wie die ursprünglichen Autoren ihn freigegeben haben. Bei einer neuen Version des Pakets wird die ».orig.tar.gz«-Datei nur dann neu auf den Server gelegt, wenn sich komplett neuer Code benutzt wurde. Wenn hingegen nur in den Anpassungen für das System etwas geändert wurde, werden nur die beiden letzten Dateien auf dem Server ausgetauscht.

Durch die separate ».diff.gz«-Datei wird zum einen verhindert, daß zum Compilieren bei einer neuen Debian-Version das komplette Quellcode-Paket neu aus dem Netz gezogen werden muß, zum anderen wird so eine Möglichkeit geschaffen, die qualitativ hochwertigen Debian-Pakete auch auf Nicht-Debian Systemen zu verwenden.

Paketverwaltung

Als Debian vor über fünf Jahren gegründet wurde, konnte keine bisherige Distribution eine ordentliche Paketverwaltung aufweisen. Zu Anfang mußte daher viel Energie in das Design und schließlich in die Implementierung der Paketverwaltung gesteckt werden.

Da die Komponenten des Betriebssystems nicht aus einer Quelle sondern von vielen verschiedenen Autoren oder Teams stammen, werden sie als Pakete bezeichnet. Damit die Distribution nicht zu einem Flickenteppich wird, sorgt die Paketverwaltung, ein zentrales Instrument jeder Distribution.

Unter einer Paketverwaltung ist folgendes zu verstehen:

  • Versionsverwaltung

    Pakete können in unterschiedlichen Versionen vorliegen. Software wird weiterentwickelt, dabei ändert sich der Inhalt, was von der Paketverwaltung beachtet werden muß.

  • Verwaltung der Dateien

    Wird ein Paket installiert, dann muß festgehalten werden, welche Dateien zu diesem Paket gehören, damit sie gelöscht werden, wenn das Paket aus dem System entfernt wird.

    Wenn eine neue Version eines Pakets installiert wird, müssen normale Dateien überschrieben werden. Dateien, die im neuen Paket nicht mehr enthalten sind, müssen jedoch gelöscht werden.

  • Abhängigkeiten und Konflikte

    Die Paketverwaltung muß beachten, daß einige Pakete nicht zusammen mit anderen installiert werden dürfen, da sie sich gegenseitig behindern würden. Zwei »sendmail«-Derivate können nicht problemlos zusammen auf einem System laufen.

    Andere Pakete arbeiten nur dann richtig, wenn zusätzlich weitere Software installiert ist. Ein »cron«-Paket kann nur dann wie gewünscht arbeiten, wenn gleichzeitig ein Mailserver installiert ist, da im Fehlerfall Mails verschickt werden.

  • Verwaltung von Konfigurationsdateien

    Konfigurationsdateien sind die wichtigsten Dateien in einem Paket. Die Gesamtheit der Konfigurationsdateien beschreibt das System. Ihnen muß besondere Beachtung geschenkt werden. Beim Aktualisieren (Upgrade) von Komponenten dürfen Konfigurationsdateien nicht einfach überschrieben werden, da sie oft lokale Ergänzungen enthalten, die sonst verloren gingen.

  • Anpassung der Pakete

    Teilweise ist es erforderlich, daß nach dem Kopieren der Dateien aus den Paketen, Programme aufgerufen werden. Dateien müssen in das System integriert werden (z.B. info-Dateien) oder der Benutzer muß das Paket durch Eingabe von einigen Daten konfigurieren. Bei sogenannten Shared Libraries muß z.B. nach der Installation »ldconfig« aufgerufen werden, um sie im System bekannt zu machen.

Die Qualität der Distribution hängt entscheidend von diesen Werkzeugen ab. Bevor Debian richtig anlaufen konnte, mußte daher die Paketverwaltung in Form des Programms »dpkg« entwickelt werden. Es wurde sorgfältig entworfen, was dem Projekt heutzutage zugute kommt.

Da Pakete der Distribution auf verschiedenen Medien vorliegen (FTP-Server, Webserver, CD's, NFS-Server u.s.w.), sorgen sogenannte Front-Ends (»dselect«, ¸>apt-get«, »apt-find«, »gnome-apt«, »swim«) dafür, daß die Pakete geholt und der Paketverwaltung übergeben werden. Diese Programme untersuchen Abhängigkeiten sowie Konflikte zwischen Paketen und reagieren entsprechend.

Policy

Die Policy eines Systems legt grundlegende Richtlinien fest, wie das System organisiert ist. Dazu gehört die Verwendung von speziellen User-IDs für bestimmte Teilsysteme, die Verwendung von Runlevel, die Organisation des xdm, von Cronjobs u.s.w. Darüberhinaus werden allgemein akzeptierte Standards übernommen.

Debian GNU hält sich größtenteils an die von fast allen Distributions-Herstellern akzeptierte »Linux Filesystem Structure«[2] (FSSTND). Überdies hat das Debian Projekt weitere Richtlinien aufgestellt, die im »Debian Policy Manual«[3] niedergeschrieben wurden.

Diese Dokumente legen z.B. fest,

  • daß Konfigurationsdateien komplett in »/etc« liegen und nicht verteilt im System, und daß sie zudem als solche markiert werden,
  • daß ausführbare Programme in »/bin« und »/usr/bin« liegen, sofern sie für Benutzer relevant sind und in »/sbin« bzw. »/usr/sbin«, wenn sie für den Administrator oder das System selbst von Bedeutung sind,
  • daß in »/usr/doc/<paket>« in der Datei »copyright« das Copyright des Pakets zu kopieren ist, sowie ein Hinweis, wo der ursprüngliche Quellcode zu finden ist und »changelog«-Dateien, in denen die Entwicklung des Pakets nachzulesen ist,
  • daß veränderliche Daten unterhalb von »/var« gespeichert werden,
  • daß zu einem Paket gehörende zusätzliche Daten, die sich normalerweise jedoch nicht ändern, unterhalb von »/usr/lib« gespeichert werden,
  • wie Pakete zu nennen sind,
  • wie zusätzliche Installationsskripte arbeiten,
  • wie Abhängigkeiten einzutragen sind,
  • welche UIDs und GIDs für welche Subsysteme verwendet dürfen,
  • daß Menüdateien verwendet werden sollen,
  • welche Parameter Init-Skripte unterstützen müssen und wie sie aktiviert werden,
  • wie Pakete zu behandeln sind, die Programme beinhalten, dessen Funktionalität ebenfalls von anderen Paketen angeboten wird (alternatives, diversions)
  • wie und wo Spiele ihre Statistk-Dateien anzulegen haben,
  • u.s.w.

Was macht ein Debian-Paket aus

Allein aus der Tatsache, daß die Betreuer der Pakete eigenes Interesse an funktionierenden Paketen haben, befinden sich die meisten in einem sehr guten Zustand. Sie sind sehr gut in das System integriert und nutzen die vielfältigen Mechanismen, die ein Debian-System bietet.

Seine Stärke zeigt Debian z.B. mit dem Menüsystem. Viele Pakete installieren Menüdateien und registrieren damit ihre Programme im Menüsystem. Die meisten Debian-Pakete von Window-Manager für X11 unterstützen dieses System und erzeugen im Anschluß an eine Installation speziell angepaßte Konfigurationsdateien für die Window-Manager, so daß die Programe in fast allen im Menü erscheinen.

Über spezielle Schnittstellen zu »dwww« und »doc-base« werden die in den Paketen enthaltenen Texte zusätzlich als Dokumentation registriert. Mit »dwww« erhält der Anwender eine einfache Möglichkeit, auf die gesamte Dokumentation zuzugreifen: http://localhost/dwww/ .

Zusätzliche Mechanismen sorgen dafür, daß sich neue Pakete in das System einpassen. Dazu gehört z.B. ein Mechanismus, der Anwendungsprogramme automatisch in die Menüstruktur aller X11-Window-Manager und eines textbasierten Menüsystems »pdmenu« aufnimmt. Zusätzliche Abstraktionsebenen und Kontrollstrukturen sorgen dafür, daß verschiedene Systemeigenschaften transparent verwaltet und von den Paketen manipuliert werden können. (so z.B. der Boot-Vorgang, Window-Manager, Wörterbücher, gleichlautende Programme, Logdateien etc.).

Hinzu kommt, daß sich die Betreuer auf vielen Mailing-Listen austauschen und ihre Pakete weiter anpassen, wenn es nötig wird. Über das öffentliche Bug Tracking System werden zudem weitere Fehler berichtet oder Wünsche geäußert, die die Betreuer meistens relativ zeitnah umsetzen.

Das Bug Tracking System ist ein Mail-gesteuertes System, über das jeder Fehler oder Wünsche zu den Paketen berichten kann. Die vermeintlichen Fehler sind solange als "ausstehend" (pending) markiert, bis der Betreuer den Status auf "erledigt" (done). Sie werden einen Monat nach der letzten Änderung gelöscht, wenn sie erledigt sind. Die Berichte werden für das Web aufbereitet und sind dort von jederman einzusehen.[4]

Da die komplette Entwicklung des Systems öffentlich stattfindet und man sich jederzeit den aktuellen Stand vom FTP-Server[5] laden und installieren kann, befindet es sich quasi zu jedem Zeitpunkt in einer Testphase und wird beobachtet. So werden viele Fehler schon sehr früh entdeckt und viele Verbesserungsvorschläge fließen in die Distribution ein, lange bevor eine neue Gesamtversion (Release) ansteht.

Kompatibilität

Die beiden Formate ».deb« und ».rpm« wurden wahrscheinlich ungefähr zur gleichen Zeit entwickelt. Im Gegensatz zu ».rpm« wird eine ».deb«-Datei mit Standard- Werkzeugen unter Unix zusammengesetzt. Sie kann daher auf jedem Unix-System mit den Befehlen »ar«, »tar« und »gzip« in ihre Komponenten zerlegt werden.

Die beiden Formate sind keineswegs inkompatibel. Die im jeweiligen System üblichen Werkzeuge unterstützen jedoch nur das eigene Format. Um Pakete im jeweils anderen Format auf einem System zu installieren, wird das Paket mit dem Befehl »alien« in das lokale Format konvertiert und anschließend installiert.

Internationalität

Debian GNU ist zwar in Amerika geboren, jedoch keine rein Amerikanische Distribution. Da die Mitarbeiter zum größten Teil nicht in den U.S.A. wohnen und Englisch meisten nicht die Muttersprache ist, wird viel Energie darauf verwendet, die Distribution international zu halten.

Die Mitarbeiter übersetzen einen Teil der Dokumentation selbst in ihre Muttersprache und geben die Übersetzung zurück ans Projekt. Die Installationsanleitung ist in mehrere Sprachen übersetzt worden. Die Texte auf den Installationsdisketten wurden in acht Sprachen übersetzt.

Viel Energie wird in die Web-Präsenz des Projektes[8] gesteckt. Verschiedene Teams übersetzen aktuelle News und allgemeine Texte in ihre Muttersprache und pflegen sie ins Archiv ein. Die Web-Präsenz ist eine der wenigen, die bisher Content-Negotiation nutzen.

Content-Negotiation bedeutet, daß der Browser des Benutzers bei Anforderung einer Seite eine Liste gewünschter Sprachen überträgt. Ist dort z.B. »de« vor »en« gestellt, dann wird die deutschprachige Seite zurückgegeben anstelle der Englischen.

Support

Hinter Debian steht keine Firma. Erhält ein Anwender trotzdem Unterstützung bei Problemen?

Der Anwender kann niemanden am Telefon regreßpflichtig machen, wenn es Probleme gibt.

Verfügt er jedoch einen Internet-Anschluß, dann kann er auf vielfältige Weise Kontakt zu hilfsbereiten Mitarbeitern und Anwendern aufnehmen. Auch hier engagieren sich die Leute in ihrer Freizeit und sind dadurch erheblich motivierter als wenn Sie für Support angestellt wären.

Die klassische Adresse für allgemeine Probleme ist die englischsprachige »debian-user« Mailing-Liste[6]. Für Deutsche Anwender ist die Deutsche Mailing-Liste[7] gedacht. Auf beide Listen kann sich jeder einschreiben. Beide Listen werden im Web archiviert, so daß sie auch gelesen werden können, ohne auf ihnen eingetragen zu sein.

Darüberhinaus treffen sich viele Entwickler im Internet Relay Chat (IRC), einem Echtzeit-Diskussions-System, auf den Kanälen »#Debian« (auf »irc.debian.org«) und auf »#Debian.DE« (auf »irc.fu-berlin.de«).

Zusammenarbeit mit weiteren Projekten

Das Debian-Projekt engagiert sich zusamen mit weiteren Herstellern von Linux-Distributionen im Linux Standard Base (LSB). Ziel des LSB besteht darin, einen Standard zu enwickeln, der die Kompatibilität der verschiedenen Distributionen zueinander steigert. Die standardisierte Basis soll von allen Linux-Distributionen unterstützt werden. Dadurch soll es für Softwarehersteller einfacher sein, Linux-Versionen zu entwickeln, da sie auf gewisse Standardkomponenten (außer der libc) zurückgreifen können.

Der Erfolg von Debian spiegelt sich in einigen daraus hervorgegangenen Projekten wieder. Die russische Distribution YeS, das französisches "Projet Linux Edu", die italienische Prosa sowie das deutsche Eagle Linux basieren direkt auf Debian GNU/Linux. In Japan stellt Debian-JP Erweiterungen zur Distribution zur Verfügung, die nach und nach in die reguläre Distribution integriert werden.

Corel erstellt darüberhinaus zur Zeit eine eigene Linux-Distribution, die auf Debian GNU/Linux basiert. Der Corel Linux Desktop (CLD) richtet sich direkt an Desktop-Computer.

Resources

[1] Gesellschaftsvertrag
  http://www.debian.orgs/social_contract

[2] Filesystem Structure
  ftp://ftp.infodrom.north.de/pub/Linux/Docs/FSSTND/fsstnd-1.2.txt.gz

[3] Debian Policy Manual
  ftp://ftp.debian.de/pub/debian/doc/package-developer/policy.text.gz

[4] Bug Tracking System
  http://bugs.debian.org

[5] Debian Archiv
  ftp://ftp.debian.de

[6] Mailing List Subscription
  http://www.debian.de/MailingLists/subscribe

[7] Deutche User-Mailing-Liste
  http://www.Infodrom.North.DE/Debian/debian-user-de.html

[8] Debian Web-Präsenz
  http://www.debian.de

[9] Projet Linux Edu
  http://www.linuxedu.org

[10] Japanisches Debian
  http://www.debian.or.jp

[11] YeS - Russisches Debian
  http://eugene.mplik.ru/doc/lys

[12] Prosa
  http://www.prosa.it

[13] Eagle Linux
  http://www.eagle-cp.com

Martin Schulze