GPL: Marktdurchdringung ist kein Wert an sich

isotopp image Kristian Köhntopp -
September 19, 2006
a featured image

Kommentar zu GPL in Deutschland vor Gericht durchgesetzt.

Ich glaube nicht das bei der BSD Lizenz ein Konstruktionsfehler vorliegt. Ich denke, es war beabsichtigt das auch “Codeklauer” damit Geld verdienen können. Man könnte auch sagen, das dies die wahre Freiheit ist. Übrigens kann mit GPL Software auf ähnlicher Weise Geld verdient werden. Was machen denn die Distributoren, auch wenn das jetzt etwas überspitzt ist. Es wird niemand daran gehindert GPL Software zu verkaufen. Sie müssen nur die GPL einhalten, was bedeutet die Lizenz mitliefern und dürfen die Hinweise auf die GPL im Code nicht entfernen.

Der wesentliche Punkt der GPL ist ein anderer: Unter der GPL muss man den Quelltext - so wie er verwendet worden ist, um das eigene Produkt zu bauen - mitliefern. Mit allen Rechten und gegebenenfalls mit allen Tools, die dazu notwendig sind.

Bei der GPL geht es nicht um Geld - es ist vollkommen egal, ob das Produkt, das Du gebaut hast, von Dir für Geld verkauft wird, oder ob Du für Geld Support dazu verkaufst oder was auch immer. Wenn Du in Deinem Produkt aber (im selben Prozessraum) GPL-Code verwendest, dann muss Dein Produkt auch unter der GPL stehen und um der GPL zu genügen, musst Du den Quelltext und die Werkzeuge zum Bauen mitliefern.

Die GPL ist die sich selbst schützende Allmende: Du darfst Code aus dem Gemeinschaftspool für Deine Zwecke frei verwenden, aber nur, um damit wieder Code zu erzeugen, der hinterher unter genau denselben Rechten Bestandteil des Pools wird.

Die Allmende, Commons, war die Gemeinschaftsweide des Dorfes. Jeder kann dort seine Kühe weiden. Die Allmende hat nicht funktioniert, weil sich alle erst dort bedient haben, bevor sie ihr Vieh auf die eigenen Weiden getrieben haben. Das ist genau das Szenario der BSD Lizenz.

Die GPL ist anders: Grase auf der Weide der freien Software, aber wenn Du das tust, kommen Deine Milch, Dein Schinken und der Dung Deiner Kühe auch in diese Allmende. Darum funktioniert die GPL. Sie ist nachhaltig.

Die kooperative und die kompetitive Welt können nicht zusammen existieren, ohne daß die Regeln der kompetitiven Welt die kooperative Welt zerstören. Darum trennt die GPL im Gegensatz zu allen anderen Open-Source-Lizenzen beide Welten und darum ist die GPL die einzige Open-Source-Lizenz, die vor dem kompetitiven Lager bestehen kann.

Jörg Möllenkamp führt unsere Diskussion ebenfalls weiter. Er schreibt in GPL-Durchsetzung und die Folgen unter einem kompetitiven Gesichtspunkt:

Es ist klar, das ein System nicht notwendigerweise offener wird, wenn sich dort verschiedene nicht freigegebene Module tummeln. Es ist allerdings ein Trugschluss, das man einen Hersteller durch die GPL in die Offenheit zwingen kann.

Das ist das Missverständnis: Die GPL will niemanden zu irgendetwas zwingen. Sie will nur trennen. Die GPL sagt nicht “Du musst offen/frei/whatever sein.”

Sie sagt:

Wenn Du unseren Code nutzen möchtest, was Du nicht musst, dann musst Du das zu unseren Bedingungen tun.”

Das ist ganz genau das, was jede andere Lizenz auch sagt. Die GPL nennt außerdem diese Bedingungen vorab, wie jede andere Lizenz auch. Es gibt keine Überraschungen, keine Lizenzbedingungsänderungen und es gibt insbesondere keinen Zwang zu irgendwas. Es gibt allerdings eine Handvoll ausgezeichneter wirtschaftlicher und ethisch-moralischer Argumente, die dafür sprechen. Aber das ist eine ganz andere, und vollkommen ungezwungene Diskussion.

Die GPL will niemanden in die Offenheit zwingen. Sie will nur die Spielregel klarmachen. Die Spielregel ist ganz simpel: Quid pro quo . Unter der GPL ist es nicht möglich, Code aus der Allmende zu nehmen und etwas proprietäres damit zu machen. Und anders herum: Es ist möglich, etwas Proprietäres zu machen, aber dann nicht mit GPL-Code.

Es ist lediglich Gier angesichts der überwältigenden Menge von GPL-Code von teilweise wirklich ausgezeichneter Qualität die manche Menschen oder Firmen glauben lässt, sie könnten an diesem Pool teilhaben ohne sich an die Spielregeln halten zu müssen. Diese Leute müssen lernen, daß dieser Pool von lohnenswertem Zeug nur deswegen existiert, weil all den Gierhälsen die glauben, sie könnten hier betrügen, mit der ganzen Härte des neu verschärften Urheberrechts auf ihre Spuddelfinger gehauen wird.

