GNU und Linux — Grundlagen einer Revolution

Computer sind universelle Maschinen: Alles, was sie tun, wird durch Software bestimmt. Es sind letzten Endes Spannungsmuster im Arbeitsspeicher des Computers, endlose Folgen von »Eins« und »Null«, von »Spannung ist da« und »Spannung ist nicht da«, die von der zentralen Prozessoreinheit als Anweisungen interpretiert werden. Aber schon von »Anweisungen« oder »Interpretation« zu sprechen, ist eigentlich ein kognitiver Trick. Tatsächlich sorgen die Spannungspegel an bestimmten Stellen der Maschine lediglich dafür, dass wiederum an anderen Stellen Schalter umklappen und Strom fließt oder kein Strom fließt. Aus endlosen Wiederholungen dieses Prinzips ist alles andere aufgebaut — und zwar in Form so vieler übereinander liegender, aufeinander aufbauender Schichten, dass es heute wenig einzelne Menschen auf der Welt geben dürfte, die einen handelsüblichen PC durch alle diese Schichten hindurch verstehen. Man kann es auch mit den Worten eines IBM-Mitarbeiters ausdrücken, der bei der Einweihung einer neuen Großrechenanlage verkündete: »Also, zählen kann die Anlage zwar nur bis zwei — aber das kann sie unheimlich schnell.«

Damit ein Computer überhaupt etwas Sinnvolles tun kann, ist eine gewisse Grundsoftware erforderlich, die zum Beispiel dafür sorgt, dass der Prozessor Zugriff auf Tastatur und Maus bekommt, der Bildschirm zum Leben erwacht und eine Netzwerkverbindung aufgebaut werden kann. Diese Grundsoftware, man nennt sie das Betriebssystem, wird beim Einschalten des Rechners vom großen, aber langsamen Speicher der Festplatte in den kleinen, aber sehr viel schnelleren Arbeitsspeicher kopiert.

Auf der Software-Struktur, die das Betriebssystem bereitstellt, können dann die eigentlichen Anwendungsprogramme wie zum Beispiel ein Web-Browser oder ein Chat-Programm ausgeführt werden. In der Praxis verschwimmt allerdings die Unterscheidung zwischen Betriebssystem und Anwendungsprogrammen zunehmend. Wer ein Betriebssystem wie Microsoft Windows kauft — und man kann heute, wie wir noch sehen werden, beim Kauf eines PC in der Regel gar nicht vermeiden, Microsoft Windows zu kaufen —, der bekommt eine Software-Grundausstattung, in der die gängigsten Anwendungen wie zum Beispiel ein Web-Browser oder ein Abspielprogramm für Musikdateien bereits enthalten sind. Dem Käufer erscheint alle diese Software wie ein integraler Bestandteil des Geräts; nur gewisse Komponenten wie zum Beispiel ein Textverarbeitungsprogramm muss er noch nachträglich hinzufügen. Dass es bei allen diesen Bausteinen — bis hinunter zum eigentlichen Betriebssystem — überhaupt Wahlmöglichkeiten geben könnte, ist eine Einsicht, für die sowohl die Kunden als auch die Kartellämter lange Jahre gebraucht haben.

Programmierer schreiben ihre Programme — also zum Beispiel Betriebssysteme oder Anwendungssoftware — in besonderen, künstlichen Sprachen, den sogenannten Programmiersprachen. Beispiele dafür sind C, BASIC, LISP, COBOL oder Java. Die Anweisungen der Programmiersprache können aber nicht direkt von einem Computer ausgeführt werden; sie müssen zuerst in Folgen von Nullen und Einsen, also letztlich in Spannungspegel im Speicher des Computers, übersetzt werden. Diese Übersetzung selber wird wiederum von einem Programm durchgeführt, dem sogenannten Compiler. (Oft ist der Compiler in derselben Programmiersprache geschrieben, die er dann später übersetzt, was zu einem interessanten Henne-/Ei-Problem führt.)

Man nennt den Programmtext, den ein Programmierer zur Lösung eines bestimmten Problems schreibt, auch Quelltext (engl. source code). Die Zielsprache der Übersetzung ist die Maschinensprache des verwendeten Computers; das Produkt der Übersetzung nennt man ausführbares Programm (engl. object code, binary code oder executable code).

In diesem Sachverhalt liegt das technische Grundproblem, mit dem die Auseinandersetzung über den Status der Information ihren Anfang nahm. Es besteht in den folgenden zwei Punkten:

1. Ausführbare Programme — also endlose Folgen von Nullen und Einsen — sind für Menschen unverständlich und nicht beherrschbar (aus genau diesem Grund programmiert man in höheren Programmiersprachen und nicht direkt in Nullen und Einsen).

2. Es gibt keine Möglichkeit, die Maschinensprache in die Programmiersprache zurück zu übersetzen. Der Grund dafür ist, dass bei der Übersetzung in die Maschinensprache viel Information verloren geht: zum Beispiel Kommentare des Programmierers, die er in den Programmtext eingefügt hat, oder die sinngebenden Namen von Unterprogrammen und Variablen.

Wer heute ein Betriebssystem kauft, oder eine Anwendung wie zum Beispiel ein Textverarbeitungsprogramm, der bekommt vom Hersteller eine ausführbare Version des Programms. Der Quelltext hingegen, den man braucht, um die Wirkungsweise des Programms zu verstehen oder es zu verändern, ist in der Regel ein gut gehütetes Firmengeheimnis. Und selbst wenn er das nicht ist — viele Hersteller betrachten den Quelltext zumindest als ihr »intellektuelles Eigentum« und behalten sich das alleinige Recht vor, ihn zu verändern und weiterzuentwickeln.

Manche Programmierer sind damit nicht einverstanden.

Eine Frage der Ethik

In den siebziger und achtziger Jahren war das Artificial Intelligence Lab des Massachussetts Institute of Technology (MIT) eines der wichtigsten Zentren der Computertechnik. Es war auch eine Art Oase der Freaks: Die Programmierer, die sich untereinander »Hacker« nannten, leisteten ihre Pionierarbeit auf den frühen Großrechnersystemen in einer unkomplizierten, kooperativen, fast familiären Atmosphäre. Zahllose Programme wurden geschrieben, verändert, weiterentwickelt, und die Tatsache, dass jedem der Quelltext aller Programme zur Verfügung stand, war unabdingbar und selbstverständlich. Bisweilen nahm der Teamgeist auch drastische Formen an: Kam zum Beispiel ein Professor auf die Idee, eines der wenigen Terminals für sich allein zu beanspruchen und in seinem Büro einzuschließen, dann trat die Kunst des »lock hacking« in Aktion — mithilfe möglichst kreativer Methoden öffnete man das Schloss des Büros und führte das Terminal wieder der Allgemeinheit zu.

Einer dieser Hacker war Richard M. Stallman. Vielleicht mehr noch als für seine Kollegen war die Beschäftigung mit Computern für ihn zum Lebensinhalt geworden. Im Labor gab es — für den Fall, dass jemand bis spät in die Nacht durchprogrammierte — ein Bett, und Stallman war nicht nur der häufigste Benutzer dieses Betts, er hatte zeitweise gar keine Wohnung mehr außerhalb des Labors.

In den achtziger Jahren begannen sich die Verhältnisse zu verändern, zum Teil dadurch, dass viele der Hacker mit hohen Summen von der Industrie abgeworben wurden, zum Teil dadurch, dass proprietäre Software von außerhalb des MIT ins Labor gelangte. Zum Beispiel stiftete die Firma Xerox dem Labor einen der ersten modernen Laserdrucker, lieferte die Treibersoftware aber nur als ausführbares Programm mit. Als der Drucker Schwierigkeiten machte, versuchte Stallman, an den Quelltext des Treibers zu kommen, um ihn so abzuändern, dass er richtig mit den Rechnern des Labors zusammenarbeitete. Aber Xerox gab den Code nicht heraus.

Ein Kollege von Stallman an der Carnegie Mellon University hatte den Code allerdings bekommen, jedoch als Bestandteil eines besonderen Vertrages mit Xerox und unter der Auflage eines Non-Disclosure Agreements (NDA) — er durfte den Code nicht an Dritte weitergeben. Stallman erfuhr davon und besuchte den Kollegen bei der nächsten Gelegenheit. Er betrat sein Büro und fragte nach einer Kopie des Codes.

Wenn man Stallman heute davon erzählen hört, gewinnt man den Eindruck, dass dies der Moment war, der sein Leben verändern sollte. Der Kollege antwortete: »Ich habe versprochen, dir den Code nicht zu geben.«

Stallman war völlig perplex. Ohne ein Wort zu sagen, verließ er wütend das Büro. Er konnte es, wie er heute sagt, noch nicht gleich formulieren, aber mit der Zeit wurde ihm klar, was ihn an der Situation so empört hatte: Es war die Tatsache, dass ihm der Zugriff auf eine offenbar vorhandene und nützliche Information verweigert wurde, und nicht nur das: Jemand hatte sogar versprochen, weder mit ihm noch mit irgendjemandem sonst zu kooperieren.

Was Stallman erlebt hatte, war eine Folge dessen gewesen, dass die Computertechnik sich von einem Gegenstand der akademischen Forschung zu einem Wirtschaftszweig entwickelte und die Industrie sich anschickte, ihre eigenen Spielregeln zu etablieren. Viele Leute gerieten zu dieser Zeit in sehr ähnliche Situationen wie Stallman, aber was ihn von diesen anderen unterschied, war, dass er sich nicht darüber beruhigen konnte. Er kam zu dem Schluss, dass ein Konzept wie das Non-Disclosure Agreement schlicht unethisch sei und dass er, um nicht gezwungen zu sein, unter solchen Bedingungen zu arbeiten, vielleicht sogar seinen Beruf aufgeben müsse. Dann aber kam ihm die Idee, wie er Programmierer bleiben und doch seinem moralischen Anspruch gerecht werden könnte: Er würde selber ein Betriebssystem schreiben und es jedem, der es benutzen wollte, frei zur Verfügung stellen, so dass niemand mehr von irgendeiner Software-Firma abhängig wäre.

Wahrscheinlich trägt diese Geschichte Züge der Stilisierung. Stallmans Biograph, Sam Williams, hat festgestellt, dass weder Stallman noch sein damaliger Kollege an der Carnegie Mellon University sich an die Details des Gesprächs über die Druckersoftware erinnern können — einschließlich der Tatsache, ob das Gespräch überhaupt stattgefunden hat.[2]

