Skip to content

2 Linux und freie Software

2 Linux und freie Software

Lernziele

  • Die Grundprinzipien von Linux und freier Software kennen.

  • Die gängigen FOSS-Lizenzen einordnen können.

  • Von den wichtigsten freien Anwendungsprogrammen gehört haben.

  • Von den wichtigsten Linux-Distributionen gehört haben.

Vorkenntnisse

  • Grundkenntnisse über Computer und Betriebssysteme (Kapitel 1)

2.1 Linux: Eine Erfolgsgeschichte

Im Sommer 1991 studierte der damals 21-jährige Linus Torvalds Informatik an der Technischen Universität Helsinki in Finnland.1 Er besaß einen neuen 386-PC, den er ausprobieren wollte, und amüsierte sich damit, einen Terminalemulator zu schreiben, der ohne Betriebssystem auf der rohen Hardware lief und mit dem er auf den Unix-Rechner der Universität zugreifen konnte. Aus diesem Programm wurde schließlich der erste Linux-Betriebssystemkern.

💡 Unix hatte zu diesem Zeitpunkt schon gut 20 Jahre auf dem Buckel, war aber das Betriebssystem der Wahl an Universitäten und überall dort, wo Forschung und Entwicklung betrieben wurden – die technisch-wissenschaftlichen „Workstations” der damaligen Zeit liefen praktisch alle mit verschiedenen Unix-Versionen.

💡 Unix selbst hatte – fast wie Linux – als „Hobbyprojekt” von Ken Thompson und Dennis Ritchie bei den Bell Laboratories, dem Forschungsinstitut des US-Telekommunikationsgiganten AT&T, angefangen. Es mauserte sich schnell zu einem sehr nützlichen System. Da es zum größten Teil in der höheren Programmiersprache C geschrieben war, konnte es relativ schnell von der ursprünglichen PDP-11 auf andere Rechnerplattformen portiert werden. Außerdem durfte AT&T in den 1970er Jahren keine Software verkaufen, sodass Unix ohne Support zu Selbstkosten „verschenkt“ wurde. Da das System klein und übersichtlich war, wurde es zur beliebten Fallstudie in den Betriebssystem-Seminaren der meisten Universitäten.

💡 Ende der 1970er Jahre portierten Studenten der University of California in Berkeley Unix auf die VAX, die Nachfolgeplattform der PDP-11. Dabei bauten sie verschiedene Verbesserungen ein, die als „BSD” (kurz für „Berkeley Software Distribution”) in Umlauf kamen. Diverse Ableger von BSD sind auch heute noch aktuell.

💡 Zur Entwicklung der ersten Linux-Versionen benutzte Linus „Minix”, ein unixartiges Betriebssystem, das Andrew S. Tanenbaum an der Universität Amsterdam für Unterrichtszwecke geschrieben hatte. Minix war ziemlich simpel gehalten, nicht frei verfügbar und stellte somit kein vollwertiges Betriebssystem dar – Abhilfe war offensichtlich nötig2!

Am 25. August 1991 kündigte Linus sein Projekt öffentlich an und lud den Rest der Welt zur Mithilfe ein. Zu diesem Zeitpunkt funktionierte das System als alternativer Betriebssystemkern für Minix.

Einen richtigen Namen hatte das System damals noch nicht. Linus nannte es „Freax” (eine Kombination aus „Freak” und „Unix”); er hatte am Anfang kurz über „Linux” als Name nachgedacht, die Idee dann aber als zu selbstverliebt abgelehnt. Als Linus’ System auf den FTP-Server der Universität hochgeladen wurde, benannte Linus’ Kollege Ari Lemmke, dem der Name „Freax” nicht gefiel, es in eigener Regie in „Linux” um. Linus stimmte der Änderung später zu.

Linux stieß auf beträchtliches Interesse und viele Freiwillige entschlossen sich zur Mitarbeit. Im Dezember 1992 erschien Linux 0.99, die erste Version unter der GPL (Abschnitt 2.2.3), die durchaus ein ausgewachsenes Betriebssystem mit vollständiger (wenn auch simpler) Unix-Funktionalität war.

Anfang 1996 kam Linux 2.0 heraus und führte einige wichtige Neuerungen ein, etwa die Unterstützung von Mehrprozessor-Rechnern und die Möglichkeit, Module dynamisch zur Laufzeit in den Linux-Kern zu laden – ein bedeutender Schritt hin zu benutzerfreundlichen Linux-Distributionen.

Bild 2.1: Die Weiterentwicklung von Linux, gemessen an der Größe von linux-*.tar.bz2. Jede Marke entspricht einer Linux-Version. In den 15 Jahren von Linux 2.0 bis Linux 3.2 hat sich der Umfang des komprimierten Linux-Quellcodes nahezu versechzehnfacht.

💡 Ebenfalls neu in Linux 2.0 war „Tux”, der Pinguin, als offizielles Linux-Maskottchen. Linus Torvalds war in Australien von einem Pinguin angefallen worden, was ihn sehr beeindruckt hatte. Der sitzende Pinguin mit den gelben Füßen wurde von Larry Ewing gezeichnet und der Allgemeinheit zur Verfügung gestellt.

Mit Linux 2.6 wurde Anfang 2004 der Entwicklungsprozess neu organisiert. Während vorher Versionen mit ungerader zweiter Stelle (zum Beispiel „2.3”) als Entwicklerversionen galten und Versionen mit gerader zweiter Stelle (zum Beispiel „2.0”) stabile Versionen für Endbenutzer waren, beschlossen die Linux-Entwickler, die Entwickler- und die stabilen Versionen künftig nicht mehr so stark voneinander abzugrenzen. Seit Linux 2.6 gibt es keine separate Entwicklungslinie mehr. Stattdessen fließen Neuerungen jeweils in die nächste Version ein, die vor ihrer offiziellen Freigabe möglichst ausgiebig getestet wird.

💡 Man kann sich das ungefähr so vorstellen: Nach der Freigabe von Linux 2.6.37 sammelt Linus Torvalds Neuerungen für den nächsten Linux-Kernel, baut sie in seine offizielle Version ein und veröffentlicht diese dann als Linux 2.6.38-rc1 (Release Candidate 1). Diese Version wird von verschiedenen Leuten ausprobiert und bei Bedarf werden Reparaturen und Verbesserungen in die Version 2.6.38-rc2 eingearbeitet, und so weiter. Irgendwann sieht der Code stabil genug aus, sodass er als „Linux 2.6.38” offiziell freigegeben werden kann. Dann wiederholt sich der Prozess mit der Version 2.6.39.

💡 Neben Linus’ offizieller Version gibt es Linux-Versionen, die von anderen Entwicklern gepflegt werden. Ein Beispiel ist der „Staging Tree”, in dem neue Gerätetreiber „reifen” können, bis sie nach mehreren Runden von Verbesserungen gut genug sind, um von Linus in seine Version aufgenommen zu werden. Einmal freigegebene Linux-Versionen werden in der Regel noch eine Weile lang mit Fehlerbehebungen versorgt, sodass es auch Versionen wie 2.6.38.1, 2.6.38.2 usw. geben kann.

Im Juli 2011 erklärte Linus die damals gerade in Vorbereitung befindliche Version 2.6.40 summarisch zur Version 3.0, nur um die Nummerierung zu vereinfachen – umwälzende Neuerungen gab es keine.

💡 Release-Kandidaten heißen heute 3.2-rc1 und so weiter; die nach der Veröffentlichung reparierten Versionen heißen entsprechend 3.1.1, 3.1.2 usw.

Das Projekt „Linux” ist auch heute nicht abgeschlossen. Linux wird ständig aktualisiert und erweitert – von Hunderten von Programmierern auf der ganzen Welt. Ihnen stehen inzwischen mehrere Millionen zufriedene private und kommerzielle Anwender gegenüber. Man kann auch nicht sagen, dass das System „nur” von Studenten und anderen Amateuren entwickelt wird – viele Leute, die am Linux-Kern mitarbeiten, haben wichtige Posten in der Computerindustrie und gehören zu den fachlich angesehensten Systementwicklern überhaupt. Inzwischen lässt sich zu Recht behaupten, dass Linux das Betriebssystem mit der breitesten Hardwareunterstützung ist, und zwar nicht nur bezogen auf die Plattformen, auf denen es läuft – vom Smartphone bis zum Großrechner –, sondern auch auf die Treiberunterstützung, beispielsweise auf der Intel-PC-Plattform. Linux dient auch als Test- und Forschungsplattform für neue Betriebssystem-Ideen in Industrie und Hochschule. Es ist zweifellos eines der innovativsten derzeit verfügbaren Betriebssysteme.

Die Flexibilität von Linux macht es auch zum Betriebssystem der Wahl für Anwendungen wie Virtualisierung und „Cloud Computing”. Virtualisierung ermöglicht die Simulation mehrerer bis vieler virtueller Rechner auf einem tatsächlichen (physikalischen) Rechner. Diese verfügen über ihr eigenes Betriebssystem und erscheinen für dort laufende Programme wie „echte“ Rechner. Dies führt zu einer effizienteren Nutzung von Ressourcen und zu einer höheren Flexibilität: Die gängigen Infrastrukturen für Virtualisierung gestatten eine sehr schnelle Migration virtueller Maschinen von einem physikalischen Rechner auf einen anderen. Als Betreiber einer entsprechenden Infrastruktur können Sie somit sehr bequem auf Lastsituationen und Ausfälle reagieren. Cloud Computing basiert auf dieser Idee und stellt Rechenleistung nach Bedarf „auf Abruf“ zur Verfügung. So können Firmen auf groß angelegte Rechenzentren verzichten, die nur gelegentlich bei Anfragespitzen tatsächlich voll ausgelastet werden und ansonsten vor allem Kosten verursachen. Anbieter von Cloud-Computing gestatten ihren Kunden die Nutzung virtueller Maschinen über das Internet. Die Abrechnung erfolgt auf Basis der tatsächlichen Nutzungsdauer. Das kann gegenüber dem Unterhalt eines „realen“ Rechenzentrums zu erheblichen Einsparungen führen – insbesondere, wenn man die Vermeidung von Anschaffungs-, Personal-, Material- und Stromkosten für den 24/7-Betrieb des Rechenzentrums einbezieht. Übungen

✏️ 2.1 [2] Suchen Sie im Internet nach der berühmt-berüchtigten Diskussion zwischen Andrew S. Tanenbaum und Linus Torvalds. Tanenbaum sagt darin, dass Linus mit etwas wie Linux bei ihm im Praktikum durchgefallen wäre. Was halten Sie davon?

