Die Sache mit der Milch
oder Klaut Open Source Software in der Cloud die Open Source Software? 2012 diskutierten einige Open Source Adepten, ob Open Source Software in der Cloud das Prinzip von ‘Open Source Software’ unterlaufe? Es ging um folgendes:
ein Ausgangspunkt der Diskussion war der Artikel von William Judd. Im Kern behandelt er die Frage, ob die in der Cloud eingesetzte Open-Source-Software die Anwendung der Open-Source Regeln nun auslöst oder nicht: muss man den Quellcode einer verbesserte Open-Source-Software aus seiner Cloud offenlegen oder nicht? Früher, als man, um Software zu nutzen, immer auch die Binaries haben musste, konnten die Open Source Gurus noch simpel festlegen, dass bei Open-Source-Software neben dem Kompilat auch der Quellcode zugänglich sein müsse. Heute – in Zeiten der Cloud – sei das nicht mehr so: nun habe der Nutzer u.U. nur noch Zugriff auf den Output, nicht aber auf die Binaries selbst.
Hitzig war die Diskussion schon – obwohl die Sache vielleicht doch nicht so dramatisch ist:
Zum einen gibt es die sogenannten permissiven Lizenzen (BSD, MIT, Apache, etc.). Die fordern an keiner Stelle, dass man den Code weitergeben müsse (auch wenn man es gerne tun dürfe 😉 ) – egal, wie man die Programme verwendet. Ergo unterläuft man ihre Idee auch nicht, wenn man sie in der Cloud anwendet, ohne Verbesserungen offenzulegen.
Dann gibt es die Lizenzen mit schwachem Copyleft (LGPL) und starkem Copyleft (GPL und AGPL). Ihnen gemeinsam ist, dass man ihren Vorgaben nach eben dem, dem man ein Compilat gibt, (auf Anfrage) auch den Quellcode geben müsse. Heißt: So lange ich zu Hause auf meinem Rechner ein so lizenziertes Programm verbessere und laufen lasse, bleibt’s meine Sache. Gebe ich es jedoch an einen dritten weiter, muss ich diesem dritten auch den Quellcode zugänglich machen – aber eben nur ihm, nicht der ganzen Welt.
Und jetzt kommt’s: Worin unterscheidet sich denn jetzt die private Nutzung auf einem privaten Rechner von der auf einem gemieteten Rechner aus der Cloud? Und was ist der Unterschied, wenn ich selbst etwas in der Cloud installiere und laufen lasse und wenn ich einen dritten damit beauftrage?
Diese Fälle unterscheiden sich gar nicht – sagen die einen. Ergo dürfe zumindest GPL und LGPL lizenzierte Software (selbst in modifizierter Form oder als Komponente eines eigenen Werkes) in der Cloud genutzt werden, ohne dass man deswegen seine Verbesserungen offenlegen müsse. Schließlich gäbe man sein Programm rechtlich ja gar nicht weiter (selbst wenn man es dazu realiter doch an seinen Administrator zur Installation auf seinem Cloud teil weiterreiche). Mithin unterlaufe man die GPL-Idee auch nicht, wenn man GPL-Software in der Cloud anwendet, ohne Verbesserungen offenzulegen
Die anderen – und dazu gehöre ich – sagen, dass sich diese Fälle eben genau da unterscheiden: Wenn ich selbst per sftp etwas hochlade und per ssh auf meinem Cloudteil starte, gleiche das der rein privaten Nutzung auf privatem Rechner. Aber wenn ich diese Software dem Administrator meiner Wahl zur Installation übergäbe, dann gäbe ich sie ihm ja. Punktum. Ergo habe er das Recht, auf Wunsch auch den Quellcode zu bekommen.
Ärgerlicherweise ist die Welt nicht so schön (klar), wie wir anderen es gerne hätten:
Zum einen kann ich ja meinem Nachbarn ja auch eine Flasche Milch in doppeltem Sinne ‘übergeben’. Ich kann ihm erlauben, sie zu nutzen, also zu trinken oder an seine Frau zwecks gemeinsamen Genusses weiterzureichen. Oder ich kann meinen Nachbarn bitten, die Flasche [gibt’s so was überhaupt noch?] (gegen Einwurf kleiner Münzen) in seinen Kühlschrank zu stellen. Dann wäre ich doch wohl etwas pikiert, wenn er sie mir halb leer zurückgäbe. Irgendwie ist Weitergabe nicht gleich Weitergabe.
Zum anderen hat die GPL Community diese Lücke doch offensichtlich selbst entdeckt. Ihretwegen existiert die AGPL. Sie legt explizit fest, dass man den verbesserten Code selbst dann an alle freigeben muss, die per Netz mit der AGPL Cloud Software interagieren, wenn man ihnen gerade kein Kompilat überlassen hat.
Was also ist richtig? Unterläuft Open-Source-Software in der Cloud nun den Gedanken von Open Source oder nicht?
In den meisten aller Fälle sicher nicht. Und bei dem Rest brauchen wir vom Open Source License Compendium das glücklicherweise nicht zu entscheiden. Wir wollen nicht die Grenzen von Open Source austesten. Wenn nötig, wäre das der Job von gestandenen Juristen. Wir wollen nur eine sichere Art der lizenz-adäquaten Nutzung pro Lizenz und Usecase beschreiben. Und danach wäre es – so meine ich persönlich – schon sinnvoll, auch bei Nutzung von GPL und LGPL Software in der Cloud, den Distributionsfall anzunehmen. Sicherheitshalber. Bei AGPL Software müssen wir es ja eh tun.
Und mal ganz ehrlich: Wenn wir eine Open Source Software in der Cloud laufen lassen und uns dafür vom Endkunden bezahlen lassen, wäre es nicht ein Zeichen des Respektes, wenn wir unsere Verbesserungen daran an die Community zurückgäben – selbst wenn wir bei gewiefter Auslegung der Open Source Lizenzen im letzten Sinne nicht dazu verpflichtet wären?
Wenn Du von unterlaufen sprichst würde ich zweierlei Dinge unterscheiden um die Widerstprüchlichkeit herauszuarbeiten mit der man konfrontiert ist.
Wenn man GPL/Copyleft so versteht, dass es darum geht User-Rechte and der Software zu stärken und diese Sicherzustellen, dann unterläuft Cloud Computing dies, die meisten User bekommen weder direkten Zugriff auf die Software noch auf die Rohdaten die sie selber auf den Server eines Dritten befördern.
Wenn man allerdings die GPL streng am Text entlang liest und so tut also ob die Welt weiter nicht existiert (ein Programmierer meint gerne mal, er könnte einen Lizenztext einfach “ausführen” und dann kommt immer ein klarer Output raus), die GPL quasi als Selbstzweck geschaffen würde, dann kann man natürlich ohne mit der Wimper zu zucken auch sagen das Cloud Computing die GPL gar nicht unterwandern kann, weil Cloud Computing in der GPL nicht vorkommt.
Unterhält man sich allerdings mit Kindern über das Thema, dann wird schnell klar, dass durchaus ein Fall vorliegt den man durchaus problematisieren kann (und wenn man sich ernsthaft mit der Lizensierung freier Software auseinandersetzt meiner Meinung nach auch tun sollte).
Wie es rechtlich zu bewerten ist, wenn Du eine GPL lizensierte Software an deinen Administrator distributierst, dass solltest Du allerdings deinen Anwalt fragen. Ich vermute mal, das kommt sicherlich auf einige Details an, zB. in welchen Arbeits- und Anstellungverhältnis beide and er Distirbution beteiligten Personen stehen. Könnte ja sein, dass beide abhänig bei der selben juristischen Person beschäftigt sind, es sich somit also rechtlich gar nicht um zwei verschiedene rechtssubjekte handeln könnte. Nicht verzagen, Anwalt fragen.