Stallman begann jedenfalls, sein Betriebssystem zu programmieren, und zwar von Grund auf, einschließlich des Compilers und des Texteditors, die nötig waren, um den Rest des Systems überhaupt entwickeln zu können. Als Vorbild wählte er das bereits existierende Unix (»nicht mein ideales Betriebssystem, aber es ist nicht ganz schlecht«), und nannte sein eigenes System GNU, was für »GNU is Not Unix« steht — ein selbstreferentielles Akronym.[3]

Um zu verhindern, dass das MIT irgendwelche Rechte an seiner Software haben würde, ging Stallman schließlich im Jahr 1984 zu seinem Chef und erklärte seine Kündigung.

»Sind Sie da wirklich sicher?«

Stallman beharrte. Sein Chef hatte offenbar ein Gespür dafür, dass hier etwas Besonderes vorging, denn er nahm die Kündigung an und fragte dann weiter: »Wollen Sie Ihr Büro behalten?«

Verblüfft akzeptierte Stallman das Angebot. Das Labor am MIT wurde so für die nächsten Jahre zum Hauptquartier seiner Bewegung, obwohl er sowohl finanziell als auch rechtlich von der Universität unabhängig war. Als eine Art Dachorganisation gründete er die Free Software Foundation (FSF), die später als gemeinnütziger Verein anerkannt wurde. Seinen Lebensunterhalt bestritt Stallman — in Dingen des täglichen Lebens ohnehin recht anspruchslos — durch den Verkauf gebundener Handbücher sowie dadurch, dass er sich den Vertrieb seiner Software als Dienstleistung bezahlen ließ: »Schicken Sie mir 150 Dollar, und ich schicke Ihnen ein Magnetband mit meiner Software darauf.« In der Zeit vor der flächendeckenden Verbreitung des Internet ließ sich damit ein ausreichendes Einkommen erzielen, obwohl es jedem Benutzer natürlich freigestellt blieb, sich die Programme gegebenenfalls über andere Kanäle umsonst zu besorgen.

Vom Programmieren zum Asteroiden-Bergbau

Zu Beginn des GNU-Projekts schrieb Richard Stallman ein Manifest, um Mitstreiter zu gewinnen und für seine Idee zu werben.[4] Stallman erklärt darin, dass er es als seine moralische Pflicht betrachte, das GNU-System zu entwickeln, denn die »Goldene Regel« verlange, dass derjenige, dem ein Programm gefällt, es mit denen teilen müsse, denen es auch gefallen könnte. Es sei ihm daher unmöglich, ein Non-Disclosure Agreement oder eine Software-Lizenzvereinbarung zu unterschreiben. Um weiterhin Computer benutzen zu können, werde er einen Grundstock an freier Software zusammenstellen, der ihm erlaube, ohne jede Art von proprietärer Software auszukommen. Viele Programmierer seien bereit, ihm zu helfen, denn das Weitergeben von Programmen sei der fundamentale Akt der Freundschaft zwischen Programmierern.

Stallman fährt fort, indem er »einige leicht zu widerlegende Einwände gegen das GNU-Projekt« aufzählt. Der Kern dieser Einwände ist, dass dieses Modell unmöglich ökonomisch funktionieren könne, ja, dass die Programmierer, wenn sie ihre Programme verschenken, schlicht verhungern müssten. Stallmans Antwort auf diesen Einwand besteht aus drei Teilen.

Erstens, so führt er aus, sei natürlich niemand gezwungen, Programmierer zu sein: »Die meisten von uns sind nicht in der Lage, Geld zu verdienen, indem sie sich an irgendeine Straßenecke stellen und Grimassen schneiden. Das heißt aber nicht, dass wir darum dazu verdammt sind, uns an Straßenecken zu stellen, Grimassen zu schneiden und zu verhungern. Wir machen etwas anderes.«

Den Einwand, dass ohne finanziellen Anreiz aber niemand mehr programmieren würde, lässt Stallman nicht gelten: »Programmieren übt auf manche Menschen eine unwiderstehliche Faszination aus, üblicherweise auf die, die es am besten können. Es gibt [auch] keinen Mangel an professionellen Musikern, [...] obwohl die wenigsten von ihnen hoffen können, damit je ihren Lebensunterhalt zu verdienen.«

Zweitens aber stimme die implizite Annahme des Fragenden nicht, nämlich dass ein Programmierer niemals auch nur einen Cent verdienen könne, wenn er sich nicht das Recht bezahlen lässt, seine Software zu benutzen. Andere Modelle seien vorstellbar, wenn man nur nach ihnen suche: Programmierer könnten beispielsweise Benutzerberatung anbieten, oder ganz allgemein Dienstleistungen im Zusammenhang mit der Software (Unterricht, Installation, Wartung etc.). Die Entwicklung neuer Systeme könnte durch Interessengruppen finanziert werden, deren Mitglieder Beiträge bezahlen, die dann eigens engagierten Programmierern als Arbeitslohn zukommen. Auch eine Software-Steuer sei vorstellbar, die dann auf einzelne Programmierer bzw. Unternehmen umgelegt würde. Benutzer könnten aber auch von sich aus beschließen, bestimmte Projekte zu unterstützen, etwa weil sie die Resultate nach ihrer Fertigstellung verwenden wollen. Diese Beträge ließen sich dann von der Steuer absetzen.

Letzten Endes jedoch, und damit beschließt Stallman sein Manifest, gehe es um eine viel größere Perspektive. Er schreibt: »Programme frei zu machen ist langfristig ein Schritt in Richtung einer Welt ohne Ressourcenknappheit, wo niemand besonders hart arbeiten müssen wird, nur um seinen Lebensunterhalt zu verdienen. Die Menschen werden die Freiheit haben, sich mit Dingen zu beschäftigen, die Spaß machen, zum Beispiel Programmieren, nachdem sie die nötigen zehn Stunden pro Woche mit unumgänglichen Arbeiten verbracht haben wie Gesetzgebung, Familienberatung, Reparatur von Robotern und Asteroiden-Bergbau. Es wird nicht nötig sein, dass man vom Programmieren leben kann.«

Freie Software und die GPL

Stallman führte für sein Betriebssystem den Begriff Freie Software ein (engl. free software).[5] Der Begriff war von Anfang an als eine politische Idee gedacht. Freie Software, so definierte Stallman, ist Software, die dem Benutzer bestimmte Freiheiten gibt. Im einzelnen sind das die folgenden (sie werden, wie unter Programmierern üblich, bei null beginnend durchnummeriert):

Freiheit Nr. 0 Die Freiheit, das Programm auszuführen, jederzeit, zu jedem Zweck.

Freiheit Nr. 1 Die Freiheit, das Programm zu verändern, um es den eigenen Bedürfnissen anzupassen (Zugriff auf den Quelltext ist eine Voraussetzung dafür).

Freiheit Nr. 2 Die Freiheit, das Programm weiterzugeben, »um seinem Nachbarn zu helfen«.

Freiheit Nr. 3 Die Freiheit, auch veränderte Versionen des Programms weiterzugeben.

Der Ausdruck »Freie Software« legte allerdings auch den Grund für ein sehr hartnäckiges Missverständnis, und das insbesondere auf Englisch: Gemeint ist nicht, dass die Software »umsonst« wäre, »frei« im Sinne von »gratis«, oder dass »Freie Software« nichts mit Geschäft, Broterwerb oder Ökonomie zu tun hätte. Zwar ist es in aller Regel tatsächlich so, dass man Freie Software kostenlos bekommen kann, aber schon Stallmans Beispiel des Vertriebs von Magnetbändern zeigt, dass eine Vielzahl von kommerziellen Geschäftsmodellen um die Freie Software herum vorstellbar ist. (Tatsächlich funktioniert heute ein nicht unerheblicher Teil der Software-Industrie nach ganz ähnlichen Prinzipien.)

Als Eselsbrücke, um die beiden Bedeutungen von »frei« auseinander zu halten, hat sich das englische »Think of free speech, not free beer« eingebürgert. Natürlich war es nur eine Frage der Zeit, bis ein paar freundliche Spaßvögel das zum Anlass nahmen, »Freies Bier« herzustellen, also ein Bier, das nicht etwa umsonst ist, sondern dessen Rezept frei verfügbar ist.[6]

Das Gegenteil von »Freier Software« ist damit nicht etwa »kommerzielle Software«, sondern vielmehr Software, für die eine oder mehrere der oben genannten Freiheiten nicht gelten. Man spricht dann von »unfreier Software« oder »proprietärer Software«, d.h. Software, die einen »Eigentümer« hat, dessen alleiniger Kontrolle sie unterworfen ist.

Um den rechtlichen Status der Programme des GNU-Projekts zu schützen, entwickelte Stallman außerdem eine besondere Lizenz, die General Public License (GPL).[7] Die GPL gibt dem Benutzer eines Programms die vier oben genannten Freiheiten, aber sie geht noch einen Schritt weiter: Sie verlangt außerdem, dass weiterentwickelte Versionen des Programms, oder davon abgeleitete, neue Programme, ebenfalls unter der GPL lizenziert werden müssen.

Durch diese Klausel wird die Lizenz von einer bloß passiven Erklärung von Freiheitsrechten zu einem politischen Instrument. Sie bewirkt, dass Unternehmen den unter GPL lizenzierten Code nicht in ihre proprietären Produkte einbauen können, sondern dass sie im Gegenteil dazu ermuntert (oder gezwungen) werden, ihren eigenen Code ebenfalls als Freie Software zu veröffentlichen. Das Ziel, das Stallman damit erklärtermaßen verfolgt, ist, das Konzept der proprietären, unfreien Software vollständig abzuschaffen.

Das Urheberrecht wird hier also gewissermaßen zur Waffe gegen sich selbst umgeschmiedet. Stallman spricht daher auch humorvoll von Copyleft, also einem umgekehrten Copyright. Es ist eine Art formalisierter Ausdruck eines Prinzips, das auch unter dem Namen »Share-And-Share-Alike« bekannt ist, also in etwa: »Ich teile mit dir, teile du auch mit mir.«

Kritiker argumentieren, dass Freie Software unter der GPL also gar nicht wirklich »frei« sei, weil immerhin eines ausdrücklich verboten ist — die Software nämlich »unfrei« zu machen. Manche sehen hier einen sich selbst widersprechenden Radikalismus am Werk. Andere halten dagegen, dass es nur recht und billig sei, wenn jemand, der etwas der Allgemeinheit zur Verfügung stellt, nicht möchte, dass sein Beitrag in proprietären Produkten verschwindet. Als Folge dieser Auseinandersetzung sind auch andere, »permissivere« Lizenzmodelle entwickelt worden, die gerade auf den Copyleft-Aspekt verzichten. Am einfachsten liegt die Sache bei sogenannter Public-Domain-Software, worunter man Software versteht, für die keinerlei Urheberrecht geltend gemacht wird, also auch keine Lizenz erforderlich ist. Um rechtliche Probleme zu umgehen (in Deutschland beispielsweise kann ein Autor auf das Urheberrecht gar nicht verzichten), werden allerdings in der Regel ausdrückliche Lizenzen verwendet, die jede Art von Verwendung der Software erlauben, aber zum Beispiel die Haftung des Autors für Fehlfunktion ausschließen (ob solch eine Klausel rechtlich wirksam ist, steht wiederum auf einem anderen Blatt). Es sind insbesondere große Konzerne, die solche Software inzwischen gerne als Technologie-Pool verwenden, aus dem sie sich nach Belieben für ihre eigenen Produkte bedienen.

