In der ganz neuen Debatte darüber, dass Sony einen BSD-Lizenzierten Ersatz für Busybox herstellen will, wurde schon extrem viel geschrieben über den Sinn und Unsinn der GPL in Unternehmen und Sonys Motive etc. Leider war in diesen Diskussionen in diversen News-Portalen und Foren soviel FUD dabei wie lange nicht mehr im Copyleft vs. Non-Copyleft Lizenzstreit, weshalb ich gerne ein paar Dinge bezüglich der GPL und des allgemeinen Streits klarstellen möchte. (Und natürlich meinen Senf dazugeben, wie immer )
Was ist Freiheit?
Die BSD-Fraktion bezeichnet sich immer selbst als die mit der freieren Lizenz und bezichtigen den “Gegner”, Copyleft-Lizenzen wie die GPL, Freiheiten einzuschränken. Umgekehrt, nur mit etwas anderer Argumentation, werfen die GPLer das auch den BSDlern vor. Wer hat also recht? Welche Lizenz ist die “freiere”? Die Antwort ist so einfach wie verwirrend: Beide haben recht. Es kommt nämlich ganz darauf an, wie man Freiheit definiert bzw. welche Freiheit man betrachtet.
Die GPL-Lizenz zwingt den Programmierer bzw. die Firma, die den GPL-Code nutzt, alle Änderungen ebenfalls mit den binären Dateien zu veröffentlichen und denjenigen, die die Binärdateien erhalten, zugänglich zu machen. In der Regel ist das die Allgemeinheit, da jeder die Binärdateien erhalten kann, in einigen Fällen müsste aber der Code auch nur dem jeweiligen Auftraggeber zugänglich gemacht werden, der das Programm bestellt hat, und alleine die Binärdatei erhält. (Somit müssten also Änderungen, die intern in der Firma verwendet werden, gar nicht veröffentlicht werden. Bei Webanwendungen ist das mitunter ein Problem, wofür die AGPL geschaffen wurde) Die GPL-Lizenz forciert also insgesamt die Freiheit des Codes.
Die BSD-artigen Lizenzen ermöglichen es der Firma, jegliche Änderung am BSD-Code als Closed-Source zu behalten, ein Veröffentlichungszwang existiert nicht. Einzig die Autoren der BSD-Software müssen irgendwo genannt werden. Da BSD-Code quasi beliebig verwendet werden kann, ohne zusätzliche Pflichten aufzuerlegen, steht hier die Freiheit des Entwicklers im Vordergrund.
Spricht man über freie Software, muss man also immer überlegen, wie weit die Freiheit geht, bzw. was genau die jeweilige Freiheit ist.
Beide großen Lizenzen, GPL wie BSD, sind nach der FSF zulässig für “freie Software”, also im Grunde gleich frei.
Das System GPL
Die GPL-Lizenz stellt sicher, dass Code, welcher unter der GPL veröffentlicht wurde, auch für immer offen bleibt und alle Änderungen ebenfalls veröffentlicht werde.
Der Hintergedanke dabei ist, dass wenn jemand das Projekt eines Entwicklers X benutzt und verbessert, dieser dann seinen Code veröffentlichen muss, der dann wieder in das ursprüngliche Projekt einfließt. Somit wird das Projekt immer besser, je mehr Leute es nutzen.
Die GPL etabliert also ein System von “geben-und-nehmen”. Dabei ist es relativ problemlos möglich, GPL-Lizenzierten Code in Closes-Source Softwareprojekten zu verwenden, anders als oft behauptet. Einzige Bedingung bei der GPL: Der Code muss separat kompiliert werden und die Closed-Sozrce Teile dürfen keinen GPL-Code enthalten. (Sonst müssten sie ja im Sourcecode freigegeben werden) Das führt zu Problemen, wenn Bibliotheken unter der GPL stehen, denn durch das linken gegen diese würde der Closed-Source-Code ebenfalls “GPLifiziert”. Dafür gibt es dann die LGPL, die das Problem umgeht, indem sie einige Ausnahmen zur GPL hinzufügt. Wenn eine Firma also LGPL-Code benutzen will, muss sie diesen nur in eine extra-Library auslagern und ihren Closed-Source Code dann gegen diese linken. Einzig die Änderungen am ursprünglichen LGPL-Code müssten dann publiziert werden.
Das System BSD
Bei der BSD-Lizenz kann der offene BSD-Code beliebig mit dem Closed-Source Code vermischt werden. Man kann also geziehlt einzelne Module aus dem Code in seinem Projekt verwenden, ohne sie in irgendeiner Form auszulagern. Das ist für viele Firmen natürlich angenehmer, da man nicht darauf achten muss, ob man die GPL-Lizenz verletzt.
Änderungen an BSD-Code können, müssen aber nicht an das ursprüngliche Projekt zurückgegeben werden. So konnte z.B. Apple aus einem BSD-System sein MacOS formen, ohne es im Code freizugeben, war aber gleichzeitig bei seinem KHTML-Fork WebKit dazu gezwungen, dieses im Code freizugeben, da KHTML unter der LGPL-Lizenz stand.
Fazit & Meinung
Im Prinzip müsste es für Unternehmen problemlos möglich sein, GPL-Code zu verwenden und auf dessen Lizenz zu achten. Kleinere Unternehmen schaffen das, und größere mit einer so riesigen Rechtsabteilung wie der von Sony müssten erst recht dazu in der Lage sein.
Klar ist die GPL ein Mehraufwand und schränkt die Flexibilität eines Entwicklers ein wenig ein, aber man muss ihr zugutehalten, dass mit der Freiheit des Codes, den die GPL propagiert, in der Regel auch die Freiheit des Nutzers einhergeht. Klar, nicht jeder kann den Code selber anpassen oder kontrollieren, aber von den Veröffentlichungen von denjenigen, die sowas können, profitiert am Ende auch der ganz normale Endnutzer.
Das alles sind keine Argumente gegen die Verwendung der BSD-Lizenz – und ganz ehrlich, für den durchschnittlichen, freien Entwickler fallen mir auch keine ein. Das ist eine Sache persönlicher Vorlieben. Anders herum kann es in manchen Fällen durchaus sinnvoll sein, die GPL bzw. eine andere Copyleft-Lizenz nicht zu nutzen. So steht z.B. Googles WebM-Projekt under der BSD-Lizenz. Das macht es einfacher, das Format zu verbreiten, da man BSD-Code, solange man den Namen der Autoren erwähnt, beliebig nutzen kann. Das ist für Unternehmen wir bereits gesagt weit weniger aufwändig als die Verwendung von GPL-Code, womit sich WebM im Unternehmensbereich schneller verbreiten kann.
Meine Projekte stehen alle unter der GPLv3 oder LGPLv3, da ich nicht erwarte, das eine Firma – sollte sie auf die Idee kommen, den Code zu verwenden – ohne irgendeinen Anreiz wieder Code an das Projekt zurückfließen lässt. Warum auch? Firmen arbeiten kapitalistisch, wenn sie also die Werte, die sie selber schaffen freigeben, ohne Gewinn zu machen, ist das höchst unlogisch, sofern das Geschäftsmodell der Firma aus dem Varkauf von Closed-Source-Softwarelizenzen besteht. (dass es anders geht, zeigt das Beispiel RedHat)
Die GPL-Lizenz zwingt nun quasi ein Unternehmen, ebenfalls etwas beizutragen. Durch den viralen Effekt der GPL, wird das Projekt nach und nach immer besser. Ein Beispiel ist Linux. Man kann zwar nicht wissen, wie es ausgesehen hätte, wenn Linux unter einen Non-Copyleft-Lizenz wie der BSD-Lizenz gestanden hätte, aber ich würde jede Wette eingehen, dass der Kosmos and Firmen und freien Entwicklern, die gemeinsam an Linux arbeiten ohne GPL nie zustande gekommen wäre.
Im Gegensatz zur Meinung einiger fordert die GPL auch nicht, den gesamten Code eines Projektes herauszugeben. Lediglich die GPL-Teile müssen veröffentlicht werden, was ich akzeptabel für alle Seiten finde.
Im ganzen Streit um die GPL scheint ziemlich viel Unwissen vorhanden zu sein: So kenne ich z.B. ein Unternehmen, in dem noch immer der GCC (GNU C Compiler) in Version 3 eingesetzt wird, obwohl es bereits Version 4.6 gibt. Warum? Die neueren versionen des Compilers sind GPLv3 lizenziert, die älteren GPLv2. Die GPLv3 erhebt ein paar weitere Ansprüche, z.B. enthält sie eine Art eine “anti-DRM-Klausel” und erzwingt die Lizenzierung von Patenten an den Nutzer des GPL-Codes. Weiterhin wurde die Kompatibilität mit anderen Lizenzen verbessert. Im Grunde gäbe es keinen Grund, die GPLv3 bei einem Compiler (!) zu umgehen, aber anscheinend sind die Unterschiede zwischen den GPL-versionen nicht gut genug bekannt.
Zur aktuellen Debatte: Sony hat jedes Recht, einen Busybox-Ersatz unter einer X-Beliebigen Lizenz nachzuprogrammieren. Die Ausführungen wirken aber so, als ob Sony die Community dazu brigen will, ihnen einen Busybox-Ersatz zu bauen, was ich wiederum ziemlich dreist finde. Mal sehen, wie sich das Ganze entwickelt, ich hoffe aber, dass sich die Antipathie gegen die (L)GPL mit der Zeit legt und Lizenzen sinnvoll gewählt werden.
Beide, die GPL- und die BSD-Lizenz, haben ebsolut eine Daseinsberechtigung und keine ist “besser”. Lediglich der Fokus beider Lizenzen und die Definition von “Freiheit” sind bei den Lizenzen anders gewählt.
Für die, die Interesse haben empfehle ich den Blogbeitrag von Bradley M. Kuhn (englisch) zum Thema Copyleft-Lizenzen und Firmen.
Bei allem, was oben steht möchte ich noch anmerken, dass ich kein Jurist bin und auch nicht selbst in einer Firma arbeite. 8Dennoch ist es natürlich möglich, Informationen zu bekommen )