Wenn man natürlich ein Geschäftskonzept so baut, daß es ohne einen solchen Betrug nicht funktioniert, dann bedeutet das, daß man ohne den GPL-Code kein Produkt hat. Das ist aber kein Zwang vonseiten der GPL, sondern die Dummheit desjenigen Kriminellen, der hier seinen Teilhabern und sich selbst in die Tasche gelogen hat. Ich habe da nicht wirklich Mitleid - nicht mit Sony , die in ihrem Rootkit (L)GPL-Software illegal verwendet haben, nicht mit Microsoft, die geknackte Software zum Erzeugen von Windows Sounddateien verwendet haben und auch nicht mit - wieder - Sony, die aus Wikipedia content lizenzwidrig verwenden.

Es sind diese Dinge, gegen die die GPL und in Grenzen die LGPL wegen ihrer einzigartigen Konstruktion schützen helfen.

Sehen wir es doch mal realistisch, wie gross ist den die Gruppe jener Menschen die in der Lage und Willens ist, auf einem Handy oder einem Router den Kernel auszutauschen.

Die Größe der Gruppe der Menschen ist aus der Sicht der GPL vollkommen irrelevant. Die meisten Leute wissen ja auch nicht, was ein Rootkit ist. Die GPL zwingt auch niemanden, mit dem Code, auf den man Zugriff hat, etwas zu tun. Sie eröffnet Möglichkeiten, und darauf kommt es an.

Ich habe zum Beispiel mal ein Servermodul für einen Netscape Web Server schreiben müssen. Das hat natürlich nicht funktioniert, und zwar unter anderem auch deswegen, weil die API-Dokumentation und die tatsächliche API des Servers nicht übereinstimmend waren. Diese API-Diskrepanz nachzuweisen war sehr, sehr schmerzhaft. Ich habe natürlich erst einmal mich selbst für zu dumm gehalten, bevor ich Azundris’ Grundregel des Debuggings angewendet habe (“Wenn Du den Fehler nach 30 Minuten nicht gefunden hast, ist es wahrscheinlich nicht Dein Fehler, sondern ein Fehler in der Bibliothek oder im Compiler.”). Diese Sorte Problem kann man mit der GPL prinzipbedingt nicht haben (genaugenommen reicht für diese Sorte Problem schon die Sorte Look-But-Don’t-Touch-Lizenz aus, die Microsoft so favorisiert).

Ich habe auch schon oft Dinge in anderer Leute Code einbauen müssen, weil ich die Änderung jetzt brauchte oder um einfach was auszuprobieren - SpamAssassin LDAP Support, Änderungen am LDAP-Code von PHP, LDAP-Support im Cyrus, …. Ja, ich habe auch noch andere Sachen gemacht, aber mein LDAP-Engagement bei NetUSE war eine einzige Folge von “Eigentlich will ich Euren Code gar nicht hacken, aber da bitte sehr, so tut es mir und Euch am wenigsten weh.” Das war gut für mich und gut für den Hersteller, denn so hat er einen Bug Report oder Feature-Request bekommen, der Bug Report war validiert, und ein Patchvorschlag kam mit. Das hat für alle Beteiligten das Leben sehr viel einfacher gemacht, selbst dann, wenn mein Code wie bei SpamAssassin aus anderen Gründen nicht unverändert in den aktuellen Code übernommen worden ist.

Der Punkt ist, daß in keinem dieser Fälle primär die Absicht Bestand, diesen Code zu ändern, sondern daß es sich aus persönlichen Bedürfnissen oder einem Projekt so ergeben hat. Das Projekt hat seinen Scope spontan geändert und die verwendeten GPL-Teile haben das genauso spontan mit getragen. Wären diese Projekte auf der Basis von Closed Source Zeugs realisiert gewesen, dann hätten diese Möglichkeiten nicht bestanden und das Projekt wäre auf den Stand “Plattform evaluieren” zurückgeworfen worden.

Der andere Punkt ist, daß ich nur im kooperativen Umfeld die Möglichkeiten habe, meine Situation über die Paketgrenzen hinweg bis zum Grade eines prototypischen oder produktionsreifen Patches zu evaluieren, ohne mich Ressourcen-technisch zu verausgaben, und daß ich das dann im Rahmen des Projektes oder privater Weiterbildung auch tue.

Input loswerden kann ich auch mit schwächeren Open-Source-Lizenzen, selbst mit CDDL , MPL oder anderen BSD -Lizenzvarianten.

Die Frage ist, ob ich mich dazu motivieren kann, Code in irgendeine Firma einzuwerfen, um letztendlich deren CEO eine größere Yacht zu ermöglichen. Ich schreibe das Zeug eigentlich, um das Leben allen denen einfacher zu machen, die nach mir kommen. Ich kann dazu beitragen, Infrastrukturkosten zu sozialisieren und meine Arbeit in einen größeren Kontext zu stellen. Ich kann das deswegen, weil die (L)GPL mich davor schützt, daß jemand unser aller Tree forkt und unter eine Käseglocke stellt.