Nichtsdestoweniger ist heute die GPL die in Freien Software Projekten mit Abstand am meisten verwendete Lizenz.

Just for fun

Im Lauf der achtziger Jahre stellten Richard Stallman und einige andere Programmierer einen Großteil des GNU-Systems fertig. Die Programme, die dabei entstanden, brachten es in der Fachwelt zu hohem Ansehen: Sie waren technisch besser als ihre Gegenstücke aus den proprietären Unix-Varianten etwa von AT&T, Sun Microsystems oder Hewlett-Packard. Was noch fehlte, war der sogenannte Kern des Betriebssystems (engl. kernel). Der Kern ist die zentrale Schaltstelle in einem Betriebssystem, ein eigenes, sehr komplexes Programm, das die übrige Software, die auf dem Computer läuft, verwaltet und ausführt. Ohne einen eigenen Kern war der bereits funktionierende Teil des GNU-Systems gewissermaßen noch ein Luftschloss und konnte nur auf einem der schon existierenden, proprietären Unix-Systeme ausgeführt werden.

Das änderte sich, als der finnische Student Linus Torvalds im Jahr 1991 einen eigenen Kern schrieb. Torvalds, damals Anfang zwanzig, brauchte diesen Kern für Experimente mit Betriebssystemen und entwickelte ihn, wie er heute sagt, just for fun.[8] Um ein vollständiges Betriebssystem zu bekommen, bediente er sich bei den frei verfügbaren Programmen des GNU-Projekts, hatte aber selber keinerlei Beziehung zu GNU oder zur FSF. In Anlehnung an seinen Vornamen gab er dem Kern den Namen Linux und veröffentlichte ihn unter der General Public License (GPL), um ihn der Allgemeinheit zur Verfügung zu stellen. (Die Verwendung der GPL war eine eher beiläufige Entscheidung, Torvalds verfolgte mit seiner Arbeit keine politische Agenda.)

Damit war die kritische Masse erreicht. Zum ersten Mal war es möglich, einen Computer vollständig mit Freier Software zu betreiben. Zudem hatte Torvalds seinen Kern für die Intel x86-er Architektur geschrieben, d.h. für gewöhnliche, handelsübliche PCs. Für diese Architektur hatte es bis dahin nur unbedeutende, proprietäre Unix-Varianten gegeben, nun aber existierte eine Alternative zum ansonsten marktbeherrschenden Betriebssystem Windows von Microsoft — wenngleich zunächst, und noch für etliche Jahre, nur technisch versierte Programmierer etwas mit dem neuen Betriebssystem anfangen konnten.

Linux erfreute sich dennoch steigender Beliebtheit unter Eingeweihten, und schließlich wurde das GNU-Projekt darauf aufmerksam. Richard Stallman zeigte sich irritiert. Jemand anders schien die Initiative übernommen zu haben und hatte das GNU-System zu einem vollständigen Betriebssystem gemacht. Was Stallman daran besonders kränkte, war, dass sich auch der griffige Name »Linux« für das System allgemein durchgesetzt hatte, wobei völlig unter den Tisch fiel, dass dieses neue Betriebssystem zum größten Teil aus den Programmen des GNU-Projekts bestand. Der Linux-Kern machte darin nur einen vergleichsweise kleinen, wenn auch entscheidenden Bestandteil aus. Ganz abgesehen von der fehlenden Anerkennung für die technische Leistung des GNU-Projekts, sah Stallman vor allem die Gefahr, dass die politischen Ideen, um deren Willen er das Projekt begonnen hatte, in Vergessenheit geraten könnten. Er forderte darum öffentlich, dass das System umbenannt werden müsse. Sein Vorschlag, Lignux, wurde von der inzwischen recht großen Fangemeinde jedoch nur mit Gelächter beantwortet. Linus Torvalds erklärte, dass ihm der Name des Systems gar nicht so wichtig sei — und letztlich blieb alles beim Alten. Stallman besteht seinerseits darauf, das System GNU/Linux zu nennen, aber diese Sprachregelung hat sich in der breiten Öffentlichkeit, die das Betriebssystem inzwischen genießt, nicht durchsetzen können.

Die Bestandteile eines GNU/Linux-Systems stammen inzwischen aus sehr vielen verschiedenen Projekten. Viele davon stehen unter der General Public License der Free Software Foundation, viele aber auch unter anderen, weniger politisch gefärbten Lizenzmodellen. Die eigentliche Software des GNU-Projekts stellt darunter nicht mehr den mengenmäßig größten Anteil dar, ist aber nach wie vor der größte Einzelbeitrag zum Gesamtsystem. Das GNU-Projekt hat inzwischen auch einen eigenen Betriebssystem-Kern unter dem Namen Hurd veröffentlicht, der aber kaum praktische Bedeutung hat.

In der Öffentlichkeit gilt Linus Torvalds als der Schöpfer von »Linux«, obwohl er selbst durchaus betont, dass er nur einen kleinen Teil beigesteuert hat und dass er auch in seinem eigenen Teilsystem, dem Linux-Kern, vor allem die Arbeit vieler anderer Programmierer koordiniert hat.

Public Relations

Eine weitere prominente Figur in der Szene ist Eric S. Raymond. Bereits seit den achtziger Jahren hatte er bei Projekten im Umfeld des GNU-Systems mitgearbeitet und sich einen Namen als fähiger Programmierer gemacht. Allerdings war er zunehmend uneins mit Richard Stallmans radikalen politischen Ansichten. Wie viele andere Programmierer betrachtete er das Schreiben Freier Programme nicht als eine moralische Verpflichtung, sondern war vielmehr fasziniert von der Möglichkeit, über das Internet mit hunderten von Kollegen zusammenzuarbeiten. Er verfolgte den Siegeszug des Linux-Kerns und fand, dass er vor allem dadurch zu erklären war, dass Torvalds die neuen Kommunikationsmöglichkeiten des Internet viel stärker ausgenutzt hatte als Stallman im GNU-Projekt. Während die GNU-Programmierer vergleichsweise hinter verschlossenen Türen an ihrem Code arbeiteten, um nach zum Teil erheblicher Wartezeit einer staunenden Außenwelt ihre Ergebnisse zu präsentieren, hatte Torvalds seinen Linux-Kern fast sofort veröffentlicht. Mit seinem umgänglichen Charakter und kommunikativen Talent hatte er es geschafft, schnell eine große Menge von Partnern im Netz zu finden, und arbeitete mit diesen Leuten intensiv zusammen. Oft wurden an einem einzigen Tag mehrere neue Versionen des Linux-Kerns veröffentlicht.

Raymond fand, dass dieses Modell der hochgradig dezentralen Kommunikation zu besseren technischen Ergebnissen führte als das zentralisierte Entwicklungsmodell, wie es etwa die großen Software-Konzerne betreiben — ganz davon abgesehen, dass es einfach mehr Spaß machte. Da Raymond die Konzerne nicht als moralische Gegner betrachtete, versuchte er sich vorzustellen, wie man das freie Entwicklungsmodell in die Geschäftswelt tragen könnte, um damit Geld, möglicherweise sogar viel Geld zu verdienen.

In der zweiten Hälfte der neunziger Jahre nahm Raymond gewissermaßen die Rolle des Public-Relations-Experten der Bewegung an und versuchte, die großen Konzerne dafür zu interessieren. Die Firma Netscape war die erste, die darauf ansprang. Durch den »Browser-Krieg« gegen den Giganten Microsoft und dessen Internet Explorer zermürbt, war die Geschäftsleitung offen für Raymonds Ideen und entschloss sich im Jahr 1998, den Quelltext ihres Browsers offen zu legen. Man hoffte, dass Massen von Programmierern sich aus den Tiefen des Internet darauf stürzen und das Produkt in ungeahnte technische Höhen katapultieren würden.

Die Signalwirkung dieser Entscheidung innerhalb der Computer-Industrie war nicht zu unterschätzen. Es zeichnete sich ab, dass Freie Software durchaus ein ernstzunehmendes Geschäftsmodell sein konnte. Raymond sprach dramatisch von einem »Schuss, der auf der ganzen Welt zu hören war«.

Auf den technischen Ertrag des Projektes musste man freilich eine ganze Weile warten. Die unabhängigen Programmierer ließen keinen Stein auf dem anderen und schrieben den Browser praktisch von Grund auf neu. Sie verwendeten dabei den bisherigen, Netscape-internen Codenamen des Projekts, Mozilla. Erst im Sommer 2002 erschien die offizielle Version 1.0 dieses Browsers, der wiederum von Netscape unter dem Namen Netscape 7.0 vermarktet wurde. Mozilla unterschied sich von Microsofts Internet Explorer vor allem dadurch, dass der Browser die Standards des World Wide Web Consortiums (W3C) in vorbildlicher Weise einhielt, wogegen der Internet Explorer dafür bekannt war und ist, diese Standards regelmäßig zu ignorieren und so einen Microsoft-spezifischen De-facto Standard zu schaffen.

Mozilla war jedoch im Lauf der Entwicklung zu einem recht großen und schwerfälligen Programm geworden. Erst als man aus dem Mozilla-System einen neuen, bewusst klein und schlank gehaltenen Browser herauslöste, begann dessen Siegeszug. Der neue Browser erhielt den Namen Firefox und wurde mit großem Enthusiasmus von Freiwilligen aus der Szene verbreitet. Das Echo davon drang bis in die Mainstream-Medien, so dass der Name Firefox heute den meisten Computerbenutzern ein Begriff ist. Der Marktanteil von Firefox, gemessen an der Zahl der Besucher auf bestimmten Websites, liegt heute (Januar 2006) bei etwa 15-25%. Die ungebrochene Dominanz des Internet Explorer (70-80%) erklärt sich vor allem dadurch, dass dieser Browser von vornherein zum Windows-Betriebssystem gehört, während Firefox vom Benutzer selbstständig heruntergeladen und installiert werden muss.[9]

Open Source