✏️ 2.2 [1] Welche Versionsnummer hat der älteste Linux-Kernel-Quellcode, den Sie finden können?

2.2 Frei oder Open Source?

2.2.1 Urheberrecht und »freie Software«

Im Mittelalter war die Vervielfältigung von Büchern und anderen Schriftstücken eine aufwendige Angelegenheit: Man musste jemanden finden, der schreiben konnte und genügend Zeit hatte. Das Kopieren von Bibeln war daher die Domäne von Klöstern, denn die Mönche konnten schreiben und hatten viel Zeit. Mit dem Aufkommen des Buchdrucks im 16. Jahrhundert entstand ein neues Problem: Das Kopieren wurde auf einmal ein gutes Stück einfacher und billiger – zumindest, wenn man über eine Druckerpresse verfügte. Eifrige Verleger nutzten das aus, um alles zu vervielfältigen, was sich ihrer Meinung nach verkaufen ließ. Die Autoren hatten damals eigentlich keine Rechte und konnten froh sein, wenn die Verleger ihnen etwas dafür bezahlten, dass sie ihre Werke druckten. Das weitverbreitete Nachdrucken führte auch dazu, dass sich die Erstdrucker betrogen fühlten, wenn andere Drucker ihre Veröffentlichungen ohne Gegenleistung übernahmen. Deshalb wandten sich viele von ihnen an die Obrigkeit mit der Bitte, für bestimmte Werke ein Exklusivrecht zur Veröffentlichung zu erhalten. Dies kam der Obrigkeit durchaus zupass, da sie gerne den Überblick über die in ihrem Einflussbereich im Umlauf befindlichen Druckwerke behalten wollte. Aus diesen „Privilegien” sowie weiteren Entwicklungen, wie der (lobenswerten) Idee, auch den Autoren von Werken das Recht auf ein Honorar einzuräumen, entstand das Konzept des Urheberrechts (bzw. im angelsächsischen Rechtsraum das verwandte Konzept des Copyrights).

Das Urheberrecht bedeutet, dass dem Urheber eines Werks, also dem Autor eines Buchs oder dem Maler eines Bildes, das Recht zusteht, als Einziger über das Werk zu verfügen. Der Autor kann einem Verlag beispielsweise das Recht abtreten (bzw. in der Praxis gegen ein Honorar verkaufen), das Buch zu drucken und in Umlauf zu bringen. Der Verlag kann damit Geld verdienen und der Autor muss sich nicht selbst um Vervielfältigung, Werbung, Vertrieb usw. kümmern. Somit sind beide Seiten zufrieden.

💡 Neben diesen „Verwertungsrechten” gibt es auch „moralische” Rechte, etwa das Recht, als Urheber eines Werks identifiziert zu werden. Diese Rechte kann ein Urheber nicht abtreten.

Im 20. Jahrhundert wurden die Konzepte des Urheberrechts weltweit vereinheitlicht und auch auf andere Werke wie Tonaufnahmen und Filme ausgedehnt.

Mit der Ankunft von Computern und dem Internet gegen Ende des 20. Jahrhunderts änderte sich die Situation jedoch erneut grundlegend: Während das Urheberrecht früher vor allem dazu diente, Verleger vor anderen Verlegern zu schützen (Privatleute hatten selten die Mittel, um Bücher, Schallplatten oder Filme in kommerziell merkbarem Umfang zu vervielfältigen), war es plötzlich jedem, der einen Computer besaß, möglich, digitale Inhalte (etwa Software oder Bücher) in kommerziell merkbarem Umfang zu vervielfältigen. Musik oder Filme) ohne Qualitätsverlust nahezu beliebig oft zu vervielfältigen und weiterzugeben. Für Verleger, Musik-, Film- und Softwarefirmen war dies eine Katastrophe, da ihre Geschäftsmodelle, die auf dem Verkauf physischer Produkte wie Büchern oder CDs beruhten, ins Wanken gerieten. Die „Inhalteindustrie” agitiert seitdem für eine Verschärfung der Urheberrechtsgesetze und höhere Strafen für „Raubkopierer” und versucht, Copyright-Sünder dingfest zu machen (mit wechselndem Erfolg).

💡 Heute spricht man von „geistigem Eigentum” und meint damit nicht nur Urheberrechte, sondern auch Markenzeichen und Patente. Patente sollen Erfinder technischer Verfahren dafür belohnen, dass sie ihre Erfindungen dokumentieren und veröffentlichen. Im Gegenzug erhalten sie für eine gewisse Zeit ein Exklusivrecht, diese Erfindungen auszunutzen (etwa indem sie anderen gegen Geld gestatten, die Erfindungen anzuwenden). Markenzeichen stellen sicher, dass niemand die Bekanntheit einer „Marke” ausnutzen darf, um seine eigenen Produkte unter die Leute zu bringen. Ein Markenzeichen auf „Coca-Cola” sorgt beispielsweise dafür, dass nicht jeder, der eine dunkelbraune Zuckerbrühe brauen kann, diese als „Coca-Cola” in den Handel bringen darf. Die drei Formen des „geistigen Eigentums“ sind verwandt, aber verschieden: Bei Patenten geht es um Ideen, bei Urheberrechten um die konkrete Umsetzung von Ideen in Werke und bei Markenzeichen um die Verhinderung unsauberer Geschäftspraktiken.

💡 Ein Urheberrecht erhält man automatisch, sobald man ein Werk verfasst oder erstellt – jedenfalls sofern das Werk eine gewisse minimale eigene Kreativität beinhaltet. Patente müssen beim Patentamt beantragt werden und werden auf Neuheit geprüft. Markenrechte kann man sich ebenfalls eintragen lassen oder sie entstehen dadurch, dass man eine Marke eine Weile lang verwendet und von der Öffentlichkeit als Anbieter eines Produkts damit in Verbindung gebracht wird.

Auch Software für Computer (die man als eine Art Schriftwerk betrachten kann, in der mitunter erhebliche Kreativität steckt) unterliegt dem Schutz des Urheberrechts. Das heißt, dass es grundsätzlich nicht erlaubt ist, ein Programm oder ein komplettes Softwarepaket einfach so zu kopieren, ohne dass der Urheber (der Programmierer oder dessen Firma) dem ausdrücklich zugestimmt hat.

💡 In der Frühzeit des Computers war es nicht üblich, Software zu verkaufen. Entweder war sie im Lieferumfang des Computers enthalten – der war ja teuer genug (Millionen von Dollar oder Mark) – oder man schrieb sie selbst. In den Universitäten der 1960er Jahre und in der Heimcomputerszene der 1970er Jahre war es völlig normal, Programme zu tauschen und zu kopieren. Ein gewisser Bill Gates war 1976 entsetzt darüber, dass sein BASIC-Interpreter für den MITS Altair 8800 zwar sehr verbreitet war und er dafür viel Lob bekam, aber fast niemand den Kaufpreis dafür bezahlen wollte. Das war natürlich nicht korrekt, aber die Idee, dass Software etwas kosten sollte, war damals so absurd, dass die wenigsten überhaupt auf den Gedanken kamen.

💡 In den späten 1970er und 1980er Jahren wurde es mit der zunehmenden Verbreitung von Computern in Büros immer selbstverständlicher, Software nicht zu verschenken, sondern zu verkaufen. Die Softwarefirmen verkauften nicht nur den ausführbaren Maschinencode, sondern auch den Quellcode, an dem man hätte erkennen können, wie die Software funktioniert, oder in den man Veränderungen hätte einbringen können. Irgendwann war ein Punkt erreicht, an dem Richard M. Stallman, damals Forscher am MIT, beschloss, dieser Entwicklung entgegenzuwirken und ein System zu entwickeln, das die Kultur des Teilens, wie sie in den 1960er- und 1970er-Jahren üblich war, wieder in den Vordergrund stellen sollte. Dieses „GNU“-System3 ist zwar immer noch nicht ganz fertig, aber viele Komponenten davon kommen heute in Linux-Systemen zum Einsatz.

Das Konzept der „freien Software“ geht auf Richard M. Stallman (oft kurz „RMS“ genannt) zurück. „Frei” heißt in diesem Zusammenhang nicht „kostenlos”, sondern bedeutet, dass der Benutzer „frei” ist, verschiedene Dinge zu tun, die er mit proprietärer Software nicht könnte oder dürfte4. RMS nennt eine Software „frei”, wenn vier Bedingungen, die „vier Freiheiten”, erfüllt sind:

  • Man muss das Programm für jeden beliebigen Zweck benutzen dürfen (Freiheit 0).

  • Man muss das Programm studieren und an die eigenen Bedürfnisse anpassen können (Freiheit 1).

  • Man muss das Programm weitergeben dürfen, um seinem Nächsten zu helfen (Freiheit 2).

  • Man muss das Programm verbessern und die Verbesserungen veröffentlichen dürfen, um der Allgemeinheit zu nutzen (Freiheit 3).

Zugang zum Quellcode ist Voraussetzung für die Freiheiten 1 und 3.

Die Idee der freien Software fand grundsätzlich Anklang, doch die Ziele von RMS und der Free Software Foundation (FSF) wurden oft missverstanden. Insbesondere Firmen störten sich an dem Wort „frei”, das sie trotz entsprechender Klarstellungen zu sehr mit dem Wort „kostenlos” verwechselten. Ende der 1990er Jahre gründeten Eric S. Raymond, Bruce Perens und Tim O’Reilly die Open Source Initiative (OSI), um freier Software zu besserem und weniger ideologischem Marketing zu verhelfen. Die FSF war von dieser „Verwässerung” nicht begeistert, und die Kontroverse ist trotz der doch sehr ähnlichen Ziele von FSF und OSI auch heute noch nicht komplett beigelegt – wobei auch die ausgeprägten Egos einiger der maßgeblich beteiligten Personen eine Rolle spielen könnten.

💡 Während das „frei“ in „freie Software“ eine Verwechslung mit „kostenlos“ nahelegt, kann der „offengelegte Quellcode“ in „Open Source Software“ auch so interpretiert werden, dass der Quellcode zwar einsehbar ist, aber keine Änderungen oder Weitergaben zulässt – beides sind eigentlich Kernprinzipien der OSI. In diesem Sinne ist keiner der beiden Begriffe wirklich zu 100 % treffend, sodass in der Szene oft von „FOSS” (kurz für „free and open source software”) oder gar „FLOSS” (free, libre and open-source software, wobei das „libre” den Begriff der „Freiheit” unterstützen soll) die Rede ist.

