GNU AGPL — Copyleft für das Web 2.0
Die neue Version 3 der GNU General Public License (GNU GPL) löst viele aktuelle Anforderungen an den Schutz der Freiheit der Nutzer_innen und Entwickler_innen Freier Software. Zwar meint (mal wieder) Microsoft, dass die GPL V3 für sie nicht gelte, auch wenn sie nach dem Deal mit Novell selbst zum Distributor von GPL V3 lizensierter Software werden könnten — aber das wird sich ggf. vor Gericht zeigen.
Ein wenig komplizierter ist die Lage bei Web-Anwendungen. Zwar kann eine entsprechende Web-Software durchaus unter der GPL stehen — etwa weil sie selbst auf GPL-Software aufbaut –, jedoch muss der Quellcode nicht notwendig zur Verfügung gestellt werden. Warum? Weil die Software selbst gar nicht verteilt wird — nur dann greift die GPL –, sondern nur als Dienst läuft, auch SaaS genannt. Aus diesen Grund wurde die Affero General Public License (AGPL) geschaffen.
Die bisherige AGPL war jedoch inkompatibel zur GNU GPL V2. Das ändert sich jetzt mit der neuen GPL V3, die in §13 explizit die Kompatibilität der nun in die GNU-Obhut übernommene GNU AGPL festhält. Die GNU AGPL befindet sich noch im Entwurfsstadium und kann noch für eine gewisse Zeit diskutiert werden. Auch wenn die genaue Formulierung damit noch nicht feststeht, ist das Ziel klar: Bei Web-Software muss der Quellcode verfügbar gemacht werden.
Jetzt bin ich verwirrt. Hier sprach Christian in einem Kommentar ja noch davon, dass man auch mit der GPLv3 Serverapplikationen absichern könnte. Was nun?
Wenn ich das richtig sehe, ist der damals von Christian im Entwurf zitierte Passus dem Sinn nach in die Extra-Lizenz GNU AGPL gewandert. Warum, weiss ich nicht. Vielleicht wollte man die GPL vor zu vielen „Konfigurationen“ (additional requirements) bewahren.
Ja, zwischen Entwurf 2 und Entwurf 3 ist dieser Passus geändert wurde. Vermutlich gab es unter anderem Bedenken, dass die alte Formulierung zu einer Reihe unterschiedlicher „Additional Requirements“ führen könnte, die schwer zu durchschauen und v.a. gegenseitig nicht mehr kompatibel sind. Dadurch dass dafür jetzt nur die Affero GPL genutzt werden kann und die GPL v3 sich als generell kompatibel zur Affero GPL erklärt, wird dieses Problem der inkompatiblen Varianten vermieden.
Eine sehr lange (aber inhaltlich nicht allzu klare) Begründung findet sich in diesem PDF-Dokument, Abschnitt 4.2 (S. 29-31).
Das hat aber weitreichende Folgen. Vor der Änderung hätte ich ohne Probleme GPLv2 und GPLv3 Software nehmen können und damit einen Freien Webservice bauen können. Jetzt geht das nicht mehr, weil AGPL und GPLv2 nicht kompatibel sind! Sehr ärgerlich!
@Benni:
Wenn die GPLv2-Software mit dem Passus „or any later version“ lizensiert wurde, ist sie zur GPLv3 (aufwärts) kompatibel, die wiederum zur AGPLv3 kompatibel ist. Daraus müsste doch folgen, dass die GPLv2 auch zur AGPLv3 kompatibel ist, oder ist das jetzt zu formal logisch gedacht?
@stefan: Das ist schon richtig. Nur gibt es eben auch Software ohne diese Klausel. Z.B. den Linux-Kernel. (frag mich jetzt nicht wie ich aus dem Linuxkernel einen Webservice bauen will, das ist nur ein Beispiel 😉 )
@Benni: GPLv2-Software ohne „any later version“ ist generell zur GPLv3 nicht kompatibel — wie zum Beispiel der Linux-Kernel. — Schrecklich, dieses Lizenz-Rumgewühle… :-/
Interessanter Beitrag von Tim O’Reilly plus Diskussion: http://radar.oreilly.com/archives/2007/07/the_gpl_and_sof_1.html
Final Draft ist erschienen: http://gplv3.fsf.org/agplv3-dd2.html
Die endgültige Version der Affero GPL 3 ist jetzt erschienen, wie heise berichtet.