Die Vorgänge im Umfeld der Netscape-Entscheidung von 1998 hatten dazu geführt, dass sich eine Gruppe von prominenten Vertretern der Szene formierte, die für eine verstärkte Zusammenarbeit mit der Industrie eintraten. Zu ihnen gehörten neben Eric Raymond auch der Verleger Tim O'Reilly und der Programmierer Bruce Perens. Stallman hingegen wurde von der Gruppe mehr oder weniger bewusst gemieden. Man hatte den Eindruck, dass sein moralistischer Anspruch und die Betonung der Idee der Freiheit bei Verhandlungen mit Geschäftsleuten nicht gut ankamen. Es schien an der Zeit, der Bewegung ein anderes Gesicht zu geben. Bei einer Art Gipfeltreffen, zu dem Tim O'Reilly eingeladen hatte, kam man überein, den Begriff »Freie Software« durch das weniger verfängliche »Open Source« zu ersetzen und rief die »Open Source Bewegung« ins Leben.[10]

Der unmittelbare Erfolg schien die Idee zu bestätigen. Schnell setzte sich der Begriff »Open Source« in weiten Teilen der Programmierer-Szene und in der Öffentlichkeit durch. In der Industrie ist »Open Source« heute ein fest etablierter Begriff, während der Ausdruck »Freie Software« in vielen Fällen auf Unverständnis stößt.

Es überrascht nicht, dass Richard Stallman mit diesem Namenswechsel nicht einverstanden ist. Er betont, dass der Begriff »Open Source« eine völlig andere Agenda hat als die Freie Software Bewegung, die er begründete. Der Fokus der Open Source Bewegung liegt darauf, technisch möglichst gute Software herzustellen, und sie argumentiert, dass der dezentrale, offene Entwicklungsprozess im Internet der beste Weg dazu ist. Die Lizenzmodelle, so heißt es, müssten jedoch den ökonomischen Realitäten Rechnung tragen. So findet Raymond beispielsweise nichts dabei, selber auch proprietäre Software zu schreiben oder mit proprietären Projekten oder Produkten zu kooperieren. Auf lange Sicht werde sich das Open Source Modell ohnehin evolutionär durchsetzen.

Stallman erklärt dagegen, dass der Gedanke der Freiheit oberste Priorität hat: Die Abhängigkeit der Benutzer von den Software-Herstellern soll gebrochen werden; wegen eben dieser Abhängigkeit ist es moralisch verwerflich, Quelltexte geheim zu halten, anstatt sie der Menschheit zur Verfügung zu stellen. Die eigene, Freie Software muss daher auch keineswegs technisch besser sein als die proprietären Produkte — wenn sie das ist, dann ist das ein schöner Nebeneffekt, aber die Hauptsache ist, dass es Freie Software ist.

Stallman betrachtet die Open Source Bewegung daher als eine separate Bewegung, mit der er sich nicht identifiziert. Er betont ferner, dass es sich hierbei nicht um eine »klassische« Spaltung in einen realpolitischen und einen fundamentalistischen Flügel handelt. Er schreibt:

»Radikale Gruppen der sechziger Jahre hatten den Ruf der Spalterei: Organisationen brachen auseinander wegen Meinungsverschiedenheiten in strategischen Details und hassten einander dann. Sie stimmten in den grundlegenden Prinzipien überein und widersprachen sich nur in den praktischen Empfehlungen, aber sie betrachteten sich als Feinde und bekämpften sich bis aufs Messer. Das ist zumindest das Bild, das man heute von ihnen hat, ob es nun korrekt ist oder nicht.

Das Verhältnis zwischen der Freien Software Bewegung und der Open Source Bewegung ist gerade das Gegenteil davon. Wir sind in den grundlegenden Prinzipien uneins, aber haben mehr oder weniger dieselben praktischen Empfehlungen. Also können wir in vielen konkreten Projekten zusammenarbeiten, und tun das auch. Wir betrachten die Open Source Bewegung nicht als Feind. Der Feind ist die proprietäre Software.«[11]

Die Kathedrale und der Basar

Abgesehen von seinen Verbindungen zur Industrie ist Eric Raymond auch bekannt geworden durch seine Essays. Die bekanntesten von ihnen sind The Cathedral and the Bazaar und Homesteading the Noosphere (etwa: »Die Besiedelung des Reichs der Ideen«).[12] Raymond versucht darin, historisch und konzeptionell aufzuarbeiten, was er die »Hacker-Kultur« nennt, also die Szene der über das Internet kooperierenden Programmierer, aus denen unter anderem die GNU/Linux-Bewegung hervorgegangen ist. Wie funktioniert diese Subkultur? Was motiviert ihre Anhänger? Warum ist sie so erfolgreich?

Der Ausdruck »Hacker« weckt in der Öffentlichkeit unbehagliche Assoziationen. Man stellt sich darunter hochbegabte Computerfreaks vor, die in Großrechnersysteme von Banken, Versicherungen und der NASA einbrechen und Chaos verbreiten. Die Hacker-Kultur, die Raymond beschreibt, distanziert sich von diesen Dingen nachdrücklich und möchte für solche Einbrecher lieber das Wort »Cracker« verwendet wissen. Der Ausdruck »Hacker« ist demgegenüber ein Ehrentitel. Er steht für jemanden, der vom Programmieren fasziniert ist und dem es Spaß macht, gut darin zu sein. Anders als die oft aus der Illegalität operierenden, destruktiven »Cracker« arbeiten die »Hacker« konstruktiv und sind stolz darauf, neue, bessere, auch benutzerfreundlichere Systeme zu bauen.

In Homesteading the Noosphere stellt Raymond die These auf, dass die Hacker-Kultur, obwohl scheinbar völlig offen und unorganisiert bis zur Anarchie, in Wirklichkeit einem strengen, unausgesprochenen Verhaltenskodex folgt.[13] So gibt es in fast jedem Projekt einen eindeutig festgelegten Projektleiter oder Moderator, der die letzte Entscheidungsgewalt darüber hat, welche Änderungen in das Projekt übernommen werden, welche neuen Funktionen hinzugefügt werden und welche nicht. Er ist es, der das Projekt nach außen repräsentiert und der in der Regel auch entscheidet, wann eine neue Version der Software veröffentlicht wird. Der Führungsstil des Projektleiters ist eine Frage seiner Persönlichkeit, er kann von autoritär bis integrativ reichen und muss sich dadurch bewähren, dass es ihm gelingt, ein Team von Freiwilligen um sich zu versammeln und unter ihnen als Autorität akzeptiert zu werden. Oft ist der Projektleiter der ursprüngliche Autor der Software, der mit der Zeit eine Gruppe von Interessierten um das Projekt herum aufgebaut hat. Die Position des Projektleiters kann jedoch auch wechseln; in der Regel ist das ein Vorgang, der in wechselseitigem Einvernehmen geschehen muss und der sorgsam dokumentiert und bekannt gegeben wird, um die Autorität des neuen Projektleiters zu etablieren. »Wenn du das Interesse an einem Projekt verlierst, ist deine letzte Pflicht, es einem kompetenten Nachfolger zu übergeben«, schreibt Raymond.

Programmierer, die von außen an das Projekt herantreten, können in der Regel nicht einfach so »mitmachen«. Zu Beginn reichen sie meist einzelne, kleinere Änderungsvorschläge ein, die dann von einem Programmierer aus dem engeren Kreis geprüft und gegebenenfalls in den eigentlichen Programmcode eingefügt werden. Arbeitet ein Außenstehender längere Zeit mit und erwirbt er das Vertrauen der anderen Projektmitglieder, dann wird ihm schließlich der Schreibzugriff auf die zentrale Version des Programmcodes freigeschaltet, so dass er selbstständig Änderungen einfügen kann. Der »Neuling« muss sich bis dahin so in die Arbeitsprozesse des Teams eingewöhnt haben, dass er ein Gefühl dafür hat, welche Änderungen er in eigener Initiative durchführen kann und welche vorher im Team diskutiert werden müssen. Sämtliche Änderungen werden außerdem automatisch protokolliert und können bei Bedarf rückgängig gemacht werden, wobei es jedoch praktikabler und zeitsparender ist, strittige Punkte vorher zu klären.

Die Zuständigkeiten und Rechte in einem Projekt gründen sich, wie Raymond schreibt, auf das Prinzip »Autorität folgt Verantwortung«. Ein Programmierer wird nur dann beispielsweise den Schreibzugriff bekommen oder über den weiteren Verlauf des Projektes mitbestimmen können, wenn er nicht nur gute Ideen hat und technische Kompetenz beweist, sondern sich auch um weniger beliebte Arbeiten wie Fehlersuche und Dokumentation kümmert und sich an der Kommunikation mit den Benutzern des Projekts in den Mailinglisten und Diskussionsforen beteiligt.

Kommt es zu Meinungsverschiedenheiten, sollen diese nach Möglichkeit einvernehmlich geregelt werden. Ob dies gelingt, hängt zu großen Teilen von der sozialen Kompetenz und dem diplomatischen Geschick des Projektleiters ab. Schlägt die Einigung fehl, dann ziehen sich einzelne Programmierer möglicherweise aus dem Projekt zurück, schlimmstenfalls aber droht eine Spaltung des Projekts, im Englischen »fork«, also »Gabelung« genannt. Eine Fraktion der Programmierer, die mit dem Verlauf des Projekts nicht einverstanden ist, nimmt sich bei einem »fork« den Code und beginnt mit ihm ein neues, oft ähnlich benanntes Projekt nach den eigenen Vorstellungen. Rechtlich gesehen ist das natürlich jederzeit möglich (es ist eine der Grundvoraussetzungen der Freien Software), faktisch aber besteht ein starker sozialer Druck dagegen, weil ein »fork« meistens zu inkompatiblen Software-Versionen führt, schlimmstenfalls die Zahl der zur Verfügung stehenden Programmierer halbiert und viel zusätzliche Arbeit verursacht. Die wenigen »forks«, die es in prominenten Projekten der Szene über die Jahre gegeben hat, sind allen Beteiligten in bitterer Erinnerung. Manchmal allerdings ist ein »fork« auch die einzige Möglichkeit, einen überfälligen Generationswechsel herbeizuführen oder einen inkompetenten Projektleiter abzulösen. Die Entscheidung wird dann meist dadurch bestätigt, dass sich fast alle Benutzer spontan dem neuen Projekt zuwenden und das alte schnell an Bedeutung verliert.

Raymond schließt aus diesen unausgesprochenen Verhaltensregeln, dass die Programmierer, ohne es sich vielleicht einzugestehen, vom Streben nach sozialer Anerkennung motiviert sind. Durch ihre Arbeit können sie sich innerhalb der Szene und bei den Benutzern einen Ruf erwerben. Als Beleg für diese Theorie führt Raymond an, dass die Liste der Namen derjenigen, die an einem Projekt mitgearbeitet haben, mit sehr großer Sorgfalt behandelt wird — sie ist gewissermaßen das Allerheiligste eines Projekts, und einen Namen aus dieser Liste herauszulöschen, wäre ein Sakrileg.