Wie kann man mit freier Software Geld verdienen, wenn jeder die Software ändern und weitergeben darf? Eine sehr berechtigte Frage. Hier sind ein paar Ideen für „Open-Source-Geschäftsmodelle“:

  • Sie können Zusatzleistungen wie Unterstützung, Dokumentation oder Training für die freie Software anbieten und sich dafür bezahlen lassen (für uns als Linup Front GmbH funktioniert das sehr gut, und auch das LPI kann anscheinend vom Linux-Zertifizierungsgeschäft einigermaßen leben).

  • Sie können auf Anfrage kundenspezifische Weiterentwicklungen oder Erweiterungen erstellen und sich Ihre Arbeitszeit vergüten lassen (auch wenn das Ergebnis der Entwicklung dann Bestandteil der allgemein verfügbaren Version wird). Das funktioniert sogar für freie Software, die Sie nicht ursprünglich selbst geschrieben haben.

    💡 Beim „traditionellen“ Modell der proprietären Softwareentwicklung hat zunächst einmal der Hersteller ein Monopol auf Änderungen und Weiterentwicklungen. Wenn der Hersteller das Produkt abkündigt oder selbst verschwindet – etwa weil er insolvent geht oder von seinem größten Konkurrenten aufgekauft wird –, haben Sie als Kunde ein Problem, weil Sie dann eine Software eingeführt haben, die keine Zukunft hat. Bei freier Software können Sie dagegen immer versuchen, jemanden zu finden, der die Unterstützung übernimmt – notfalls tun Sie sich dafür mit anderen Anwendern der Software zusammen, die genauso wenig im Regen stehen wollen.

  • Wenn Sie ein Softwarepaket anbieten, können Sie eine Version davon als FOSS vertreiben, die die Grundfunktionalität abdeckt, und hoffen, dass genug Leute, die von der FOSS-Version angelockt wurden, die proprietäre »Vollversion« kaufen, um wirklich etwas getan zu kriegen. (Der Jargon dafür ist Open Core.)

💡 Dies ist jedoch eine zweischneidige Sache: Einerseits ist es natürlich schön, wenn es mehr freie Software gibt. Andererseits läuft es oft darauf hinaus, dass die proprietäre Version benötigt wird, da wichtige Funktionen in der freien Version nicht zur Verfügung stehen und es zu viel Aufwand wäre, diese in eigener Regie „nachzurüsten”. Die „freie” Version hat dann in erster Linie die Rolle eines Werbeträgers, wenn die Herstellerfirma als modern und „open-source-freundlich” gelten möchte, es aber nicht wirklich meint.

2.2.2 Lizenzen

Wie wird eine Software zur „freien” oder „Open-Source”-Software? Wir hatten gesagt, dass gewisse Rechte – etwa das Recht zur Vervielfältigung oder Veränderung eines Werks – dem Urheber vorbehalten sind, er diese aber auch an andere weitergeben kann. Dies geschieht in der Regel in Form einer „Lizenz“, also eines juristischen Textes, der festlegt, welche Rechte der Empfänger der Software durch den Kauf, das Herunterladen usw. erwirbt.

Das Urheberrecht erlaubt es dem Käufer (oder rechtmäßigen Herunterlader) einer Software bereits, die Software beispielsweise auf einem Computer zu installieren, aufzurufen und auszuführen. Das ergibt sich einfach daraus, dass ihm die Software vom Urheber zugänglich gemacht wurde – schließlich würde es keinen Sinn ergeben, jemandem ein Programm zu verkaufen, das er anschließend nicht benutzen darf. (Umgekehrt hat derjenige, der dem Programmautor Geld für das Programm gegeben hat, grundsätzlich sogar ein Recht darauf, als Gegenleistung das Programm benutzen zu dürfen.) Andere Aktionen wie das unkontrollierte Kopieren und Weitergeben oder das Verändern des Programms schließt das Urheberrecht hingegen aus. Wenn der Programmautor jemandem diese Rechte gewähren möchte, muss er dies in die Lizenz schreiben.

💡 Proprietäre Programme werden oft mit einem „Endbenutzer-Lizenzabkommen“ (End-User License Agreement, EULA) ausgeliefert. Bevor die Software benutzt werden darf, muss der Käufer das Abkommen akzeptieren. Mit dem EULA versucht der Verkäufer der Software, dem Käufer Dinge zu verbieten, die dieser gemäß dem Urheberrechtsgesetz eigentlich dürfte – etwa die Software „gebraucht“ weiterzuverkaufen oder öffentlich schlecht über sie zu reden. Ein solches EULA ist ein Vertrag, der von beiden Seiten akzeptiert werden muss, und die rechtlichen Hürden dafür liegen (zumindest in Deutschland) ziemlich hoch. So müssen dem Käufer die Bedingungen des EULAs vor dem Kauf bekannt sein oder es muss möglich sein, die Software unbenutzt zurückzugeben, wenn sie ihm nicht zusagen.

💡 Die Lizenzen für freie und Open-Source-Software erlauben dem Erwerber der Software Dinge, die er laut Urheberrechtsgesetz sonst nicht dürfte. In der Regel versuchen sie nicht, die Nutzung der Software einzuschränken, sondern regeln vor allem Fragen der Veränderung und Weitergabe der Software. In diesem Sinne stellen sie den Erwerber nicht schlechter, als er es bei einem gewöhnlichen Kauf erwarten würde. Deshalb sind Lizenzen für freie Software im Gegensatz zu EULAs normalerweise keine Verträge, die der Empfänger der Software akzeptieren muss, damit sie wirksam werden. Vielmehr sind es einseitige Erklärungen des Softwareautors und die eingeräumten Rechte sind eine Art „Sonderbonus” zum einfachen Nutzungsrecht.

Inzwischen gibt es eine Vielzahl von Lizenzen, die die Anforderungen an freie oder Open-Source-Software erfüllen. Die bekannteste Lizenz für freie Software ist die General Public License (GPL) des GNU-Projekts von Richard M. Stallman, aber es gibt auch einige andere. Die Open Source Initiative (OSI) „zertifiziert” Lizenzen, die ihrer Meinung nach den Open-Source-Gedanken verkörpern, genauso wie die Free Software Foundation (FSF) Lizenzen gutheißt, die die „vier Freiheiten” sichern. Welche das im Einzelfall sind, erfahren Sie auf den Webseiten dieser Organisationen.

💡 Wenn Sie ein freies oder Open-Source-Softwareprojekt starten möchten, können Sie sich natürlich auch eine Lizenz überlegen, die den Anforderungen der FSF oder OSI genügt. Empfehlenswerter ist es jedoch, eine bestehende, bereits anerkannte Lizenz für das Projekt zu übernehmen. Zum einen müssen Sie dann nicht bei der FSF oder der OSI um die Anerkennung Ihrer Lizenz werben. Zum anderen sind die gängigen Lizenzen bereits juristisch hinreichend geprüft worden, um als einigermaßen wasserdicht zu gelten. Als Laie auf dem Gebiet des Vertrags- oder Lizenzrechts könnten Sie wichtige Dinge übersehen, die Sie später in Schwierigkeiten bringen könnten.

Es ist eine wichtige Beobachtung, dass es den Befürwortern freier oder Open-Source-Software nicht darum geht, das Urheberrecht für Software komplett abzuschaffen. Tatsächlich kann freie Software, so wie wir sie kennen, überhaupt nur funktionieren, weil es das Urheberrecht gibt. Die Urheber von Software haben dadurch das Recht, Veränderung und Weitergabe der Software an Bedingungen zu koppeln, beispielsweise daran, dass der Empfänger der Software wiederum das Recht zur Veränderung und Weitergabe erhält. Ohne Urheberrecht könnte sich jeder (wie zu Gutenbergs Zeiten) beliebig bei der verfügbaren Software bedienen. Zentrale Grundsätze wie die „vier Freiheiten” wären dann in großer Gefahr, weil es möglich wäre, Software nur zu horten und nie zu teilen.

2.2.3 Die GPL

Der Linux-Kern und ein Großteil dessen, was man sonst unter „Linux” versteht, stehen unter der General Public License (GPL). Die GPL wurde von RMS für das GNU-Projekt entworfen und soll sicherstellen, dass Software, die einmal unter der GPL steht, auch weiter unter der GPL bleibt (eine solche Lizenz nennt man auch Copyleft-Lizenz). Das funktioniert ungefähr so:

  • GPL-Software muss im Quellcode zur Verfügung stehen und darf für beliebige Zwecke benutzt werden.

  • Es ist ausdrücklich erlaubt, diesen Quellcode zu ändern und in Originalform oder geänderter Form weiterzugeben, solange der Empfänger dieselben Rechte unter der GPL erhält.

Es ist ebenfalls erlaubt, GPL-Software in ausführbarer Form weiterzugeben oder zu verkaufen. In diesem Fall muss der Quellcode (mitsamt der GPL-Rechte) entweder mitgeliefert oder für einen bestimmten Zeitraum auf Anfrage zugänglich gemacht werden.

💡 In diesem Zusammenhang bedeutet »Quellcode« alles, was nötig ist, um die Software auf einem Computer zum Laufen zu bringen. Was das im Einzelfall bedeutet – ob also beispielsweise auch die kryptografischen Schlüssel dazugehören, die nötig sind, um auf einem entsprechend abgesicherten Rechner einen angepassten Linux-Kernel zu starten – ist Gegenstand hitziger Diskussionen.

💡 Wenn jemand eine GPL-Software kauft, erhält er damit das Recht, die Software auf allen seinen Computern zu installieren, zu kopieren und weiterzuverkaufen (unter der GPL). Das hat einerseits die Konsequenz, dass es wenig Sinn ergibt, GPL-Software „pro Rechner“ zu verkaufen. Andererseits hat es den angenehmen Nebeneffekt, dass es die Preise für Linux-Distributionen halbwegs vernünftig hält..

  • Wenn Sie ein neues Programm schreiben, das Teile eines GPL-Programms enthält, müssen Sie das neue Programm als „abgeleitetes Werk” ebenfalls unter die GPL stellen.

    💡 Auch hier erhitzen sich die Gemüter bei der Abgrenzung, ab wann und in welchem Umfang Teile eines GPL-Programms übernommen werden müssen, damit ein anderes Programm als „abgeleitetes Werk“ gilt. Wenn man der FSF glaubt, führt bereits die Verwendung einer dynamisch ladbaren GPL-Bibliothek in einem Programm dazu, dass das Programm der GPL unterliegt, selbst wenn es keinen Code der GPL-Bibliothek beinhaltet und somit im Sinne des Urheberrechts nicht „abgeleitet“ ist. Inwieweit dies auf Wunschdenken beruht und inwieweit es tatsächlich urheberrechtlich haltbar ist, bedarf grundsätzlich einer gerichtlichen Klärung.

