2012 ging es darum, ob Open Source Software in der Cloud das Prinzip von ‘Open Source Software’ unterlaufe: Ausgangspunkt waren Überlegungen von William Judd zur Frage, ob FOSS in der Cloud es erzwinge, den Quellcode einer verbesserten Open-Source-Software offenzulegen — oder eben nicht?
Früher — so die genannte Analyse — habe die Forderung, mit dem Kompilat müsse auch der Quellcode übergeben oder verlässlich zugänglich gemacht werden. 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 entsprechende Diskussion — obwohl die Sache wohl 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). Sie fordern, dass wir dem, dem wir ein Compilat überlassen, (auf Anfrage) auch den Quellcode geben müssen. Heißt: Solange 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 GPL und LGPL lizenzierte Software 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 zwecks Installation dazu realiter doch an seinen Cloud-Administrator 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 etwas per sftp hochlade und per ssh in der Cloud starte, gleicht das der Nutzung auf einem privaten 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 Nachbarin 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 sie mir die Flasche 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?
Meistens nicht. Und bei dem Rest brauchen wir vom Open-Source-License-Compendium das glücklicherweise nicht zu entscheiden. Wir wollen ja 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 und uns dafür bezahlen lassen, können wir unsere Verbesserungen trotzdem an die Community zurückgeben. Aus eigenem Antrieb. Als ein Zeichen des Respektes. Und das selbst dann, wenn wir bei gewiefter Auslegung der Open-Source-Lizenzen im letzten Sinne nicht dazu verpflichtet wären!
Und in welchem Zusammenhang …
… steht das mit einer systematischen Erfüllung von FOSS-Lizenzen? Nun, dazu müssen wir halt auch politische Konnotationen bedenken, konzeptionelle und kontextuelle Aspekte analysieren — einzeln oder gemeinsam auf Konferenzen. Wir müssen konkrete Fälle und allgemeine Nebenwirkungen durchdenken, für Software, Bilder oder Dokumente. Wir müssen Trends benennen und Leitfäden erstellen. Vornehmlich aber müssen wir die Automatisierung der Lizenzerfüllung vorantreiben, unser Lizenzwissen frei zur Verfügung stellen, es in kleinere Tools gießen und in größere Systeme einbringen: Denn FOSS lebt von der Freiheit durch Lizenzerfüllung, im Großen und im Kleinen.
Im Übrigen: Männer sind mitgemeint.