Eine Erklärung für diese Struktur, so Raymond, könnte in dem aus der Soziologie und Ethnologie bekannten Phänomen der Schenkkulturen (engl. gift cultures) bestehen. In einer Schenkkultur definiert sich der soziale Status nicht durch das, was man besitzt, sondern vielmehr durch das, was man verschenkt. Man findet solche Schenkkulturen z.B. auf tropischen Inseln, wo wegen günstiger klimatischer Bedingungen keinerlei Ressourcenknappheit herrscht. Aber auch manche Schichten der westlichen Gesellschaften funktionieren so, denkt man etwa an das Showgeschäft oder allgemein an Schichten mit sehr hohem Wohlstand.

Es steht zu vermuten, dass sich auch eine Bewegung wie die GNU/Linux-Gemeinschaft so erklären lässt: In den westlichen Gesellschaften, zumal bei deren technischen Eliten, ist möglicherweise ein Grad des Wohlstandes erreicht, der die traditionellen Modelle von Karriere und Besitzstandswahrung obsolet werden lässt, so dass sich stattdessen auch hier eine Art Schenkkultur herausbildet.

Trolltech und das Qt-Problem

Konfrontationen zwischen der GNU/Linux-Bewegung und anderen Modellen der Software-Entwicklung sind keine Seltenheit. Der Verlauf solcher Konflikte verrät eine Menge über den inneren Zusammenhalt und die Prinzipientreue der Bewegung, oft sehr zur Überraschung auch eingeweihter Beobachter.

Einer der ersten dieser Konflikte entstand um das Jahr 1998 im Rahmen des KDE-Projektes. KDE verfolgt das Ziel, GNU/Linux mit einer grafischen Oberfläche auszustatten, die der von Microsoft Windows oder auch MacOS vergleichbar ist. (Unix-Systeme verfügten lange Jahre nur über sehr rudimentäre grafische Schnittstellen, die Nicht-Fachleuten kaum zuzumuten waren.) Eine entscheidende Komponente von KDE ist die Qt-Bibliothek, ein Software-Paket, das grafische Elemente wie Schaltflächen, Menüs und Eingabefelder bereitstellt. Qt war von der norwegischen Firma Trolltech entwickelt worden, und zwar als proprietäres Produkt für die Windows- und Mac-Welt. Trolltech versprach sich vom Einsatz unter GNU/Linux eine zusätzliche Verbreitung der Software, und so wurde Qt den KDE-Entwicklern unter einer besonderen Lizenz umsonst zur Verfügung gestellt. Die Lizenz funktionierte nach dem Prinzip »Angucken, aber nicht Anfassen«: Zwar war der Quelltext für die KDE-Entwickler zugänglich, aber Trolltech behielt sich unter anderem das alleinige Recht vor, neue Versionen der Bibliothek herauszubringen.

Qt war also keine Freie Software, und darüber kam es zum Streit. Enthusiastische KDE-Entwickler verwiesen auf die technischen Vorteile von Qt, zu denen es damals keine Alternative in der Freien Software Szene gab. Außerdem könne man Qt schließlich umsonst benutzen und den Quelltext einsehen, und das hielten viele für ausreichend. Oft war auch der Vorwurf zu hören, dass man ein gutes Projekt nicht durch unsinnige Lizenzstreitigkeiten gefährden dürfe. Andere bestanden jedoch darauf, dass Qt eben keine Freie Software sei und dass es darum nicht einmal erlaubt sei, die KDE-Programme (die unter der GPL lizenziert waren) überhaupt mit der Qt-Bibliothek zu verbinden. Als Folge entstanden zwei neue Projekte: Eines, unter dem Namen Harmony, begann damit, die Qt-Bibliothek vollständig nachzubauen, um sie schließlich unter der GPL zu veröffentlichen. Ein anderes Projekt, genannt GNOME, sollte eine völlig neue grafische Oberfläche entwickeln, die ohne Qt auskam und zum offiziellen Desktop für das GNU-System werden sollte. Einige der FSF nahestehende GNU/Linux-Anbieter begannen bereits damit, KDE vollständig aus ihrem Angebot zu entfernen.

Besonders die Entscheidung für das GNOME-Projekt wurde wiederum scharf kritisiert, denn man fürchtete, das Erscheinungsbild von GNU/Linux würde damit uneinheitlich werden, ganz abgesehen von dem doppelten Aufwand, den eine solche Parallelentwicklung bedeuten würde. Nichtsdestoweniger machten beide Projekte schnell Fortschritte, und die Firma Trolltech sah sich bald zum Einlenken gezwungen, wollte sie ihren Status innerhalb der GNU/Linux-Szene nicht völlig verlieren. Die Qt-Lizenz wurde in mehreren Schritten zu einer echten Freien Software Lizenz abgeändert und mit der GPL kompatibel gemacht. Das Harmony-Projekt war damit überflüssig und wurde eingestellt. KDE wurde als gleichberechtigte Oberfläche auch in FSF-nahe GNU/Linux-Varianten aufgenommen, gleichzeitig aber wurde die Entwicklung von GNOME weiter betrieben. Im Ergebnis gibt es heute zwei grafische Oberflächen für GNU/Linux-Systeme, nämlich KDE und GNOME, die einander im Funktionsumfang weitgehend gleichen. Viele Programme und Komponenten sind zwischen den Oberflächen ohne weiteres austauschbar.

Das BitKeeper-Debakel

Ein ähnlicher Konflikt, aber mit signifikant anderem Ausgang, ergab sich in jüngerer Zeit um die Versionsverwaltung des Linux-Kerns. Unter einer »Versionsverwaltung« versteht man ein System, das aufzeichnet, wer wann welche Änderung am Code eines Projekts gemacht hat und warum. Man benötigt dafür ein eigenes, sehr komplexes Programm, das die Aktivitäten zahlreicher, meist über mehrere Kontinente und Zeitzonen verteilter Entwickler koordinieren muss. Gerade die Entwicklung des Linux-Kerns ist in dieser Hinsicht besonders anspruchsvoll, weil es sich um eines der prominentesten und aktivsten Freien Software Projekte handelt.

Etwa um das Jahr 2002 zeigte sich, dass Linus Torvalds mit den bis dahin existierenden, freien Werkzeugen zur Versionsverwaltung seiner Aufgabe nicht mehr gerecht werden konnte. Es waren einfach zu viele Änderungsvorschläge und Weiterentwicklungen, die bei ihm eingereicht wurden und die er zu integrieren hatte. Torvalds entschied sich darum, ein System namens BitKeeper zu nutzen, das von Larry McVoy, selber einem Mitglied des Linux-Teams, entwickelt worden war. BitKeeper wird als ein proprietäres, also kostenpflichtiges und geschlossenes System vertrieben, was McVoy damit begründete, dass er ohne Lizenzgebühren die Entwicklung nicht hätte finanzieren können. Für das Linux-Projekt würde er allerdings eine Ausnahme machen und das System kostenlos zur Verfügung stellen.

Die Entscheidung führte zu einem Aufschrei in der Szene. Besonders Richard Stallman kritisierte heftig, ein freies Projekt, und noch dazu ein so prominentes wie den Linux-Kern, in irgendeiner Weise von unfreier Software abhängig zu machen. Auch viele Linux-Entwickler zeigten sich irritiert. Torvalds hingegen argumentierte, dass es kein anderes, freies System gäbe, das dieselbe Aufgabe erfüllen könnte. Und tatsächlich hatte sich seine Produktivität, gemessen an der Zahl der Änderungen, die er in den Linux-Kern integrieren konnte, nach dem Umstieg mehr als verdoppelt.

Aber die »Ehe« hielt nur drei Jahre. Andere Entwickler waren nach wie vor unzufrieden damit, von einem proprietären System abhängig zu sein. Schließlich begann einer von ihnen damit, durch reverse-engineering das Datenformat von BitKeeper zu bestimmen und es in einem freien Programm nachzubauen. Das wiederum betrachtete McVoy als klaren Regelverstoß: »Ihr könnt gerne mit mir in Konkurrenz treten, aber nicht als Trittbrettfahrer. Löst die Probleme selber, und konkurriert ehrlich. Konkurriert nicht, indem ihr euch meine Lösung anguckt.«[14]

Es kam zu keiner Einigung, und so zog Larry McVoy schließlich sein Angebot der kostenlosen BitKeeper-Nutzung zurück. Das Linux-Team musste sich nach einer anderen Versionsverwaltung umsehen, und Richard Stallman veröffentlichte einen Artikel, in dem er seine ablehnende Haltung in allen Punkten bestätigt sah: »Zum ersten Mal in meinem Leben möchte ich mich bei Larry McVoy bedanken.«[15]

Kleine Distributionskunde

Weltweit gibt es heute mehrere zehntausend Freie Software Projekte, von denen viele auf eigens eingerichteten Serverfarmen wie sourceforge.net beheimatet sind. Die Grundsoftware, die man für ein funktionierendes GNU/Linux-System braucht, stammt aus einigen hundert dieser Projekte. Es ist darum ein eigener Arbeitsschritt erforderlich, um diese Bausteine so auszuwählen und zusammenzufügen, dass ein vollständiges, benutzbares System entsteht. Man nennt ein solches Paket aller relevanten Software eine Distribution. Zahlreiche Projekte und Unternehmen haben sich die Zusammenstellung, die Pflege und den Vertrieb solcher Distributionen zur Aufgabe gemacht; sie sind es, über die ein Anwender mit GNU/Linux in Berührung kommt. Zu den bekanntesten gehören Red Hat, SuSE und Mandriva (ehemals Mandrake). Hinter ihnen stehen kommerzielle Unternehmen, die das gebündelte GNU/Linux auf CD-ROM bzw. DVD verkaufen, einschließlich entsprechender Dokumentation und dem Angebot einer Kunden-Hotline.

Eine Sonderstellung nimmt die Distribution des Debian-Projekts ein, weil sie ausschließlich von Freiwilligen zusammengestellt und betreut wird, insofern also vielleicht am deutlichsten dem Geist der Bewegung entspricht. Debian ist eine der wenigen Distributionen, die durchgehend die Bezeichnung »GNU/Linux« (statt einfach »Linux«) verwendet; das Projekt verfügt außerdem über sehr strenge Richtlinien, welche Software aufgenommen werden darf und welche nicht (die meisten anderen Distributionen fügen auch proprietäre, closed-source Software hinzu).