Die GPL bezieht sich ausschließlich auf die Veränderung und Weitergabe der Software, nicht jedoch auf deren Einsatz.

💡 Im Moment sind zwei Versionen der GPL in Gebrauch. Die neuere Version 3 (auch als „GPLv3” bezeichnet) wurde Ende Juni 2007 veröffentlicht. Sie unterscheidet sich von der älteren Version 2 (auch „GPLv2”) durch Präzisierungen in Bereichen wie Softwarepatenten, der Kompatibilität mit anderen freien Lizenzen und der Einführung von Restriktionen, die es unmöglich machen, Änderungen an der theoretisch „freien” Software von Geräten vorzunehmen, indem man sie durch spezielle Hardware ausschließt (die „Tivoisierung”, benannt nach einem digitalen Videorekorder auf Linux-Basis, dessen Linux-Kern sich nicht verändern oder austauschen lässt). Die GPLv3 erlaubt ihren Benutzer:innen auch das Hinzufügen weiterer Klauseln. Die GPLv3 stieß jedoch nicht auf uneingeschränkte Zustimmung in der Szene, sodass viele Projekte, allen voran der Linux-Kernel, bewusst bei der einfacheren GPLv2 geblieben sind. Viele Projekte werden auch „unter der GPLv2 oder einer neueren Version der GPL” vertrieben, sodass Sie sich bei der Weitergabe oder Änderung solcher Software für eine der beiden Versionen entscheiden können.

💡 Unter Entwicklern freier Software gilt es als guter Stil, Beiträge zu einem Projekt unter dieselbe Lizenz zu stellen, die das Projekt bereits verwendet. Die meisten Projekte bestehen tatsächlich darauf, dass dies zumindest für Code gilt, der in die „offizielle” Version einfließen soll. Manche Projekte bestehen sogar auf Copyright Assignments, bei denen der Urheber seine Rechte an das Projekt (oder eine geeignete Organisation) abtritt. Dieser Schritt hat den Vorteil, dass urheberrechtlich nur das Projekt für den Code verantwortlich ist und Lizenzverstöße, die nur der Rechteinhaber verfolgen kann, leichter geahndet werden können. Ein entweder gewollter oder ausdrücklich unerwünschter Nebeneffekt ist, dass es einfacher möglich ist, die Lizenz für das gesamte Projekt zu ändern, da dies ebenfalls nur durch den Rechteinhaber erfolgen darf.

💡 Im Falle des Linux-Betriebssystemkerns, wo keine Copyright-Assignments verlangt werden, ist eine Lizenzänderung praktisch sehr schwierig bis ausgeschlossen, da der Code ein Flickenteppich von Beiträgen von über tausend Autoren ist. Im Zuge der Veröffentlichung der GPLv3 wurde diese Angelegenheit erörtert und man war sich einig, dass es ein riesiges Projekt wäre, die urheberrechtliche Provenienz jeder einzelnen Zeile des Linux-Quellcodes zu klären und die Zustimmung der Autoren zu einer Lizenzänderung einzuholen. Einige Linux-Entwickler wären vehement dagegen, andere sind nicht mehr zu finden oder bereits verstorben. Der betreffende Code müsste durch etwas Ähnliches mit klarem Copyright ersetzt werden. Zumindest Linus Torvalds ist aber nach wie vor Anhänger der GPLv2, sodass sich das Problem in der Praxis (noch) nicht wirklich stellt.

Die GPL sagt nichts über den möglichen Preis des Produkts aus. Es ist absolut legal, dass Sie Kopien von GPL-Programmen verschenken oder auch Geld dafür verlangen, solange Sie den Quellcode mitliefern oder auf Anfrage verfügbar machen und der Empfänger der Software die entsprechenden GPL-Rechte erhält. GPL-Software ist somit also nicht unbedingt „Freeware”.

Mehr Informationen erhalten Sie durch das Lesen der GPL [GPL91], die jedem entsprechenden Produkt (auch Linux) beiliegen muss.

Die GPL gilt als die konsequenteste freie Lizenz, da sie sicherzustellen versucht, dass einmal unter der GPL veröffentlichter Code auch frei bleibt. Es gab schon öfter den Versuch von Firmen, GPL-Code in ihre eigenen Produkte zu integrieren, die dann nicht unter der GPL freigegeben werden sollten. Allerdings haben diese Firmen bisher immer nach einer nachdrücklichen Ermahnung durch die FSF als Rechteinhaberin eingelenkt und die Lizenzbestimmungen eingehalten. Zumindest in Deutschland wurde die GPL bereits gerichtlich für gültig erklärt – ein Linux-Kernelprogrammierer konnte vor dem Landgericht Frankfurt ein Urteil gegen die Firma D-Link (einen Hersteller von Netzwerkkomponenten, in diesem Fall eines NAS-Geräts auf Linux-Basis) erwirken. D-Link wurde darin zu Schadensersatz verurteilt, da das Unternehmen bei der Verbreitung seines Geräts den GPL-Auflagen nicht genügte [GPL-Urteil06].

💡 Warum funktioniert die GPL? Einige Firmen, denen die Anforderungen der GPL lästig waren, haben versucht, sie für ungültig zu erklären oder erklären zu lassen. In den USA wurde sie beispielsweise als „unamerikanisch” oder „verfassungswidrig” bezeichnet, in Deutschland wurde versucht, das Kartellrecht heranzuziehen, da die GPL angeblich illegale Preisvorschriften enthält. Die Idee scheint zu sein, dass Software, die unter der GPL steht, für jeden beliebig benutzbar sein muss, wenn mit der GPL nachweislich etwas nicht stimmt. All diese Angriffe verkennen jedoch eine Tatsache: Ohne die GPL hätte außer dem ursprünglichen Autor niemand das Recht, mit dem Code etwas zu unternehmen, da Aktionen wie das Weitergeben oder gar Verkaufen nach dem Urheberrecht nur ihm vorbehalten sind. Fällt die GPL weg, stehen alle anderen Interessierten an dem Code also viel schlechter da als vorher.

💡 Ein Prozess, bei dem ein Softwareautor eine Firma verklagt, die seine GPL-Software vertreibt, ohne sich an die GPL zu halten, würde aller Wahrscheinlichkeit nach wie folgt ablaufen: Richter: Was ist jetzt das Problem? Softwareautor: Herr Vorsitzender, die Beklagte hat meine Software vertrieben, ohne die Lizenz dafür einzuhalten. Richter: (zum Rechtsanwalt der Beklagten) Stimmt das?

An dieser Stelle kann die beklagte Firma „Ja“ sagen, dann ist der Prozess im Wesentlichen vorbei (bis auf das Urteil). Sie kann auch „Nein” sagen, muss dann aber begründen, warum das Urheberrecht für sie nicht gilt. Das ist ein unangenehmes Dilemma und der Grund, warum sich nur wenige Firmen diesen Stress machen und die meisten GPL-Streitigkeiten außergerichtlich geklärt werden.

💡 Wenn ein Hersteller proprietärer Software gegen die GPL verstößt, indem er beispielsweise ein paar hundert Zeilen Quellcode aus einem GPL-Projekt in seine Software integriert, bedeutet das nicht, dass seine Software automatisch komplett unter die GPL fällt und offengelegt werden muss. Zunächst bedeutet es nur, dass er GPL-Code gegen dessen Lizenz vertrieben hat. Der Hersteller kann das Problem auf verschiedene Arten lösen:

  • Er kann den GPL-Code entfernen und durch eigenen Code ersetzen. Die GPL wird dann für sein Programm irrelevant.

  • Er kann mit dem Urheberrechtsinhaber des GPL-Codes verhandeln und beispielsweise eine Zahlung von Lizenzgebühren vereinbaren, sofern dieser auffindbar ist und mitmacht. Siehe auch den Abschnitt über Mehrfachlizenzierung weiter unten.

  • Er kann sein komplettes Programm auch freiwillig unter die GPL stellen und so den Anforderungen der GPL entsprechen (was jedoch sehr unwahrscheinlich ist).

    Unabhängig davon könnte für den vorher stattgefundenen Lizenzverstoß Schadensersatz verhängt werden. Der urheberrechtliche Status der proprietären Software bleibt davon allerdings unberührt.

2.2.4 Andere Lizenzen

Neben der GPL gibt es auch andere Lizenzen, die im FOSS-Umfeld üblich sind. Im Folgenden erhalten Sie einen kleinen Überblick:

  • BSD-Lizenz

    Die BSD-Lizenz stammt aus dem Umfeld der Unix-Distribution der University of California in Berkeley und ist bewusst sehr einfach gehalten. Der Empfänger der Software erhält im Wesentlichen das Recht, mit der Software zu machen, was er will, solange er nicht den Eindruck erweckt, die Universität (oder im erweiterten Sinne der ursprüngliche Softwareautor) stünde hinter ihm. Eine Haftung für das Programm wird so weit wie möglich ausgeschlossen. Der Lizenztext muss im Quellcode des Programms erhalten bleiben und beim Vertrieb des Programms oder veränderter Versionen davon in ausführbarer Form in der Dokumentation wiedergegeben werden.

    💡 Früher enthielt die BSD-Lizenz auch die Anforderung, dass in Werbematerial für Software oder Systeme, die BSD-Code enthielten, auf diesen Umstand aufmerksam gemacht werden musste. Diese Klausel wurde jedoch inzwischen entfernt.

    Im Gegensatz zur GPL versucht die BSD-Lizenz nicht, den Quellcode der Software öffentlich zu halten. Wer sich BSD-lizenzierte Software besorgt, kann sie grundsätzlich in eigene Programme integrieren und diese nur in ausführbarer Form weitergeben. Die GPL hingegen verlangt, dass auch der Quellcode weitergegeben werden muss.

    💡 Kommerzielle Softwarefirmen wie Microsoft oder Apple, die von GPL-Software gemeinhin nicht besonders begeistert sind, haben in der Regel kein Problem mit BSD-lizenzierter Software. So verwendete Windows NT zum Beispiel eine ganze Weile lang den TCP/IP-Netzwerkcode von BSD (in angepasster Form) und auch große Teile des Betriebssystemkerns von OS X auf dem Macintosh beruhen auf BSD.

    💡 In der FOSS-Szene gehen die Meinungen darüber, ob die GPL oder die BSD-Lizenz „freier” ist, seit langem auseinander. Einerseits kann man sagen, dass man mit BSD-lizenzierter Software als Empfänger mehr anfangen kann, dass also die BSD-Lizenz in absoluten Begriffen mehr Freiheit einräumt. Dem entgegen steht die Sicht der GPL-Verfechter:innen, die sagen, dass es wichtiger ist, dass Code für alle frei bleibt, als dass er in proprietären Systemen verschwindet. Ein Kennzeichen größerer Freiheit der GPL besteht ihrer Meinung nach darin, dass diejenigen, die sich aus dem Vorrat der GPL-Software bedienen, auch verpflichtet werden, etwas zurückzugeben.

  • Apache-Lizenz

    Die Apache-Lizenz ähnelt der BSD-Lizenz darin, dass sie die Nutzung und Übernahme von lizenziertem Code gestattet, ohne – wie die GPL – zu verlangen, dass modifizierter, unter der Apache-Lizenz stehender Code wieder der Öffentlichkeit zugänglich gemacht wird. Sie ist jedoch komplexer als die BSD-Lizenz und enthält auch Klauseln über die Nutzung von Patenten und Markenzeichen sowie weitere Details.

  • Mozilla Public License (MPL)

    Die Mozilla-Lizenz, die beispielsweise für den Firefox-Browser gilt, ist eine Mischung aus der BSD-Lizenz und der GPL. Als „schwache Copyleft-Lizenz” verlangt sie einerseits, dass Code, der unter der MPL erhalten wurde, auch unter der MPL weitergegeben werden muss (wie bei der GPL), gestattet aber andererseits auch, dass dem MPL-Code Code unter anderen Lizenzen hinzugefügt wird, der dann nicht unter der MPL weitergegeben werden muss.