Es geht nicht darum, wie viele Menschen den Kernel auf ihrem Handy austauschen wollen - es ist uns beiden vollkommen klar, daß die meisten das nicht wollen werden. Sondern es geht darum, daß ein jeder der - aus welchem Grund auch immer - der Meinung ist, dies tun zu müssen es auch tun kann. Und das ist sogar für den Hersteller des Handys ein Grund, diese Möglichkeit zu bieten, wenn der Hersteller sich die Mühe macht, da mal ein wenig drüber nachzudenken.

Jetzt fordert diese kleine Gruppe etwas, das wahrscheinlich eine ganze Reihe von Geschäftsgeheimnissen offenlegen würde (schönes Beispiel sind da für mich die Treiber von hochgezüchteten Grafikkarten). Warum sollte eine Firma das tun? Ist es der Firma zu verübeln, Auswege zu suchen, Umwege zu finden und wenn es irgendwie geht, Linux ganz zu vermeiden?

Nein, wenn Du kein GPL willst, dann benutze halt keinen GPL-Code. Nur, ähm, das ist nicht der Sachverhalt.

Es ist nicht so, daß da plötzlich eine Gruppe von Leuten ist, die plötzlich und unerwartet etwas Überraschendes fordert. Sondern es ist so, daß der Hersteller einer proprietären Software GPL-Code illegal und wider besseres Wissen lizenzwidrig verwendet hat. Alles was gefordert wird, und zwar schon immer und nicht plötzlich und überraschend, ist eine Einhaltung des Lizenzvertrages auf eine der beiden möglichen Arten: nämlich entweder Offenlegung der Sourcen, aller Sourcen, und der dazu notwendigen Werkzeuge. Oder Entfernung des GPL-Codes aus dem Produkt. Beides ist legitim und möglich.

Es ist notwendig, daß man sich als Firma vorher Gedanken darüber macht, unter welchen Lizenzen man geistiges Eigentum in sein Produkt einbringt. Das gilt für selbst erstellten Code genauso wie für erworbene Lizenzen Dritter - seien sie nun kommerziell oder GPLed. Eine Firma, die das nicht macht, hat nicht das Recht am Markt zu agieren, denn es handelt sich um einen Haufen von Dilettanten.

Ich weiß aber auch, das dieses Dilemma das Potenzial hat, der Marktdurchdringung von Linux erheblichen Widerstand zu bieten.

Marktdurchdringung ist für ein GPL-Produkt kein Wert an sich, so cool das auch ist, etwa auf einem Kassensystem, einer Sina-Box, einem Voip-Telefon, einem WLAN-Router, einem Festplattenrecorder oder einem Handy einem Linux beim Booten zuzusehen. Der Kick kommt aber nicht vom Pinguin-Logo, sondern er kommt von den Möglichkeiten, die damit einhergehen und von der Gewissheit, daß eine starke GPL mir diese Möglichkeiten offen hält.

Es ist im engeren Sinne jedoch genaugenommen vollkommen egal wie viele Leute Linux, den Gcc, die glibc oder was auch immer unter der GPL einsetzen. Linux auf was-auch-immer hat keinen Wert, wenn man auf diesem was-auch-immer nicht die Möglichkeiten hat, die damit einhergehen.

Und darum ist die klare und informierte Durchsetzung der GPL so wichtig: Sie markiert die Trennlinie zwischen dem kooperativen und dem kompetitiven Lager. Und es sei daran erinnert, daß es die Copyright-Faschisten des kompetitiven Lagers waren, die diese Trennlinie in den letzten fünf Jahren so vermint haben. Ich habe noch immer kein Mitleid.

Die Linux-Kernelentwickler auch nicht. Sie haben in der Vergangenheit die Treiber-API des Kernels absichtlich binär inkompatibel verändert, um die Wartungskosten für Entwickler proprietärer Kernelmodule unattraktiv hochzuhalten und sie gehen nun dazu über, alle Treiber-Module, für die kein Sourcecode bereitgestellt werden kann, ins Userland zu verbannen.

Wenn man die Entwicklung der letzten Jahre nämlich betrachtet, dann wird eines immer klarer: Es kann keine Koexistenz mit Closed Source geben, sondern nur eine strikte Trennung. Diese Erkenntnis ist nicht neu: Am 27. September 1983, also vor nunmehr 23 Jahren wurde das GNU Projekt gegründet. Es entstand unter anderem, weil jemand Code aus der Allmende genommen und unter seine Käseglocke gestellt hat. Die Funktion der GPL ist es, eine Wiederholung eines solchen Szenarios zu verhindern. Und das - striktes Quid Pro Quo - macht die GPL zu der weitaus erfolgreichsten Lizenz im Open Source Bereich.

Share