Debian gilt jedoch gleichzeitig als recht technisch orientiert und für Laien wenig geeignet. Die Ubuntu-Distribution ist in jüngerer Zeit angetreten, um diesen Mangel zu beheben. Das Projekt wird von dem südafrikanischen Unternehmer Mark Shuttleworth gesponsert, der bereits durch seinen Touristen-Flug zur Internationalen Raumstation von sich reden machte. Ubuntu basiert auf der Infrastruktur des Debian-Projekts und wird heute oft als die am leichtesten zu installierende und benutzerfreundlichste GNU/Linux-Variante genannt.

Stimmen aus dem Imperium

»Erst ignorieren sie dich, dann lachen sie dich aus, dann bekämpfen sie dich, und dann gewinnst du.« — Dieser Ausspruch von Gandhi, der vielen Graswurzelbewegungen ins Stammbuch geschrieben wurde, zeigt auch eine gewisse Gültigkeit für die GNU/Linux-Bewegung und ihre Auseinandersetzung mit den proprietären Software-Giganten, allen voran die Firma Microsoft.

Allerdings nicht unbedingt in der angegebenen Reihenfolge. Schon als »Micro-Soft« (damals noch in anderer Schreibweise) im Jahr 1975 gegründet wurde, hatte sich Bill Gates mit der Szene der Hacker auseinander zu setzen, die Software als ein Allgemeingut betrachteten und Programme mit großer Selbstverständlichkeit untereinander kopierten. In einem heute berühmten »Offenen Brief an die Hobbyisten« versuchte Bill Gates sich bereits 1976 von dieser Idee abzugrenzen. Er schreibt darin: »Wer kann es sich leisten, professionelle Arbeit umsonst zu tun? Welcher Hobbyist kann drei Mann-Jahre ins Programmieren stecken, alle Fehler finden, sein Produkt dokumentieren und es dann umsonst weggeben?«[16]

Die Sätze finden sich heute, kommentarlos, auf dem Umschlag von Stallmans Biographie.

Es sollte über zwei Jahrzehnte dauern, bis die Szene der freien Programmierer wieder auf dem Radarschirm des Unternehmens erschien, das inzwischen zu einem Weltkonzern geworden war. Nach außen hin wurde das GNU/Linux-Phänomen lange Zeit keiner Erwähnung für nötig befunden, aber eine Microsoft-interne Studie zeigte, dass man sich sehr wohl damit auseinander setzte. Das Memorandum wurde im Oktober 1998 Eric Raymond zugespielt, der es unter dem Namen »Halloween-Dokument« veröffentlichte und kommentierte.[17]

Die Studie war, wie sich später belegen ließ, tatsächlich für ranghohe Microsoft-Manager geschrieben worden. Der Verfasser räumte darin ein, dass die Open Source Bewegung eine reale Bedrohung für den Konzern darstellte und dass die Qualität dieser Software proprietären Produkten gleichkam oder sie sogar übertraf. Besonders viel Potential habe GNU/Linux dann, wenn die Kommunikation zwischen Rechnern und Programmen nach unabhängigen, weltweit vereinbarten Standards abliefe. Als Gegenmaßnahme empfahl der Verfasser darum recht unverhohlen, dass Microsoft seine Marktmacht ausnutzen sollte, um solche Standards zu untergraben. Man sollte zum Schein auf sie einschwenken, um dann eigene, proprietäre Zusätze hineinzubringen, so dass nur noch Microsoft-Produkte mit diesen erweiterten »Standards« funktionieren würden. »De-commoditizing« hieß dieses Vorgehen im Microsoft-Sprachgebrauch. Eine andere Formel, die ebenfalls intern bei Microsoft geprägt und dann von der unabhängigen Fachwelt übernommen wurde, ist sprechender: »Embrace, Extend, Extinguish«, also etwa: »Mitmachen, Erweitern, Auslöschen«.

Als auf dem Höhepunkt des Dot-com Booms im Jahr 2000 die Open Source Idee salonfähig geworden war, musste sich Microsoft auch öffentlich mit der Bewegung auseinander setzen. Unrühmlich in die Geschichte eingegangen ist die Äußerung von Vizepräsident Jim Allchin, der am 14. Februar 2001 bekanntgab: »Ich bin Amerikaner, ich glaube an den Amerikanischen Weg. Es erfüllt mich mit Sorge, wenn die Regierung Open Source Projekte unterstützt, und ich glaube nicht, dass wir unsere Politiker gut genug unterrichtet haben, so dass sie die Bedrohung verstehen.«[18]

Allchin bezog sich darin auf Projekte, in denen Software für US-amerikanische Behörden oder das Militär auf Open Source Basis entwickelt wurde, finanziert durch Steuergelder. Mit der »Bedrohung« meinte er offenbar das Copyleft-Prinzip der GPL, also die Tatsache, dass ein Unternehmen GPL-Software nur dann in eigene Produkte einbauen darf, wenn diese Produkte dann selber unter der GPL veröffentlicht werden.

Dass Allchin dies als »unamerikanisch« hinzustellen versuchte, löste freilich nur allgemeines Kopfschütteln aus. Im Juni desselben Jahres war es Microsoft-CEO Steve Ballmer, der noch einmal nachlegte:

»Unter dem Gesichtspunkt des intellektuellen Eigentums ist Linux ein Krebsgeschwür, das alles infiziert, womit es in Berührung kommt.«[19]

In weiten Teilen der Industrie hatte sich jedoch inzwischen die Überzeugung durchgesetzt, dass die freie Verfügbarkeit des Quelltextes große Vorteile brachte, vor allem auf dem Gebiet der Software-Sicherheit. Je mehr unabhängige Beobachter das Innenleben eines Programms untersuchen können, desto größer die Wahrscheinlichkeit, dass auch hartnäckige Fehler und Sicherheitslücken gefunden werden. Auch das Vertrauen der Benutzer in die Software steigt, wenn sich auf diese Weise belegen lässt, dass die Programme keine versteckten Hintertüren enthalten. Gerade dieser letzte Punkt war es, der besonders Regierungen und andere öffentliche Stellen zunehmend misstrauisch dagegen machte, dass ihre gesamte software-technische Infrastruktur von einer einzigen amerikanischen Firma stammte und man der Software wie einer black box vertrauen musste.

Microsoft entschloss sich darum zu einer Art Appeasement-Politik. In einer groß inszenierten Rede vor der Stern School of Business an der New York University kündigte Microsoft-Chefdenker Craig Mundie ein »Shared Source« Programm an, das die genannten Einwände ausräumen sollte. Ausgewählte Teile des Windows-Betriebssystems würden zur öffentlichen Kontrolle freigegeben, wobei sich Microsoft aber sämtliche Rechte an dem Code vorbehielt.

Es war das übliche »Angucken, aber nicht Anfassen«. Bruce Perens, einer der Mitbegründer der Open Source Initiative, setzte sich dafür ein, dass Microsoft eine klare und eindeutige Antwort aus der Szene bekommen würde. Mit viel Diplomatie gelang es ihm, ein Dokument zu verfassen, das sowohl von Richard Stallman als auch Eric Raymond, Linus Torvalds und noch einigen anderen unterschrieben wurde. Es heißt darin:

»Wir verbuchen einen neuen Triumph für Open Source und Freie Software: Wir sind ein so ernsthafter Konkurrent für Microsoft geworden, dass ihre Manager öffentlich bekanntgeben, dass sie Angst haben. Die einzige Bedrohung, die wir für Microsoft darstellen, ist jedoch das Ende der monopolistischen Geschäftspraktiken. Microsoft ist eingeladen, sich als ein gleichberechtigter Partner zu beteiligen, eine Rolle, in der sich heute viele befinden, von Individuen bis hin zu transnationalen Unternehmen wie IBM und HP. Gleichberechtigung ist aber nicht das, wonach Microsoft sucht [...] Sie hoffen, den Nutzen der Freien Software zu bekommen, ohne diesen Nutzen mit denen zu teilen, die daran mitarbeiten, ihn herzustellen. [...] Microsoft, es ist Zeit, mit uns zusammenzuarbeiten.«[20]

Der Kampf um den Desktop

Als sogenanntes Desktop-System, also bei Arbeitsplatzrechnern und privaten Computern, hat GNU/Linux zwar an Einfluss gewonnen, aber sich noch nicht nennenswert durchsetzen können. Studien, die zum Beispiel auf Besucherzahlen bei bestimmten Websites beruhen, sehen das Betriebssystem seit mehreren Jahren relativ konstant bei einem weltweiten Benutzeranteil von 3% — fast derselbe Wert, den auch MacOS von Apple erreicht, während die übrigen 94% auf Windows entfallen. Zwar sind solche Statistiken immer mit viel Vorsicht zu genießen, aber unbestritten dürfte zumindest die Aussage sein, dass sowohl GNU/Linux als auch MacOS im einstelligen Prozentbereich liegen, und Microsoft nahe bei 90%.

Der Grund für diese ungebrochene Microsoft-Dominanz dürfte vor allem in der Monopol-Politik des Konzerns liegen. Hersteller, die Windows mit ihren PCs ausliefern wollen, werden von Microsoft dazu verpflichtet, ausschließlich Windows anzubieten (einschließlich des Aufklebers »Designed for Windows« auf dem Gehäuse). Das Betriebssystem, das mit 50-100 Euro im Endpreis zu Buche schlägt, ist also aus Sicht der Kunden integraler Bestandteil des Geräts.

Die so erreichte Markt-Dominanz erhält sich dann selbst aufrecht: Hersteller von Peripheriegeräten wie Druckern oder Grafik-Karten betrachten ihre Arbeit oft als erledigt, wenn sie ihrem Produkt eine CD-ROM mit einem Windows-Treiber beilegen können. Das wäre noch nicht weiter tragisch, da die freie Programmierer-Szene in der Regel sehr schnell bei der Hand ist, entsprechende Treiber für GNU/Linux-Systeme zu bauen. Möglich ist das allerdings nur, wenn der Hersteller die Spezifikation seines Produktes offen legt, so dass die freien Programmierer Zugang zu den technischen Details haben. Gerade das haben viele große Hersteller in der Vergangenheit immer wieder mit den erstaunlichsten Argumenten verweigert. Erst langsam beginnen die Firmen zu begreifen, dass GNU/Linux-Treiber (die sie oft noch nicht einmal selber entwickeln müssen) ihrem Geschäft eher förderlich sind als schaden. In der Praxis werden heute alle gängigen PC-Komponenten von GNU/Linux unterstützt; Probleme gibt es nur noch gelegentlich bei sehr neuen Entwicklungen, die erst seit wenigen Wochen oder Monaten auf dem Markt sind und deren Hersteller nicht mit der freien Entwickler-Szene zusammenarbeiten.

