2.9. Distributionsbereiche

Die verschiedenen Distributionsbereiche ordnen die einzelnen Pakete anhand ihrer Lizenzen. Das hilft Ihnen dabei, die Kontrolle über die verwendeten Lizenzen auf Ihrem System zu behalten. Mit der Auswahl von Paketen aus bestimmten Distributionsbereichen legen Sie somit den „Freiheitsgrad“ Ihrer Installation fest.

In Debian sind die Softwarepakete in die folgenden drei Bereiche unterteilt:

main
Freie Software, die den Debian-Richtlinien für freie Software (DFSG) entspricht.
contrib
Freie Software, die von unfreier Software abhängt.
non-free
Software, die nicht den Debian-Richtlinien für freie Software (DFSG) entspricht, aber frei verteilbar ist.
non-free-firmware
Firmware, die nicht den Debian-Richtlinien für freie Software (DFSG) entspricht, aber frei verteilbar ist. (Diesen Bereich gibt es erst ab Debian 12 Bookworm. Er wurde nach einer Abstimmung innerhalb von Debian im Jahre 2022 von non-free abgetrennt [gr-non-free-firmware]. In vorherigen Veröffentlichungen waren unfreie Firmware-Pakete im Bereich non-free untergebracht.)

2.9.1. Einordnung der Distributionsbereiche in Debian

Obwohl vielfach von außen anders wahrgenommen, zählt zur Debian-Distribution nur der Bereich main. Die anderen drei Bereiche sind lediglich Ergänzungen, die zusätzlich bereitgestellt werden. Wir empfehlen Ihnen daher, soweit möglich nur Pakete aus main zu verwenden, und nur wenn dies nicht ausreicht (z.B. wegen nicht-freier Firmware für bestimmte Hardwarekomponenten), die drei anderen Bereiche contrib, non-free und/oder non-free-firmware dazuzunehmen.

Pakete, die in main eingeordnet sind, unterliegen einer Lizenz, die den Debian-Richtlinien für Freie Software – kurz Debian Free Software Guidelines (DFSG) [DFSG] – entsprechen. Diese Richtlinien sind im Debian-Gesellschaftsvertrag festgelegt [Debian-Social-Contract] und weisen starke inhaltliche Gemeinsamkeiten zur Free Software Foundation (FSF) und zum GNU-Projekt auf.

Pakete im Bereich contrib stehen zwar genauso unter einer freien Lizenz wie die Pakete in main, bedingen jedoch weitere Software oder Inhalte, die nicht frei gemäß obiger Festlegung ist. Typische Gründe, warum ein Paket im Bereich contrib einsortiert wurde, sind:

  • Eine freie Spiele-Engine braucht die Spieldaten eines kommerziellen Spiels.
  • Ein Emulator braucht Software für die zu emulierende Hardware, um zu funktionieren.
  • Die Software ist nur zum Herunterladen (und ggf. installieren und/oder paketieren) von nicht-freier Software da.
  • Die Software muss mit einem nicht-freien Compiler übersetzt werden.

In den beiden Bereichen non-free und non-free-firmware finden sich Pakete, die nicht den Debian-Richtlinien für Freie Software (DFSG) entsprechen, aber trotzdem immer noch frei verteilbar sind. Typische Gründe für die Nichterfüllung der DFSG sind:

  • Der Quellcode liegt nicht (komplett) vor.
  • Die Software oder einzelne Teile davon – z.B. Teile der Dokumentation – dürfen nicht modifiziert werden.
  • Die Software darf nur für nicht-kommerzielle Zwecke genutzt werden.
  • Die Software darf nur für „Gutes“ verwendet werden.
  • Die Software darf nicht in kompilierter Form verteilt werden.

Vor der Nutzung von Software aus diesen Bereichen ist es ratsam, immer erst anhand der Lizenz zu überprüfen, ob Sie diese Software überhaupt für Ihre gewünschten Zwecke einsetzen dürfen.

Für Software aus den beiden Bereichen non-free und non-free-firmware gilt außerdem, dass keine Unterstützung seitens Debian für diese Pakete möglich ist. Das trifft insbesondere dann zu, wenn der Quellcode nicht veröffentlicht wurde, wie das bspw. bei der Firmware zu bestimmten WLAN-Chipsätzen der Fall ist.

Abbildung 2.7, „Paketliste mit Skype als unfreies Paket in Aptitude“ zeigt die Paketliste in Aptitude mit einem unfreien Paket aus dem Bereich Netzwerk – skype. Im abgebildeten Fall wurde es zudem nicht aus einem offiziellen Debian-Repository heruntergeladen, sondern aus einer anderen Quelle und danach manuell auf dem System eingepflegt.

Abbildung 2.7. Paketliste mit Skype als unfreies Paket in Aptitude

konzepte/software-in-paketen-organisieren/aptitude-unfreie-pakete.png

Eine vollständige Übersicht zu allen nicht-freien Paketen, die auf ihrem System installiert sind, gibt Ihnen das Programm check-dfsg-status (vormals vrms) aus dem gleichnamigen Debianpaket [Debian-Paket-check-dfsg-status]. Darauf gehen wir unter „Liste der installierten, nicht-freien Pakete anzeigen“ in Abschnitt 8.7, „Liste der installierten, nicht-freien Pakete anzeigen“) ausführlicher ein.

