Open Source im professionellen Einsatz
Linux-Magazin 11/2006

Community-basiertes Qualitätsmanagement

Verteilte Last

Viele Linux-Distributoren stützen sich zur Qualitätssicherung auf einen zentralen, vollzeitlich engagierten Entwicklerstamm. Die Quelltext-basierte Distribution Gentoo zeigt, wie eine stärkere Beteiligung der Community mit der Tradition bricht und dennoch stabile Ergebnisse liefert.

613

Jede Linux-Distribution muss einen Kompromiss zwischen zwei konkurrierenden Zielen finden: Einerseits wünschen sich die Benutzer aktuelle Versionen der enthaltenen Software. Auf der anderen Seite erwarten sie von Linux kompromisslose Stabilität. Doch die lässt sich nur durch rigides Qualitätsmanagement erzielen, das zwangsläufig die Entwicklung verlangsamt.

Die meisten Distributionen durchlaufen zyklisch für jede Version eine Betatestphase. Die Quellcode-basierte Distribution Gentoo [1] kommt jedoch ohne die üblichen Releases aus: Versionen existieren nur für die Installationsmedien, die Komponenten eines laufenden Systems lassen sich mit dem Paketmanager Portage [2] jederzeit updaten.

Nach der Betaphase im zyklischen Release-Modell sind selten noch alle Pakete aktuell. Die kontinuierliche Entwicklung bei Gentoo bietet dagegen die Möglichkeit, auf neue Versionen flexibel zu reagieren. Dass die Distribution die Testphase auf einzelne Pakete bezieht, erleichtert zudem die Einbindung nicht vollzeitlich engagierter Entwickler. Gentoo kann daher die Community stärker einbinden als andere Distribution, bei denen die Mitarbeit oft auf das Einsenden von Bugreports beschränkt bleibt.

Kompilieren ohne Benutzereingriff

Qualitätsprobleme ergeben sich bei auf Binärpaketen basierenden Distributionen wie Debian, Ubuntu oder Suse oft aus den Abhängigkeiten zwischen den vorkompilierten Paketen. Das Paketmanagement-System Portage installiert die Software jedoch auf der Grundlage des Quellcode. Die Paketdefinitionen liegen als kompakte Shellskripte (so genannte Ebuilds) vor. Sie enthalten Informationen und Codefragmente, die es der Paketverwaltung ermöglichen, den Quellcode herunterzuladen, zu kompilieren und zu installieren (Abbildung 1). Binäre Abhängigkeiten entstehen erst auf dem Rechner des Anwenders.

Abbildung 1: Anders als die meisten Paketmanager installiert Portage keine vorkompilierten Binärpakete, sondern baut jedes Paket auf dem Rechner des Anwenders aus den Quellen. Portage kümmert sich dabei um Abhängigkeiten und automatisiert den Übersetzungsprozess.

So reicht innerhalb eines Ebuild zum Beispiel die Angabe »DEPEND=dev-libs/openssl«, um sicherzustellen, dass Portage die OpenSSL-Bibliothek installiert, bevor es das neue Paket einspielt. Weil dieses erst auf dem Rechner des Anwenders gegen die vorhandene Version von OpenSSL kompiliert wird, ist eine Angabe der Versionsnummer nicht nötig, solange sich das API der Bibliothek nicht verändert. Folglich lassen sich auch experimentelle Pakete mit komplexen Abhängigkeiten ohne große Probleme in das System integrieren.

Die Freiheit bezahlt Portage aber mit erhöhtem Zeit- und Ressourcenbedarf. Für viele Pakete gibt es zwar alternativ eine vorkompilierte Version. Gentoo-spezifische Vorteile wie Aktualität und Optimierung auf den eigenen Prozessor bieten die Binärpakete jedoch nicht.

Die Paketdefinitionen, die Grundlage für das automatisierte Übersetzen, stellt Gentoo in einem zentralen CVS-Baum zur Verfügung. Die Nutzer können ihr System täglich aktualisieren. Diese dynamische Paketverwaltung erleichtert die Weiterentwicklung der Distribution, hat jedoch andererseits gravierende Auswirkungen auf die Stabilität: Jeder Fehler im CVS-Baum macht sich sofort bei den Nutzern bemerkbar.

Qualitätsmanagement

Um die Herausforderung zu meistern, die durch den direkten Zugriff der Nutzer auf den zentralen Paketbaum entsteht, hat Gentoo eigene Maßnahmen zur Qualitätssicherung entwickelt: Die Software Repoman [3] überprüft neue Ebuilds auf typische Unachtsamkeiten. Hat der Entwickler zum Beispiel Abhängigkeiten zu Bibliotheken auf eine Version beschränkt, die im Portage-Baum nicht vorhanden ist, bemerkt dies Repoman vor dem Commit.

Pakete lassen sich für jede von Gentoo unterstützte Architektur separat als stabil, instabil oder maskiert kennzeichnen. Ein Paket erreicht den stabilen Zustand nicht ohne Ablauf der vorherigen instabilen Testphase.

Das Entwicklungsmodell von Gentoo bietet auf Grund seiner Konzentration auf einzelne Pakete beste Voraussetzungen für eine starke Einbindung der Community. Um Fehler in dem zentralen CVS-Tree zu vermeiden, müssen sich neue Entwickler allerdings erst bewähren, bevor sie Schreibzugriff erhalten. Bei Gentoo hat sich hierfür ein festes Verfahren etabliert.

Abbildung 2: Mit so genannten Overlays ermöglicht es Gentoo, experimentelle Pakete aus bestimmten Themenbereichen in ein ansonsten stabiles System einzubinden.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3,5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Gentoo: Proxy Maintainers pflegen verwaiste Software

    Der Gentoo-Entwickler Markos Chandras hat zusammen mit Kollegen das Projekt Proxy Maintainers ins Leben gerufen, das verwaiste Softwarepakete vorübergehend pflegen soll.

  • Schneller Weg zur Live-CD

    Gentoo Linux lässt sich flexibel und einfach an eigene Bedürfnisse anpassen. Diese Anleitung zeigt, wie man mit dem distributionseigenen Tool Catalyst individuelle Live-CDs herstellt.

  • ICC für Gentoo

    Das Software-Management von Gentoo Linux fußt auf dem Sourcecode der Programme. Damit eignet sich die Distribution im besonderen Maße für Performance-Experimente mit Compileroptionen. Teile von Gentoo lassen sich sogar mit der ICC übersetzen. Ein Praxistest.

  • Wurzelimport

    Selbst betagte Rechner kommen als Diskless-Clients unter Linux dank transluzenter Dateisysteme und anderer Zutaten zu neuen Ehren - ersparen sie ihren Admins doch jede Menge Arbeit.

  • PGP für Dummies

    E-Mail-Verschlüsselung im Stil von PGP und Gnu PG überfordert die meisten Anwender. Zudem ist sie mit den verbreiteten Webmail-Services wie Google Mail nicht benutzbar. Das Freenigma-Projekt integriert One-Click-Verschlüsselung in öffentliche Webmail-Dienste.

comments powered by Disqus

Ausgabe 07/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.