Ein weiterer Grund für die Microsoft-Dominanz auf dem Desktop sind schließlich die proprietären Dateiformate, allen voran das der Textverarbeitung Word. Die Struktur solcher .doc-Dateien ist hoch komplex und wird von Microsoft nicht offiziell bekannt gegeben — zum Teil wohl deshalb, weil das Unternehmen selber nicht über eine vollständige Spezifikation des Formates verfügt. Faktisch ist es allein dadurch definiert, dass das Programm Microsoft Word, ein über Jahrzehnte gewachsener Moloch aus Millionen Programmzeilen, solche Dateien lesen und schreiben kann. Es hat darum lange Jahre gedauert, bis freie Programmierer das Format durch Ausprobieren so weit analysiert hatten, dass sie ihre eigenen Textverarbeitungsprogramme damit kompatibel machen konnten.

Technische Gründe, warum die Benutzer, insbesondere Laien, auf Windows angewiesen wären, werden darum zusehends bedeutungslos. Die grafischen Oberflächen moderner GNU/Linux-Systeme, basierend auf GNOME oder KDE, sind der von Microsoft Windows äquivalent und entsprechend intuitiv zu bedienen. Für das, was die meisten Benutzer üblicherweise mit ihren Rechnern tun — Surfen im Web, E-Mail, Chat sowie das Verfassen von Texten — gibt es entsprechende Anwendungssoftware, die der unter Windows mindestens ebenbürtig ist: Der Web-Browser Firefox, die E-Mail-Programme Thunderbird oder Evolution, der Instant Messenger Gaim sowie der Office-Suite OpenOffice.org, der von Textverarbeitung über Tabellenkalkulation bis zu Präsentationssoftware alle Komponenten enthält, die Microsoft Office ebenfalls anbietet, und zudem in der Lage ist, Dateien auch in den Microsoft-Formaten zu lesen und zu erzeugen.

Auch jenseits dieser Standard-Programme gibt es kaum eine Aufgabe, für die nicht entsprechende Freie Software existierte, sei das Bildbearbeitung, Finanzbuchhaltung, Videoschnitt, 3D-Modellierung oder Astronomie.

Eine veränderte Welt

Die Schwierigkeiten, Microsoft die Monopolstellung auf dem Desktop-Markt streitig zu machen, dürfen nicht darüber hinwegtäuschen, dass sich die Software-Industrie durch die Ideen von Freier Software und Open Source längst grundlegend gewandelt hat. Es sind vor allem die Computer hinter den Kulissen, zum Beispiel bei Banken und Versicherungen, aber auch die Server des World Wide Web, die inzwischen zu einem signifikanten Anteil mit Freier Software funktionieren. So werden seit einigen Jahren schon mehr als 60% aller Websites durch den freien Webserver Apache realisiert. In der Szene der Web-Anbieter hat sich inzwischen das Kürzel »LAMP« etabliert, was für »Linux, Apache, MySQL, Perl« steht und die typische Technologiepalette bezeichnet, mit der viele Websites programmiert werden. Alle diese Komponenten sind Freie Software.

Auch wenn es um ganze Betriebssysteme geht, ist das proprietäre Modell auf dem Rückzug. Die Firma Sun Microsystems, derzeit Marktführer bei kommerziellen Unix-Systemen, hat im Jahr 2006 ihr komplettes Betriebssystem Solaris unter einer Open Source Lizenz veröffentlicht, um die Vorteile des offenen Entwicklungsprozesses zu nutzen (ihren Umsatz erzielt die Firma Sun vornehmlich durch den Verkauf von Hardware und durch Support-Verträge mit großen Kunden, nicht aber durch die Lizenzierung von Software). Auch Apple, neben GNU/Linux der einzige Konkurrent für Microsoft auf dem Desktop-Markt, hat zumindest das Fundament des Betriebssystems MacOS durch Freie Software ersetzt, nämlich durch das nicht ganz so weit verbreitete, aber »liberal« lizenzierte BSD-Unix. Auch mehrere wichtige Anwendungsprogramme auf dem Macintosh, zum Beispiel der Web-Browser Safari, stammen inzwischen aus freien Projekten und werden von Apple in Zusammenarbeit mit der Szene weiterentwickelt. Lediglich das »Kronjuwel« des Apple-Betriebssystems, die hochwertige grafische Oberfläche, ist nach wie vor ein proprietäres Produkt.

Zumindest was die öffentliche Inszenierung betrifft, ist es jedoch der Branchenriese IBM gewesen, der die vielleicht deutlichste Hinwendung zu Freier Software und Open Source vollzogen hat. Im Januar 2001 erklärte IBM-Präsident Sam Palmisano das GNU/Linux-System zur Referenzplattform für alle zukünftigen Entwicklungen des Konzerns.[21] Man habe eingehende strategische Debatten geführt und sei zu dem Schluss gekommen, dass IBM nur durch Zusammenarbeit mit der weltweiten Programmierer-Szene in der Lage sein würde, den Herausforderungen der Zukunft zu begegnen. In der Folge investierte IBM dreistellige Millionenbeträge in den Aufbau entsprechenden Know-hows innerhalb des Konzerns sowie in die Umstellung der meisten eigenen Software-Produktlinien, um sie unter GNU/Linux einsetzen zu können. IBM tritt seither oft als Service-Dienstleister auf, der seinen Kunden das freie Betriebssystem »verkauft« — und zwar nicht die Software selbst, sondern das entsprechende Know-how und die technische Unterstützung. Ein prominentes Beispiel dafür sind die IT-Infrastrukturen mehrerer großer Unternehmen an der New Yorker Wallstreet, die unter der Leitung von IBM auf GNU/Linux umgestellt wurden. Manche IBM-Programmierer werden von dem Konzern auch dafür bezahlt, in freien Projekten mitzuarbeiten, und zwar natürlich in solchen, an denen das Unternehmen ein besonderes Interesse hat.

Obwohl IBM also mit einiger Überzeugungskraft als »Partner der Szene« auftritt, sind die Ziele und Geschäftsmodelle des Konzerns keineswegs mit denen der Bewegung deckungsgleich. Nach wie vor sind fast alle Software-Produkte, die IBM herstellt, proprietär und müssen vom Kunden mit sehr hohen Lizenzgebühren bezahlt werden — auch dann, wenn IBM sich relativ unverhohlen bei freien Projekten, die permissiv lizenziert sind, »bedient«, also Software aus dem freien Technologie-Pool abschöpft und in eigene Produkte einbaut, die dann proprietär, also ohne Quelltext, an die Kunden verkauft werden. Aus genau diesem Grund verwendet IBM in der Regel auch keinen Code, der unter der GPL lizenziert ist, weil das Copyleft-Prinzip genau dieses Vorgehen verbieten würde.

Auch andere Aspekte der Firmenpolitik von IBM stehen im Widerspruch zu Überzeugungen in der Szene. Dazu gehört beispielsweise das Engagement des Konzerns für eine neue Generation von Kopierschutztechniken, von denen in späteren Kapiteln dieses Buches die Rede sein wird.

Sei nicht böse

Ein anderer Konzern, der seinem Image zufolge eigentlich das Zeug zu einem Partner der Szene haben sollte, glänzt bislang durch eine fast auffällige Abwesenheit: Google.

»Don't be evil« — »sei nicht böse« war das Motto, mit dem Larry Page und Sergey Brin im Jahr 1996 ihr Unternehmen gründeten. Wegen der Unaufdringlichkeit seiner Suchmaschine schnell zum meistbesuchten Site des World Wide Web aufgestiegen, besitzt Google heute eine weltweit verteilte Infrastruktur von mehreren zehntausend Computern. Alle diese Computer laufen unter GNU/Linux — die technischen Einzelheiten sind jedoch geheim. Darin besteht denn auch der Hauptkritikpunkt der Freien Software Bewegung an dem Unternehmen, nämlich dass der Konzern zwar von den Errungenschaften der Szene profitiert, aber nur sehr wenig an sie zurückgegeben hat. Auch die Anwendungsprogramme, die Google in den letzten Jahren mit erstaunlicher Produktivität und Innovationskraft auf den Markt bringt (Google Mail, Google Desktop, Google Earth, um nur einige zu nennen) sind allesamt proprietäre Software, deren Quelltext nicht offen gelegt wird. Und es gibt noch einen weiteren Bereich, in dem Google keineswegs mit den Überzeugungen der Szene konform geht, so wie übrigens auch der IBM-Konzern nicht: die Frage der Patentierbarkeit von Software.

Der patentierte Mausclick

Es ist der Albtraum jedes unabhängigen Programmierers, dass ihm aus heiterem Himmel ein Brief auf den Tisch flattert, der ihn davon in Kenntnis setzt, dass seine Software ein obskures Patent verletzt, von dem er nie etwas gehört hat, und ihm daher ein Prozess oder exorbitante Lizenzgebühren drohen. Ein solcher Fall ereignete sich im Jahr 1994, als die Firma Unisys überraschend bekanntgab, ein Patent auf das weit verbreitete Grafikformat GIF (Graphics Interchange Format) zu besitzen.[22] Für Programme, die GIF-Bilder herstellen konnten, mussten nun Lizenzgebühren an Unisys bezahlt werden. Auch Betreiber von Websites, die GIF-Bilder lediglich verwendeten, hätten unter Umständen belangt werden können, und zwar dann, wenn sich nachweisen ließ, dass die Bilder von Programmen stammten, die nicht von Unisys lizenziert waren. Es kam zu einem Sturm des Protests. Mehrere Gruppen riefen dazu auf, dem GIF-Format den Rücken zu kehren und stattdessen frei verfügbare Formate wie JPEG oder PNG zu verwenden. Die Umstellung war keineswegs leicht, da GIF-Bilder einige Eigenschaften hatten, die nur von dem damals recht neuen Format PNG erreicht werden konnten. Es dauerte jedoch mehrere Jahre, bis die einschlägigen Web-Browser und Grafikprogramme das PNG-Format verlässlich unterstützten. Zwar sind die Patente auf GIF im Jahr 2004 ausgelaufen, aber die Affäre hat das Format nachhaltig in Misskredit gebracht und anderen Verfahren Vorschub geleistet.

Ob Software überhaupt patentiert werden kann oder sollte, ist umstritten. Bevor Software zu einem weltweiten Massenmarkt wurde, stellte man Computer-Programme mathematischen Formeln oder Algorithmen gleich und hielt sie als solche für nicht patentierbar. Das änderte sich im Laufe der achtziger Jahre zunächst schleichend, als vor allem das US-amerikanische Patentamt immer mehr faktische Software-Patente zuließ. Im Jahr 1995 wurde diese Praxis durch eine patentamtliche Richtlinie bestätigt, allerdings nie in einem Gesetz festgeschrieben. In der Europäischen Union, wo Software-Patente bislang ausdrücklich unzulässig sind, wird die Frage intensiv debattiert.