2.9.2. Einordnung der Distributionsbereiche bei anderen Distributionen

Im Vergleich zu Debian sind bei Ubuntu die Distributionsbereiche etwas anders eingeteilt. Dort kommt neben den Lizenzen auch noch der Supportstatus zum Tragen. Dafür ist die Unterscheidung nach Softwarelizenzen auf frei oder unfrei reduziert: Es gibt main (frei, von Canonical unterstützt), restricted (unfrei, von Canonical unterstützt), universe (frei, nur Community-Unterstützung) und multiverse (unfrei, nur Community-Unterstützung). Zusätzlich existiert der Distributionsbereich partner, welcher für die Bereitstellung kommerzieller Software gedacht ist, deren Quellcode nicht offen liegt.

Andere Derivate von Debian bzw. Ubuntu (siehe „Paketformat im Einsatz“ unter Kapitel 52, Paketformat im Einsatz) oder nicht-offizielle Paketquellen (siehe „Paketquellen“ in Abschnitt 3.1, „Paketquellen“) können ebenfalls ihre eigenen Distributionsbereiche haben. Auf diese gehen wir hier nicht weiter ein.

2.9.3. Handhabung von geschützten Namen und Logos

Der Begriff „Software“ wird bei Debian recht weit gefasst und beinhaltet neben Programmcode auch Firmware, Dokumentation oder künstlerische Elemente wie beispielsweise Grafiken und Logos. Letztere stehen in manchen Fällen unter anderen Lizenzen als der Rest der Software und dürfen aus markenrechtlichen Gründen nicht für abgeänderte Programme verwendet werden.

Aus diesem Grund wurden 2006 einige Programme abgewandelt, bspw. der Webbrowser Iceweasel und das Mailprogramm Icedove, die im Original die Namen Firefox und Thunderbird tragen. Neben den beiden anderen Namen werden in Debian auch alternative Logos genutzt. Nach einer markenrechtlichen Einigung im Frühjahr 2016 sind seit Debian 9 Stretch Firefox und Thunderbird wieder zu Debian zurückgekehrt und lösen Iceweasel und Icedove wieder ab.

2.9.4. Softwareverteilung

Bezogen auf die Anzahl der verfügbaren Softwarepakete findet sich der überwiegende Teil der Pakete im Bereich main, danach folgen contrib, non-free und non-free-firmware.

Für die Architektur amd64 in Debian 8 Jessie ist das Verhältnis 42987 (main) zu 250 (contrib) zu 470 (non-free). Damit sind das fast genau ein Prozent unfreie Pakete. Für die Plattform i386 ist die Verteilung ähnlich.

2.9.5. Hintergrund der Einteilung in Distributionsbereiche

In der Klassifikation spiegelt sich die Offenheit und Vielfalt der Debian-Nutzer und -Entwickler sowie deren Weltbild wieder. Es zeugt von dem Verständnis dahingehend, welche Software Sie tatsächlich verwenden und nach welchen Kriterien Sie Ihre Pakete auswählen.

Je mehr Nutzer von Debian einbezogen werden, umso vielschichtiger sind die Varianten der Verwendung. Jeder Nutzer pendelt sich bei der Paketauswahl irgendwo zwischen den beiden Polen „nur freie Software“ und „freie und unfreie Software gemischt“ ein.

Erstere Gruppe versucht, ausschließlich freie Software zu verwenden und dazu auch unfreie in freie Software zu überführen, bspw. durch Nachbau, Neuentwicklung oder Anregen eines Lizenzwechsels. Dieser Schritt kann auch mit einem Funktionsverzicht einhergehen und ist vergleichbar mit der Überzeugung „so lange eine Technologie nur kommerziell/unfrei zur Verfügung steht, verwende ich diese nicht und nutze stattdessen Alternativen“. Die zweite Gruppe ist deutlich pragmatischer und folgt dem Gedanken „ich nutze die unfreie Variante, bis eine freie zur Verfügung steht, und steige dann um, wenn sie das kann, wie ich es brauche“. Dazwischen gibt es unendlich viele Abstufungen, die wiederum persönlichen Schwankungen unterliegen können.

Die Nutzung der Software hängt von den Bedürfnissen und dem Einsatzzweck ab. Viele Prozesse und Arbeitsabläufe bedingen eine bestimmte Menge von Eigenschaften („Featureset“), welche sich nicht immer adäquat und vollständig mit bestehender freier Software bzw. deren aktuellem Entwicklungsstand abbilden lässt. Dabei spielen die Faktoren Produktivität, Anbindung an bereits bestehende Software, Schnittstellen und unterstützte Hardware oder Protokolle eine große Rolle. Desweiteren sind das Budget, der Zeitrahmen und die Dokumentation bzw. der Support entscheidend. Über die Auswahl einer Lösung entscheidet häufig, welcher finanzielle Rahmen für eine Lösung zur Verfügung steht, welcher Zeitraum zur Inbetriebnahme gesetzt ist und wie gut die Dokumentation und der Support zur ausgewählten Software ist. Eine Software, die frei ist, aber nicht oder nur ungenügend zum tatsächlichen Einsatzzweck passt, ist an dieser Stelle zu hinterfragen und muss sich mit einer passenden Alternative messen lassen, auch wenn diese als unfrei eingestuft ist, aber damit im Nutzungszeitraum eine funktionierende und stabile Lösung erreicht wird.