Der Erfolg der FOSS-Gemeinde brachte den Juristen Lawrence (Larry) Lessig dazu, das Konzept auch auf andere Werke außer Software anzuwenden. Das Ziel bestand darin, den Fundus von Kulturgütern wie Büchern, Bildern, Musik und Filmen zu vergrößern, die anderen zur freien Übernahme, Veränderung und Weitergabe zur Verfügung stehen. Da die gängigen FOSS-Lizenzen sehr auf Software abgestimmt sind, wurden hierfür die Creative-Commons-Lizenzen entwickelt. Diese ermöglichen es Urhebern, ihre Werke kontrolliert der Allgemeinheit zu übergeben. Dabei können sie verschiedene Einschränkungen festlegen: Das Werk darf beispielsweise nur unverändert weitergegeben werden, Änderungen sind erlaubt, aber (GPL-mäßig) Empfänger der Änderungen dürfen keine weiteren Änderungen vornehmen oder eine kommerzielle Nutzung des Werks ist ausgeschlossen.

„Public Domain” beschreibt Kulturgüter, die gemeinfrei sind, also keinen Urheberrechten mehr unterliegen. Während es in der angelsächsischen Rechtstradition möglich ist, ein Werk (also auch eine Software) ausdrücklich in die Public Domain zu stellen, ist das in Deutschland nicht möglich, da dieses Konzept im deutschen Urheberrecht gar nicht existiert. Hierzulande werden Werke erst 70 Jahre nach dem Tod des letzten Urhebers automatisch gemeinfrei. Bis das erste Computerprogramm auf diesem Weg allgemein nutzbar wird, wird es also noch dauern.

💡 Es besteht allerdings die gute Chance, dass überhaupt keine nach ca. 1930 erstellten Werke jemals gemeinfrei werden. In den USA wird die Copyright-Frist jedenfalls jedes Mal vom Kongress verlängert, wenn die Gefahr besteht, dass eine gewisse Comic-Maus gemeinfrei wird. Der Rest der Welt zieht dann in der Regel nach. Warum sogar noch die Urenkel von Walt Disney dank der Kreativität des großen Zeichners Geld scheffeln müssen wie Dagobert Duck, ist nicht ganz klar, aber wie so oft hängt das vor allem davon ab, wer die cleversten Lobbyisten hat.

Grundsätzlich kann der Inhaber des Urheberrechts eine Software auch gleichzeitig unter mehreren Lizenzen vertreiben – etwa unter der GPL für FOSS-Entwickler und unter einer proprietären Lizenz für Firmen, die ihren eigenen Quellcode nicht offenlegen möchten. Das lohnt sich vor allem für Bibliotheken, die andere Entwickler in ihre eigenen Programme integrieren möchten. Wer proprietäre Software entwickeln möchte, kann sich von den Anforderungen der GPL „freikaufen”.

Übungen

✏️ 2.3 [!1] Welche der folgenden Aussagen über die GPL sind richtig und welche sind falsch?

  1. GPL-Programme dürfen nicht verkauft werden.
  2. GPL-Programme dürfen von Firmen nicht umgeschrieben und zur Grundlage eigener Produkte gemacht werden.
  3. Der Urheber eines GPL-Programms darf das Programm auch unter einer anderen Lizenz vertreiben.
  4. Die GPL gilt nicht, weil man die Lizenz erst zu sehen bekommt, nach dem man das Programm schon hat. Damit Lizenzbestimmungen gültig werden, muss man sie vor dem Erwerb der Software sehen und ihnen zustimmen können.