Die Schwierigkeiten bei Software-Patenten beginnen damit, dass die Einschätzung immaterieller Artefakte und Verfahren, wie es Computer-Programme sind, die Patentämter oft überfordert. Das gilt besonders dann, wenn sich die zugrundeliegende Technik so extrem schnell verändert wie in der IT-Branche. In der Folge sind häufig »Trivialpatente« vergeben worden, d.h. Patente für Verfahren, die von Programmierern im Zuge ihrer ganz gewöhnlichen Arbeit laufend neu »erfunden« werden. Die Electronic Frontier Foundation (EFF), eine der aktivsten Organisationen im Kampf gegen Software-Patente, hat eine Liste der zehn offensichtlichsten und aus ihrer Sicht damit gefährlichsten Trivialpatente zusammengestellt — zu ihnen gehört das Einkaufen per Mausclick, das Bezahlen im Internet per Kreditkarte und auch der Hyperlink.[23] Es ist diese Trivialität vieler Patente sowie die schier unüberschaubare Zahl existierender Patente überhaupt, die es einem Programmierer praktisch unmöglich machen, sicherzustellen, dass er keines davon verletzt. Software-Entwicklung wird damit zu einem Gang durch ein Minenfeld.

Es kommt hinzu, dass die Patente sich häufig nicht in den Händen der eigentlichen »Erfinder« befinden. Eine besondere Art von Geschäftemachern — die Szene nennt sie verächtlich »Patenthaie« — hat sich darauf spezialisiert, »schlafende« Patente aufzukaufen oder aber neue Patente so clever durch das Anerkennungsverfahren zu schleusen, dass die Behörden nicht bemerken, dass es längst existierende Technologien gibt, die ebenfalls unter das Patent fallen würden. Das Patent wird dann einige Jahre lang in der Schreibtischschublade aufbewahrt, bis die Idee sich möglichst weit verbreitet hat (oft, weil sie viele Male unabhängig neu »erfunden« wurde). Dann wird es durch gezielte Patentklagen zu Geld gemacht. Oft richten sich diese Klagen gegen kleine Unternehmen oder Privatpersonen, die sich keine teuren Anwälte leisten können. Auch dubiose Patente führen so manchmal zum »Erfolg«.

Die großen Mega-Corporations wie IBM, Microsoft oder Hewlett-Packard verfügen ihrerseits über tausende von Software-Patenten und halten ihre Forschungsabteilungen auch dazu an, offensiv neue Patente zu erwerben. Verwendet werden sie aber vor allem zur Abschreckung: sollte Konzern A auf die Idee kommen, Konzern B wegen einer Patentverletzung zu belangen, könnte Konzern B sofort mit einer Reihe von Gegenklagen kontern. Beide halten sich auf diese Weise durch ihre Patent-Portfolios wechselseitig in Schach. Ein kleines Unternehmen oder ein unabhängiger Programmierer hat diese Möglichkeit nicht. Es wäre darum ein Leichtes für die großen Konzerne, kleinere Mitbewerber durch gezielte Patentklagen auszuschalten.

Organisationen wie die FSF und die EFF kämpfen darum vehement gegen die Patentierbarkeit von Software. Im Europäischen Parlament erzielten sie im Jahr 2005 einen vorläufigen Erfolg, als eine entsprechende Novellierung des Patentrechts überraschend mit großer Mehrheit abgelehnt wurde. Das Europäische Parlament und die Europäische Kommission sind sich in dieser Frage jedoch nicht einig. Aktivisten befürchten, dass die Kommission versuchen könnte, die Interessen der Patent-Lobby auch am Widerstand des Parlaments vorbei durchzusetzen.[24]

Die Zukunft der GPL

Im Januar 2006 wurde eine öffentliche Debatte zur Ausarbeitung der nächsten Version der General Public License (GPL) begonnen. Da sie eines der Gründungsdokumente der Bewegung ist, und bis heute die meistverbreitete Lizenz für Freie Software überhaupt, kommt dieser Debatte einige Bedeutung zu. Obwohl sich am Prinzip der GPL nichts ändern wird, wirft die Debatte doch auch ein bezeichnendes Licht darauf, welches die Fragen sind, die in der Szene und darüber hinaus heute diskutiert werden.

Bereits die Form, in der diese Debatte stattfindet, ist vielsagend: Die erste Version der GPL hatte Stallman im Jahr 1989 noch völlig im Alleingang geschrieben, für die zweite Version von 1991 hatte er sich lediglich mit einigen Rechtsanwälten beraten. Für die neue Version 3 wurde hingegen ein öffentliches Verfahren vereinbart, bei dem hunderte von Vertretern der Szene wie auch der Industrie sich beteiligen. Außerdem soll sichergestellt sein, dass auch einzelne, nicht weiter organisierte Programmierer und Interessierte sich mit ihren Vorschlägen und Einwänden Gehör verschaffen können. Der Zeitraum für die Revision der Lizenz wurde auf ein Jahr festgesetzt; spätestens im Frühjahr 2007 soll die neue Version erscheinen. Mehrere internationale Konferenzen werden bis zu diesem Termin durchgeführt werden, um strittige Fragen zu diskutieren. Die letztgültige Entscheidung, welche Änderungen an der Lizenz gemacht werden, behält Stallman sich allerdings vor.

So sind beispielsweise Patent-Vergeltungs-Klauseln im Gespräch, um freie Programmierer vor Patentklagen zu schützen. Die Idee besteht darin, dass jemand, der einen Programmierer wegen einer Patentverletzung belangt, dadurch automatisch das Recht verlöre, die unter GPL lizenzierte Software selber einzusetzen.

Ein anderer Aspekt hat mit der Tatsache zu tun, dass Software immer häufiger über das World Wide Web eingesetzt wird. Das eigentliche Programm läuft in diesem Fall auf dem entfernten Rechner, der den Dienst zur Verfügung stellt, und wird im Browser des Benutzers nur optisch dargestellt. Der ausführbare Code wird also gar nicht »vertrieben« oder auf den Rechner des Benutzers heruntergeladen. Die neue GPL soll nun optionale Klauseln erlauben, die auch bei solcher Software verlangen, dass der Quelltext allgemein zugänglich zur Verfügung gestellt wird.

Um der zunehmenden Vielfalt der Szene Rechnung zu tragen, sind außerdem Änderungen geplant, die eine bessere Verträglichkeit der GPL mit anderen Lizenzen bewirken. Es ist heute aus geringfügigen, formulierungstechnischen Gründen oft nicht möglich, Code unter der GPL mit Code zu kombinieren, der unter einer anderen Lizenz veröffentlicht wurde. Diese Hürden sollen so weit minimiert werden, dass nur noch solche Fälle ausgeschlossen sind, die dem Geist der GPL widersprechen würden.

Der wichtigste, aber auch der am heftigsten diskutierte Änderungspunkt weist jedoch über die Software-Szene im engeren Sinne hinaus, mitten in das Zentrum der Auseinandersetzung, die heute zwischen den Giganten der Medienindustrie, der Politik und der Bevölkerung geführt wird. Es geht um das Digital Rights Management (DRM), worunter man alle Verfahren zusammenfasst, die dafür sorgen, dass ein Anbieter die unerwünschte Verbreitung der von ihm bereitgestellten Daten verhindern kann, sei das ein Musikstück, ein Film, der Text eines Buches oder auch ein Stück Software, etwa ein Computerspiel. DRM ist gewissermaßen die Weiterentwicklung des Kopierschutzes: Während ein klassischer Kopierschutz versucht, Daten an ein physisches Medium zu fesseln (etwa eine Audio-CD), geht DRM davon aus, dass die Daten zwar beweglich sind (etwa weil sie von einem Online-Musikdienst heruntergeladen werden), aber dass nur bestimmte Personen das Recht haben sollen, etwas mit den Daten anzufangen — die nämlich, die dafür bezahlt haben. Um das zu erreichen, werden kryptographische Verfahren, besondere Software und besondere Hardware eingesetzt, die dafür sorgen, dass beispielsweise nur bestimmte, einzelne Geräte ein Musikstück abspielen können oder dass die Daten nur für einen bestimmten Zeitraum »gültig« sind und sich danach selber »vernichten«, oder dass nur eine bestimmte Anzahl von Sicherungskopien der Daten angefertigt werden dürfen.

DRM ist also die Antwort der Industrie auf die Möglichkeit des freien Austauschs von Information. Es ist der Versuch, die technische Entwicklung wieder einzufangen, zu regulieren und zu kontrollieren. Offensichtlich sind die Ziele der Freien Software Bewegung, die auf der Idee des freien Austauschs von Informationen beruht, einem solchen »Digital Rights Management« fundamental entgegengesetzt. Stallman, in seinem typischen Eifer für begriffliche Präzision, weigert sich beispielsweise, den Begriff »Digital Rights Management« auch nur zu benutzen und verlangt, dass man von »Digital Restrictions Management« reden müsse, also von digitalen »Einschränkungen« und nicht etwa digitalen »Rechten«, um so die Propaganda der Industrie zu entlarven.

Auch die neue GPL soll — und das ist der kontroverse Punkt — einige Klauseln enthalten, die dieser Bedrohung des freien Informationsaustauschs entgegenwirken. Die Klauseln, die diskutiert werden, sind dabei vergleichsweise harmlos: Es soll nicht etwa verboten werden, GPL-lizenzierten Code zur Realisierung von DRM-Verfahren zu verwenden. Wenn aber der Code für ein DRM-Verfahren unter der GPL lizenziert ist, dann soll es gleichzeitig erlaubt sein, Programme zu schreiben, die einen freien Zugriff auf die entsprechenden Daten erlauben, das Verfahren soll also legal umgangen werden können. Genau das steht im Widerspruch zum berüchtigten Digital Millenium Copyright Act (DMCA), einem im Jahr 1998 verabschiedeten US-amerikanischen Gesetz, das bereits das Umgehen eines Kopierschutzes unter Strafe stellt.

Obwohl sich die Szene in ihrer Ablehnung von DRM weitgehend einig ist, befürchten doch manche, dass die GPL durch die Einführung solcher Klauseln politisch überladen wird und dass ihr Status als universell in der Szene akzeptiertes Dokument in Gefahr geraten könnte.

Das Thema DRM wird in den folgenden Kapiteln dieses Buchs stets präsent sein. Zunächst geht es um die Entwicklungen im Bereich Kryptographie, die eine Idee wie das »Digital Restrictions Management« überhaupt möglich machen. Anschließend wird von den Anwendungen dieser Verfahren in der Musik- und Filmindustrie die Rede sein, sowie von ihren Auswirkungen auf die Zukunft des Buchs.