✏️ 2.4 [2] Vergleichen Sie die »vier Freiheiten« der FSF mit den Debian Free Software Guidelines (http://www.debian.org/social_contract#guidelines) des Debian-Projekts (siehe Abschnitt 2.4.4). Welche Definition freier Software gefällt Ihnen besser und warum?

2.3 Wichtige freie Programme

2.3.1 Überblick

Linux ist ein leistungsfähiges und elegantes Betriebssystem. Doch selbst das schönste Betriebssystem ist ohne Programme, die darauf laufen, wertlos. In diesem Abschnitt präsentieren wir eine Auswahl der wichtigsten freien bzw. Open-Source-Programme, die auf typischen Linux-PCs zu finden sind.

💡 Die Abwesenheit eines Programms bedeutet nicht, dass wir es nicht gut finden. Der Platz ist begrenzt und wir versuchen, vor allem die Software abzudecken, die im LPI in den Prüfungsrichtlinien erwähnt wird (just in case).

2.3.2 Büro und Produktivitätsprogramme

Die meisten Computer werden wahrscheinlich für „Büroanwendungen” wie das Verfassen von Briefen und Memos, Diplom- und Doktorarbeiten sowie die Auswertung von Daten mit Tabellenkalkulations- und Grafikprogrammen verwendet. Außerdem verbringen viele Anwender einen großen Teil ihrer Zeit am Computer im Internet oder mit dem Lesen und Schreiben von E-Mails. Kein Wunder, dass es auf diesem Gebiet eine große Auswahl an guter freier Software gibt.

💡 Die meisten Programme in diesem Abschnitt stehen nicht nur für Linux, sondern auch für Windows, macOS oder andere Unix-Varianten zur Verfügung. So ist es möglich, Benutzer schrittweise an ein FOSS-Umfeld zu gewöhnen, indem Sie beispielsweise auf einem Windows-Rechner zunächst LibreOffice, Firefox und Thunderbird anstelle von Microsoft Office, Internet Explorer und Outlook installieren, bevor Sie das Betriebssystem selbst durch Linux ersetzen. Wenn Sie das geschickt angehen5, merken die Benutzer den Unterschied vielleicht gar nicht.

  • OpenOffice.org ist seit Jahren das Flaggschiffprodukt der FOSS-Gemeinde, wenn es um umfangreiche Büropakete geht. Es begann vor vielen Jahren als „StarOffice” und wurde schließlich von Sun aufgekauft und in einer leicht abgespeckten Version als freie Software in Umlauf gebracht. OpenOffice.org enthält alles, was man von einem Office-Paket erwartet: Textverarbeitung, Tabellenkalkulation, Präsentationsprogramm, Geschäftsgrafik, Datenbank usw. Zudem kann es einigermaßen mit den Datenformaten des großen Mitbewerbers Microsoft umgehen.

  • Nachdem Sun von Oracle übernommen wurde und die Zukunft von OpenOffice.org zunächst unklar war, schlossen sich einige der wichtigsten OpenOffice.org-Entwickler zusammen und veröffentlichten ihre eigene Version von OpenOffice.org unter dem Namen „LibreOffice”. Die beiden Pakete werden im Moment nebeneinander entwickelt – sicherlich kein optimaler Zustand. Es ist unklar, ob und wie es zu einer „Wiedervereinigung” kommen wird, da Oracle OpenOffice.org der Apache Software Foundation übergeben hat.

💡 Die meisten großen Linux-Distributionen liefern inzwischen LibreOffice aus. Das Programm wird aktiv weiterentwickelt und vor allem aufgeräumt.

Firefox ist inzwischen der beliebteste Webbrowser und wird von der Mozilla Foundation bereitgestellt. Firefox ist sicherer und effizienter als der bisherige „Platzhirsch” (Microsofts Internet Explorer), bietet mehr Funktionen und entspricht eher den Standards für das World Wide Web. Außerdem gibt es eine große Auswahl an Erweiterungen, mit denen Sie Firefox an Ihre eigenen Anforderungen anpassen können.

Chromium ist die Open-Source-Variante des Google-Browsers „Chrome”. Chrome macht Firefox seit einiger Zeit mächtig Konkurrenz – auch Chromium ist ein leistungsfähiger, sicherer Browser mit zahlreichen Erweiterungen. Vor allem die Google-Webangebote sind auf den Google-Browser abgestimmt und laufen dort besonders gut.

Thunderbird ist ein E-Mail-Programm der Mozilla Foundation. Es teilt große Teile seines Unterbaus mit dem Firefox-Browser und bietet wie Firefox einen reichen Fundus an Erweiterungen für verschiedene Zwecke.

2.3.3 Grafik und Multimedia-Werkzeuge

Grafik und Multimedia waren schon immer die Domäne der Macs (auch wenn es auf der Windows-Seite ebenfalls einige gute Programme gibt). Zugegebenermaßen fehlt unter Linux noch ein echtes Äquivalent zu Programmen wie Adobe Photoshop, doch die vorhandene Software ist ebenfalls nicht zu verachten.

  • The GIMP ist ein Programm zur Bearbeitung von Fotos und ähnlichen Vorlagen. Es kann noch nicht ganz mit Photoshop mithalten – zum Beispiel fehlen Funktionen bei der Druckvorstufe –, ist für viele Anwendungen aber absolut brauchbar. So bietet es bei der Erstellung von Grafiken für das World Wide Web einige Eigenschaften, die Photoshop nicht genauso bequem zur Verfügung stellt.

  • Inkscape ist eine leistungsfähige Software zur Erstellung vektorbasierter Grafiken und wird oft als das Illustrator von Linux bezeichnet.

  • ImageMagick ist ein Softwarepaket, mit dem Sie fast beliebige Grafikformate in fast beliebige andere umwandeln können. Außerdem erlaubt es die skriptgesteuerte Manipulation von Grafiken auf nahezu unendlich verschiedene Arten. Das ist genial für Webserver und andere Umgebungen, in denen mit Grafiken gearbeitet werden muss, ohne dass Maus und Monitor zum Einsatz kommen können.

  • Audacity dient als Mehrspurtonband, Mischpult und Schneidestation für Audiodaten aller Art und ist auch unter Windows und macOS sehr beliebt.

  • Cinelerra und andere Programme wie Kdenlive oder OpenShot sind „nichtlineare Videoeditoren”, mit denen sich Videos von digitalen Camcordern, TV-Karten oder Webcams schneiden, vertonen und mit Effekten versehen lassen. Anschließend können sie in verschiedenen Formaten (von YouTube bis zur DVD) ausgegeben werden.

  • Blender ist nicht nur ein leistungsfähiger Videoeditor, sondern erlaubt auch das fotorealistische „Rendern“ von dreidimensionalen, bewegten Szenen. Damit ist es das angesagte Werkzeug zum Erstellen von Animationsfilmen in professioneller Qualität.

💡 An dieser Stelle ein Hinweis darauf, dass heutzutage kein Hollywood-Blockbuster mehr entsteht, ohne dass Linux mit im Spiel ist: Die Spezialeffekt-Renderfarmen der großen Studios laufen inzwischen alle unter Linux.

2.3.4 Server-Dienste

Ohne Linux wäre das Internet heute nicht wiederzuerkennen. Die Hunderttausende Server von Google ebenso wie die Handelssysteme der meisten großen Börsen der Welt – darunter die Deutsche Börse, die Börse London und die Börse New York – laufen mit Linux, da nur mit diesem Betriebssystem die dafür nötige Leistung realisierbar ist. Tatsächlich wird die meiste Internet-Software heute zuerst auf Linux entwickelt und auch die Forschung in diesem Bereich findet an Universitäten natürlich auf der quelloffenen Linux-Plattform statt.

  • Apache ist mit Abstand der beliebteste Web-Server im Internet – mehr als die Hälfte aller Webseiten laufen auf einem Apache-Server.

    💡 Es gibt natürlich auch andere gute Webserver unter Linux, etwa Nginx oder Lighttpd, aber Apache bleibt der populärste.

  • MySQL und PostgreSQL sind frei verfügbare relationale Datenbankserver. MySQL eignet sich vor allem für Webseiten, während PostgreSQL ein innovativer und hochleistungsfähiger Datenbankserver für alle möglichen Anwendungen ist.

  • Postfix ist ein sicherer und extrem leistungsfähiger Mailserver, der für alle Anforderungen – vom Home-Office bis zum großen Provider oder DAX-Unternehmen – gerüstet ist.

2.3.5 Infrastruktur-Software

Auch innerhalb eines lokalen Netzwerks macht ein Linux-Server eine gute Figur: Er ist zuverlässig, schnell und wartungsarm und kann nach der Installation quasi vergessen werden (natürlich müssen regelmäßig Sicherungskopien erstellt werden!).

  • Samba macht einen Linux-Rechner zu einem Server für Windows-Clients und macht Speicherplatz und Drucker für alle Windows-Rechner im Netz zugänglich (Linux-Rechner übrigens auch). Mit dem neuen Samba 4 kann ein Linux-Rechner sogar als Active-Directory-Domänencontroller dienen, wodurch ein Windows-Server überflüssig wird. Stabilität, Effizienz und eingesparte Lizenzkosten sind sehr überzeugende Argumente.

  • NFS ist das Unix-basierte Äquivalent zu Samba und erlaubt anderen Linux- und Unix-Rechnern im Netz den Zugriff auf die Festplatten eines Linux-Servers. Linux unterstützt das moderne NFSv4 mit erhöhter Leistung und Sicherheit.

  • OpenLDAP dient als Verzeichnisdienst zur Strukturierung mittlerer und großer Netzwerke. Durch seine leistungsfähigen Features zur Verteilung und Replikation von Daten ermöglicht er eine hohe Redundanz und Geschwindigkeit bei der Abfrage und Aktualisierung.

  • DNS und DHCP gehören zur grundlegenden Netzwerkinfrastruktur. Linux unterstützt mit BIND den Referenz-DNS-Server und der ISC-DHCP-Server kann mit BIND kooperieren, um auch in sehr großen Netzen Clients mit Netzparametern wie IP-Adressen zu versorgen. Dnsmasq ist ein einfach zu administrierender DNS- und DHCP-Server für kleine Netze.

2.3.6 Programmiersprachen und Entwicklung

Linux war von Anfang an ein von Entwicklern für Entwickler geschaffenes System. Entsprechend stehen Übersetzer und Interpreter für alle wichtigen Programmiersprachen zur Verfügung: Die GNU-Compilerfamilie deckt beispielsweise C, C++, Objective-C, Java, Fortran und Ada ab. Selbstverständlich werden auch die populären Skriptsprachen wie Perl, Python, Tcl/Tk, Ruby, Lua oder PHP unterstützt. Sogar „Exoten” wie Lisp, Scheme, Haskell, Prolog und OCaml sind Bestandteil vieler Linux-Distributionen.

Eine reichhaltige Auswahl an Editoren und Hilfswerkzeugen macht die Softwareentwicklung zu einem Vergnügen. Neben dem Standard-Editor vi stehen auch professionelle Umgebungen zur Programmierung wie GNU Emacs oder Eclipse zur Verfügung.

Linux eignet sich außerdem als Entwicklungssystem für „Embedded-Systeme“, also Rechner, die als Bestandteil von Konsumgütergeräten oder spezialisierten „Appliances“ entweder selbst unter Linux laufen oder eigene Betriebssysteme mitbringen. Unter Linux ist es leicht, eine Compilerumgebung zu installieren, die beispielsweise Maschinencode für ARM-Prozessoren erzeugt. Daneben ist Linux auch gut zur Softwareentwicklung für Android-Smartphones geeignet, für die Google professionelle Werkzeuge bereitstellt.

Übungen

✏️ 2.5 [!1] Welche FOSS-Programme sind Ihnen bereits bekannt? Welche davon haben Sie schon selbst benutzt? Finden Sie sie besser oder schlechter als proprietäre Alternativen? Wenn ja, warum? Wenn nicht, warum nicht?

2.4 Wichtige Linux-Distributionen

2.4.1 Überblick

Wenn jemand sagt: „Ich habe Linux auf meinem Rechner”, dann meint er in der Regel nicht nur den Linux-Betriebssystemkern, sondern eine komplette Softwareumgebung auf Linux-Basis. Dazu gehören in der Regel die Shell Bash und die Kommandozeilenwerkzeuge aus dem GNU-Projekt, der X.org-Grafikserver sowie eine grafische Arbeitsumgebung wie KDE oder GNOME. Außerdem gehören Produktivitätsprogramme wie LibreOffice, Firefox oder The GIMP sowie viele weitere nützliche Programme aus dem vorigen Abschnitt dazu. Es ist zwar grundsätzlich möglich, sich all diese Komponenten selbst aus dem Internet zusammenzusuchen, doch die meisten Linux-Anwender nutzen eine vorgefertigte Software-Sammlung, auch „Linux-Distribution” genannt.

💡 Die ersten Linux-Distributionen kamen Anfang 1992 heraus, werden aber alle nicht mehr weiterentwickelt und sind weitgehend in Vergessenheit geraten. Die älteste Distribution, an der tatsächlich noch gearbeitet wird, ist Slackware, die erstmals im Juli 1993 erschien.

Es gibt zahlreiche Linux-Distributionen, die sich in ihren Zielen, Ansätzen und Organisationsstrukturen unterscheiden. Einige Distributionen werden von Firmen veröffentlicht und teilweise sogar nur gegen Geld verkauft, während andere von Freiwilligenteams oder Einzelpersonen zusammengestellt werden. Im Folgenden stellen wir die wichtigsten Distributionen für den allgemeinen Gebrauch kurz vor.

💡 Wenn Ihre Lieblingsdistribution hier nicht erwähnt wird, bedeutet das nicht, dass wir sie nicht mögen, sondern dass unser Platz und unsere Zeit begrenzt sind und wir uns (leider!) auf das Wesentliche konzentrieren müssen. Die Abwesenheit einer Distribution bedeutet also nicht, dass sie schlecht oder nutzlos ist, sondern lediglich, dass sie hier nicht vorkommt.

💡 Die Webseite DistroWatch (http://distrowatch.com/) listet die wichtigsten Linux-Distributionen auf und dient als Anlaufstelle für Neuigkeiten rund um dieses Thema. Derzeit sind dort 317 Distributionen gelistet, wobei diese Zahl zum Zeitpunkt der Veröffentlichung dieses Textes wahrscheinlich schon nicht mehr stimmt.

2.4.2 Red Hat

Red Hat (http://www.redhat.com/) wurde 1993 unter dem Namen „ACC Corporation” als Vertriebsfirma für Linux- und Unix-Zubehör gegründet. 1995 kaufte der Firmengründer Bob Young das Geschäft von Marc Ewing, der 1994 eine Linux-Distribution unter dem Namen „Red Hat Linux” veröffentlicht hatte. Young firmierte das Unternehmen zu „Red Hat Software” um. 1999 ging Red Hat an die Börse und ist seitdem das größte Unternehmen, das ausschließlich auf Linux und Open-Source-Software setzt. Das Unternehmen ist im „Standard & Poor’s 500“ vertreten, einem Aktienindex, der ähnlich dem deutschen DAX als Indikator für die US-amerikanische Wirtschaft dient.

Red Hat hat sich aus dem ursprünglichen Privatkundengeschäft zurückgezogen (die letzte Version von „Red Hat Linux” erschien im April 2004) und vertreibt heute unter dem Namen „Red Hat Enterprise Linux” (RHEL) eine Distribution für den professionellen Einsatz in Firmen. RHEL wird pro Server lizenziert. Dabei bezahlen Sie nicht für die Software – diese steht wie üblich unter der GPL oder anderen FOSS-Lizenzen –, sondern für den Zugriff auf zeitnahe Aktualisierungen und Unterstützung bei Problemen. RHEL ist vor allem für den Einsatz in Rechenzentren gedacht und erlaubt mit den entsprechenden Zusatzpaketen zum Beispiel den Aufbau von fehlertoleranten „Clustern”.

„Fedora“ (http://www.fedoraproject.org/) ist eine von Red Hat maßgeblich gesteuerte Distribution, die als „Testumgebung“ für RHEL dient. Neue Software und Ideen werden zuerst in Fedora umgesetzt. Was sich bewährt, taucht früher oder später in RHEL auf. Im Gegensatz zu RHEL wird Fedora nicht verkauft, sondern steht als kostenloser Download zur Verfügung. Das Projekt wird von einem Komitee geleitet, dessen Mitglieder teils von der Entwicklergemeinde gewählt und teils von Red Hat bestimmt werden. (Der Vorsitzende des Komitees wird von Red Hat bestimmt und hat ein Vetorecht.) Der Fokus auf aktuelle Software und neue Ideen ist für viele Fedora-Anwender reizvoll, auch wenn dies häufige Aktualisierungen bedeutet. Für Anfänger und den Einsatz auf Servern, die zuverlässig laufen sollen, ist Fedora weniger gut geeignet.

Da Red Hat seine Software konsequent unter FOSS-Lizenzen wie der GPL vertreibt, ist es grundsätzlich möglich, ein System zu betreiben, das dem aktuellen RHEL entspricht, ohne dafür Lizenzgebühren an Red Hat zahlen zu müssen. Es gibt Distributionen wie CentOS (http://www.centos.org/) oder Scientific Linux (https://www.scientificlinux.org/), die im Wesentlichen auf RHEL basieren, aber alle Markenzeichen von Red Hat entfernen. Das heißt, dass man im Wesentlichen identische Software erhält, allerdings ohne die Unterstützung von Red Hat.

💡 CentOS ist so nah an RHEL, dass Red Hat Ihnen bei Bedarf Unterstützung für Ihre CentOS-Rechner anbietet, ohne dass Sie zunächst RHEL installieren müssen.

2.4.3 SUSE

Die Firma SUSE wurde 1992 unter dem Namen „Gesellschaft für Software- und System-Entwicklung” als Unix-Beratungshaus gegründet und schrieb sich entsprechend zuerst „S.u.S.E.”. Eines ihrer Produkte war eine an den deutschen Markt angepasste Version der Linux-Distribution Slackware (von Patrick Volkerding), die wiederum von der ersten vollständigen Linux-Distribution Softlanding Linux System (SLS) abgeleitet war. SUSE Linux 1.0 erschien 1994 und differenzierte sich langsam von Slackware, indem beispielsweise Eigenschaften von Red Hat Linux wie die RPM-Paketverwaltung oder die /etc/sysconfig-Datei übernommen wurden. Die erste SUSE-Linux-Version, die nicht mehr wie Slackware aussah, war die Version 4.2 aus dem Jahr 1996. SUSE eroberte bald die Marktführerschaft im deutschsprachigen Raum und veröffentlichte SUSE Linux als „Kiste” in zwei Geschmacksrichtungen: „Personal” und „Professional”. Letztere war merklich teurer und enthielt unter anderem mehr Software aus dem Server-Bereich.

Im November 2003 kündigte die US-amerikanische Softwarefirma Novell an, SuSE für 210 Millionen Dollar übernehmen zu wollen. Der Handel wurde im Januar 2004 abgeschlossen. (Dabei wurde auch das „U” großgeschrieben.) Im April 2011 wurde Novell mitsamt SUSE von der Firma Attachmate übernommen. Attachmate ist in den Bereichen Terminalemulation, Systemmonitoring und Anwendungsintegration aktiv und hat sich im Linux- und Open-Source-Bereich bisher nicht besonders hervorgetan. Seitdem wird Novell in zwei Einheiten weitergeführt, eine davon ist SUSE.

Wie Red Hat bietet auch SUSE ein „Unternehmens-Linux“ an: den SUSE Linux Enterprise Server (SLES, abrufbar unter: http://www.suse.com/products/server/). Dieser ähnelt RHEL darin, dass er relativ selten erscheint und einen langen Lebenszyklus von sieben bis zehn Jahren verspricht. Daneben gibt es mit dem SUSE Linux Enterprise Desktop (SLED) auch eine Distribution für Arbeitsplatzrechner. SLES und SLED unterscheiden sich in der Paketauswahl: Der Fokus bei SLES liegt mehr auf Serverdiensten, bei SLED eher auf interaktiver Software.

Auch SUSE hat inzwischen den Schritt gemacht, die „Privatkunden“-Distribution zu öffnen und als „openSUSE“ (http://www.opensuse.org/) frei verfügbar zu machen (früher gab es die Distribution immer erst mit einigen Monaten Verzögerung zum Download). Im Gegensatz zu Red Hat bietet SUSE nach wie vor eine „Kiste” an, die zusätzlich proprietäre Software enthält. Im Gegensatz zu Fedora ist openSUSE eine ernst gemeinte Plattform, die aber einen relativ kurzen Lebenszyklus hat.

Bezeichnendes Merkmal der SUSE-Distributionen ist der „YaST”, ein umfassendes, grafisch orientiertes Systemverwaltungswerkzeug..

2.4.4 Debian

Im Gegensatz zu den beiden großen Linux-Distributionsfirmen Red Hat und Novell/SUSE ist das Debian-Projekt ein Zusammenschluss von Freiwilligen. Diese haben sich zum Ziel gesetzt, eine hochwertige Linux-Distribution namens Debian GNU/Linux frei zur Verfügung zu stellen. Das Projekt wurde am 16. August 1993 von Ian Murdock angekündigt. Der Name ist eine Zusammensetzung von Ian und Debra, seiner damaligen Freundin (jetzt Ex-Frau), und wird darum „Debb-Ian” ausgesprochen. Inzwischen umfasst das Projekt über 1.000 Freiwillige.

Die Grundlage von Debian bilden drei Dokumente:

  • Die Debian Free Software Guidelines (DFSG) definieren, welche Software im Sinne des Projekts als „frei” gilt. Das ist wichtig, denn nur DFSG-freie Software kann Teil der eigentlichen Debian-GNU/Linux-Distribution sein. Das Projekt vertreibt auch nichtfreie Software. Diese ist auf den Distributionsservern jedoch strikt von der DFSG-freien Software getrennt: Letztere steht im Unterverzeichnis „main“, erstere im Unterverzeichnis „non-free“. Es gibt auch noch eine Kategorie namens contrib. Dort findet sich Software, die für sich genommen DFSG-frei wäre, aber nicht ohne andere nichtfreie Komponenten funktioniert.

Bild 2.2: Organisationsstruktur des Debian-Projekts. (Grafik von Martin F. Krafft.)

  • Der Social Contract (Gesellschaftsvertrag) beschreibt die Ziele des Projekts.

  • Die Debian Constitution (»Verfassung«) beschreibt die Organisation des Projekts (siehe Bild 2.2).

Zu jedem Zeitpunkt existieren mindestens drei Versionen von Debian-GNU/Linux: In den Zweig „unstable” werden neue oder korrigierte Versionen von Paketen eingebracht. Wenn in einem Paket keine gravierenden Fehler auftreten, wandert es nach einer gewissen Wartezeit in den „testing“-Zweig. In gewissen Abständen wird der Inhalt von „testing” eingefroren, gründlich getestet und schließlich als „stable” freigegeben. Ein häufig geäußerter Kritikpunkt an Debian GNU/Linux sind die langen Zeiträume zwischen den Veröffentlichungen von Stable-Versionen. Dies wird allerdings von vielen auch als Vorteil empfunden. Debian GNU/Linux wird vom Projekt ausschließlich zum Download zur Verfügung gestellt, Datenträger sind von Drittanbietern erhältlich.

Debian GNU/Linux ist aufgrund seiner Organisation, der weitgehenden Abwesenheit kommerzieller Interessen und der sauberen Trennung von freier und nichtfreier Software eine gute Grundlage für Ableger-Projekte. Einige populäre Projekte dieser Art sind Knoppix (eine „Live-CD“, mit der sich Linux auf einem PC testen lässt, ohne es zuerst installieren zu müssen), SkoleLinux (heute „Debian/Edu“, ein speziell auf die Anforderungen von Schulen ausgerichtetes Linux) oder kommerzielle Distributionen wie Xandros. Auch LiMux, das Münchner Desktop-Linux, basiert auf Debian GNU/Linux.

2.4.5 Ubuntu

Der wahrscheinlich populärste Debian-Ableger ist Ubuntu (http://www.ubuntu.com/), das von der britischen Firma Canonical Ltd. des südafrikanischen Unternehmers Mark Shuttleworth angeboten wird. („Ubuntu” ist ein Wort aus der Sprache Zulu und bedeutet in etwa „Menschlichkeit gegenüber anderen”.) Ubuntu hat das Ziel, auf Basis von Debian GNU/Linux ein aktuelles, leistungsfähiges und benutzerfreundliches Linux in regelmäßigen Abständen anzubieten. Dies wird unter anderem dadurch erreicht, dass Ubuntu im Gegensatz zu Debian GNU/Linux nur drei statt über zehn Rechnerarchitekturen unterstützt und sich auf eine Teilmenge der in Debian GNU/Linux angebotenen Software beschränkt.

Ubuntu basiert auf dem Unstable-Zweig von Debian GNU/Linux und verwendet in weiten Teilen dieselben Werkzeuge, etwa zur Softwareverteilung. Allerdings sind Debian- und Ubuntu-Softwarepakete nicht notwendigerweise miteinander kompatibel. Ubuntu erscheint in einem ziemlich regelmäßigen 6-Monats-Rhythmus, wobei alle zwei Jahre eine „LTS“-Version (Long Term Support) herauskommt, für die Canonical Updates über einen Zeitraum von fünf Jahren verspricht.

Da einige Ubuntu-Entwickler auch im Debian-Projekt aktiv sind, gibt es einen gewissen Austausch zwischen Ubuntu und Debian. Andererseits sind nicht alle Debian-Entwickler von den Abkürzungen begeistert, die Ubuntu im Namen des Pragmatismus nimmt, während Debian vielleicht nach tragfähigeren, aber aufwendigeren Lösungen suchen würde. Ubuntu fühlt sich auch nicht im selben Maße der Idee der freien Software verpflichtet. Während alle Infrastrukturwerkzeuge von Debian (etwa das Verwaltungssystem für Fehlerberichte) als freie Software zur Verfügung stehen, ist das bei den Werkzeugen von Ubuntu nicht immer der Fall.

Ubuntu möchte nicht nur ein attraktives Desktop-System anbieten, sondern auch im Server-Bereich mit den etablierten Systemen wie RHEL oder SLES von SUSE/Red Hat konkurrieren und stabile Distributionen mit langem Lebenszyklus und guter Wartung bereitstellen. Es ist nicht klar, wie Canonical Ltd. auf lange Sicht Geld verdienen will. Vorerst wird das Projekt vor allem aus der Schatulle von Mark Shuttleworth unterstützt, dessen Vermögen durch den Verkauf seiner Internet-Zertifizierungsstelle Thawte an Verisign gewachsen ist.

2.4.6 Andere

Neben den bereits genannten Distributionen gibt es noch viele weitere. Zu den kleineren Konkurrenten von Red Hat und SUSE zählen etwa Mandriva Linux (http://www.mandriva.com/en/linux/) oder Turbolinux (http://www.turbolinux.com/). Gentoo Linux (http://www.gentoo.org/) ist eine Distribution, die den Fokus auf den Quellcode legt. Außerdem gibt es zahlreiche „Live-Systeme” für verschiedene Zwecke, von der Firewall bis hin zur Spiele- oder Multimedia-Plattform. Darüber hinaus existieren sehr kompakte Systeme, die als Router, Firewall oder Rettungssystem einsetzbar sind.

Erwähnenswert ist vielleicht Android, das man mit etwas Wohlwollen als „Linux-Distribution“ ansehen kann, einfach aufgrund der Anzahl der „installierten Systeme“. Android besteht aus einem Linux-Betriebssystemkern mit einer von Google entwickelten Benutzerumgebung auf Basis von Googles Version von Java („Dalvik”) anstelle der üblichen, auf GNU, X, KDE usw. basierenden Benutzerumgebung, die die Grundlage der meisten „normalen” Distributionen bildet. Ein Android-Smartphone oder -Tablet präsentiert sich dem Benutzer also völlig anders als ein typischer Linux-PC unter openSUSE oder Debian GNU/Linux, ist aber dennoch im Grunde ein Linux-System.

💡 Während die meisten Android-Anwender ihr System vorinstalliert auf dem Telefon oder Tablet kaufen und dann nicht mehr ändern, ist es bei den meisten Android-basierten Geräten durchaus möglich (notfalls mit Tricks), eine alternative Android-„Distribution” zu installieren, von denen es inzwischen auch etliche gibt. Für viele Geräte ist das die einzige Möglichkeit, aktualisierte Android-Versionen zu erhalten, wenn der Gerätehersteller oder der Telefondienstanbieter es nicht für nötig halten, eine offizielle neue Version zu veröffentlichen.

2.4.7 Unterschiede und Gemeinsamkeiten

Obwohl es eine große Anzahl an Distributionen gibt, verhalten sich zumindest die „großen” Distributionen in der täglichen Arbeit recht ähnlich. Das liegt einerseits daran, dass sie die gleichen grundlegenden Programme benutzen – beispielsweise ist der Kommandozeileninterpreter fast immer die Bash. Zum anderen gibt es Standards, die dem Wildwuchs entgegenwirken sollen. Zu nennen sind hier der Filesystem Hierarchy Standard (FHS) und die Linux Standard Base (LSB). Letztere versucht, eine einheitliche „Basisversion“ von Linux zu definieren und die Versionsstände von Werkzeugen und Bibliotheken festzuschreiben. So finden es Drittanbieter leichter, ihre Software für eine Vielzahl von Linux-Distributionen zu vertreiben.

💡 Leider war die LSB nicht der durchschlagende Erfolg, mit dem man ursprünglich gerechnet hatte. Oft wurde sie missverstanden als Ansatz, die Innovation in Linux zu verlangsamen oder zu stoppen und die Diversität zu verringern. Dabei ist es in den meisten Distributionen möglich, eine LSB-Umgebung parallel und unabhängig von der eigentlichen Umgebung für distributionseigene Software zur Verfügung zu stellen. Die eigentlich angesprochenen Software-Drittanbieter Es ist unter dem Strich eher so, dass sie ihre Pakete für die wichtigen „Enterprise-Distributionen” wie RHEL und SLES zertifizieren und nur diesen Plattformen Unterstützung gewähren. Es ist also absolut nicht ausgeschlossen, dass SAP oder Oracle zum Beispiel auch auf Debian GNU/Linux laufen (oder zum Laufen zu bringen sind), aber die Kosten für große kommerzielle Softwarepakete wie diese sind so hoch, dass die Lizenzgebühren für RHEL oder SLES keinen merkbaren Unterschied im Gesamtbild machen.

Ein merkbarer Unterschied zwischen den Distributionen ist die Methode, mit der Softwarepakete verwaltet, also installiert und deinstalliert werden, und daraus resultierend das Dateiformat der fertigen Pakete in der Distribution. Hier gibt es derzeit zwei konkurrierende Ansätze: den von Debian GNU/Linux („deb”) und den ursprünglich von Red Hat entwickelten („rpm”). Wie üblich ist keiner der beiden dem anderen eindeutig überlegen, aber jeder hat Alleinstellungsmerkmale genug, damit seine Anhänger nicht ohne weiteres bereit sind, umzusatteln. Der DEB-Ansatz wird von Debian GNU/Linux, Ubuntu und anderen Debian-Ablegern verwendet, während Red Hat, SUSE und diverse andere, davon abgeleitete Distributionen auf RPM setzen.

💡 Beiden Ansätzen gemein ist eine umfassende Verwaltung von „Abhängigkeiten” zwischen Softwarepaketen. Diese hilft dabei, die Konsistenz des Systems zu sichern, und verhindert beispielsweise das Entfernen von Softwarepaketen, auf deren Anwesenheit sich andere Pakete im System verlassen (oder umgekehrt deren Installation erzwingt, wenn ein anderes Paket, das gerade installiert wird, sie benötigt und sie nicht schon vorhanden sind).

💡 Während Windows- und OS-X-Anwender es gewohnt sind, sich Software aus den verschiedensten Quellen zusammenzusuchen6, versuchen zumindest die „großen” Distributionen wie Debian, openSUSE oder Ubuntu, ihren Benutzern eine möglichst umfassende Softwareauswahl direkt über die Paketverwaltungswerkzeuge zur Verfügung zu stellen. Diese erlauben den Zugriff auf „Repositories”, also Paketlagerstätten der Distributionen, und gestatten beispielsweise eine mehr oder weniger komfortable Suche nach bestimmten Softwarepaketen. Diese können dann bequem – gegebenenfalls mit ihren Abhängigkeiten – über das Netz installiert werden.

Wichtig ist, anzumerken, dass es nicht möglich ist, Pakete zwischen Distributionen auszutauschen, selbst wenn diese dasselbe Paketformat (Debian-Pakete oder RPM-Pakete) verwenden. In den Paketen stecken nämlich diverse Annahmen darüber, wie eine Distribution aufgebaut ist, die weit über das Paketformat hinausgehen. Völlig ausgeschlossen ist es nicht – Debian GNU/Linux und Ubuntu sind zum Beispiel ähnlich genug, sodass es unter Umständen möglich ist, ein für Debian gedachtes Paket auf einem Ubuntu-System zu installieren oder umgekehrt –, aber als Faustregel gilt: Je tiefer ein Paket im System verankert ist, desto größer ist die Gefahr eines Misserfolgs. Ein Paket, das nur ein paar ausführbare Programme und ihre Dokumentation mitbringt, wirft weniger Probleme auf als ein Systemdienst, der in die Startsequenz integriert werden muss. Lassen Sie im Zweifelsfall die Finger von Experimenten mit ungewissem Ausgang.

Tabelle 2.1 bietet eine Übersicht der wichtigsten Linux-Distributionen. Für weitere Informationen empfehlen wir Ihnen, auf DistroWatch oder die Webseiten der einzelnen Distributionen zu schauen..

Tabelle 2.1: Vergleich der wichtigsten Linux-Distributionen (Stand: Februar 2012)

2.5 Zusammenfassung

  • Die erste Version von Linux wurde von Linus Torvalds entwickelt und als „freie Software” im Internet zur Verfügung gestellt. Heute arbeiten Hunderte von Entwicklern weltweit an der Aktualisierung und Erweiterung des Systems mit.

  • Freie Software erlaubt Anwendern den Einsatz zu beliebigen Zwecken, die Einsichtnahme in den Code und dessen Veränderung sowie die Weitergabe originalgetreuer oder modifizierter Versionen.

  • Lizenzen für freie Software geben dem Empfänger der Software Rechte, die er sonst nicht hätte. Lizenzverträge für proprietäre Software hingegen versuchen, den Empfänger zum Verzicht auf diese Rechte zu bewegen.

  • Die GPL ist eine der populärsten Lizenzen für freie Software.

  • Andere gängige Lizenzen für freie Software sind die BSD-Lizenz, die Apache-Lizenz oder die Mozilla Public License. Creative-Commons-Lizenzen sind für andere Kulturgüter als Software gedacht.

  • Es gibt eine große Auswahl freier und Open-Source-Programme für die unterschiedlichsten Anwendungen.

  • Es gibt sehr viele verschiedene Linux-Distributionen. Zu den bekanntesten gehören Red Hat Enterprise Linux und Fedora, SUSE Linux Enterprise Server und openSUSE sowie Debian GNU/Linux und Ubuntu.

2.6 Literaturverzeichnis

GPL-Urteil06 Landgericht Frankfurt am Main. »Urteil 2-6 0 224/06«, Juli 2006. http://www.jbb.de/urteil_lg_frankfurt_gpl.pdf

GPL91 Free Software Foundation, Inc. »GNU General Public License, Version 2«, Juni 1991. http://www.gnu.org/licenses/gpl.html

TD01 Linus Torvalds, David Diamond (Hg.) Just for Fun: Wie ein Freak die Computerwelt revolutionierte. Hanser Fachbuch, 2001. ISBN 3-446-21684-7.


  1. Linus Torvalds ist ethnischer Finne (im September 2010 nahm er die US-amerikanische Staatsbürgerschaft an), aber Angehöriger der schwedischsprachigen Minderheit. Darum hat er einen aussprechbaren Namen. 

  2. BSD stand damals noch nicht frei zur Verfügung; Linus sagte einmal, dass er, wenn es BSD schon gegeben hätte, nie mit Linux angefangen hätte. 

  3. »GNU« ist eine »rekursive« Abkürzung für GNU’s Not Unix. 

  4. Die Free Software Foundation, Stallmans Stiftung zur Förderung freier Software, nennt das free as in speech, not as in beer, also »frei wie freie Rede, nicht wie Freibier«. 

  5. Zum Beispiel könnten Sie Ihren Schäflein das aktuelle Ubuntu als »Windows-8-Beta« unterschieben … 

  6. Wobei Apple und auch Microsoft derzeit vehement dabei sind, das von Smartphones bekannte Konzept des zentralen »App Stores« auch in ihren PC-Betriebssystemen zu etablieren.