GPL und die Frage "Was ist ein abgeleitetes Werk"
Zuerst mal, alle hier gemachten Aussagen sind meine Interpretation, ich bin kein Anwalt ;-)
Und genau das scheint das Problem zu sein: Interpretation. Vor allem die Definition "Was ist ein abgeleitetes Werk" in Bezug auf die GPL scheint nicht eindeutig geklärt zu sein, zumindest nicht in allen Bereichen. Klar ist wohl, dass wenn man GPL-Code weitergibt, kopiert oder verändert das neue Werk ebenfalls unter der GPL stehen muss. Klar ist wohl auch, dass wenn man z.B. innerhalb eines Programmes eine unter der GPL stehende Lib statisch einkompiliert wird das gesamte Programm unter der GPL stehen muss. Bei der Frage wie das bei der Verwendung bzw. der Erstellung von dynamisch gelinkten Libs aussieht scheint man sich schon nicht mehr so einig zu sein. Auch beim dyn. Linken in C werden ja zumindest die Header-Files eingebunden, bzw. wenn das Programm läuft wird die Lib ja zur Laufzeit eingebunden. Auf der einen Seite gibt es die Auffassung. auch dann müsse das Programm als Ganzes unter der GPL stehen. Auch die FAQ zur GPL hat einen entspr. Absatz der diese Ansicht vertritt. Andere sehen hier wohl eine Grenze zwischen "Ableiten" und "Verwenden", d.h. das Programm oder die Lib ist ein eigenständiges Werk und kann unter einer beliebigen Lizenz vertrieben werden. Ein Beispiel das nicht abschliessend geklärt zu sein scheint, ist der proprietärere GK-Treiber von NVIDIA für Linux. (heise Artikel zum Thema) In der GPL Version 2. ist immer "nur" die Rede Programmen, nicht von Libs und Extensions.
Bei interpretierten Scriptsprachen wie PHP wird es dann noch schwammiger/schwieriger. Hinweise dazu findet man allerdings innerhalb der FAQ zur GPL Hier ein paar Beispiele: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 Da frage ich mich aber: Sind diese Aussagen innerhalb der FAQ als rechtliche Grundlage und damit als Bestandteil der Lizenz zu sehen, oder sind auch diese Aussagen "nur" eine Interpretation der Lizenz? Aktuell macht der Streit zwischen dem Joomla!-Team und Anbietern proprietärer Erweiterungen für dieses CMS Schlagzeilen. (heise Artikel zum Thema). Das Interessante an diesem Beispiel für mich ist nicht, dass die Joomla! Lizenz bisher proprietäre Erweiterungen zugelassen oder toleriert hat, die Frage ist doch vielmehr wann ist eine Erweiterung eines PHP-Programmes/Frameworks ein davon abgeleitetes Werk und MUSS selber auch unter der GPL stehen. Louis Landry, Projektleiter von Joomla! zieht die Grenze in seinem Blog-Artikel What's the deal with templates? dort, wo PHP ausgeführt wird. Auszug aus seinem Artikel: Main PHP File This is the main PHP file that is included with a Joomla! template package (index.php) which is specific to Joomla!,included by the Joomla! CMS and executed on each page load. In nearly all cases it has Joomla! specific function calls to load things like modules, HTML/XHTML document head information and main body component data. The amount of PHP code in these files varies from template to template but the fact remains that they are included, compiled and executed all together as one application in a single PHP process per page request. Since the index.php file is included, compiled and executed all together with the Joomla! CMS we believe it is a derived work and thus the GNU GPL of Joomla! applies. Unabhängig von dem speziellen Joomla! Fall hier, spannend an dieser Interpretation finde ich vor allem 2 Aussagen die nach seiner Ansicht das PHP-File zu einem abgeleitetem Werk nach der GPL machen:
Wenn diese Interpretation, vor allem Punkt 2, zutrifft, dann sind doch praktisch alle Erweiterungen, Plugins, etc. für praktisch alle Frameworks, CMSe, etc. in PHP abgeleitete Werke da include()/require() in PHP die einzige Möglichkeit ist ein Script einzubinden. Dynamisches Linken wie in C gibt es in PHP ja nicht. Auch das Verwenden, bzw. das Aufrufen von Funktionen in PHP-Code allein scheint mir kein ausreichendes Kriterium für oder gegen die Definition eines abgeleiteten Werkes zu sein. Oft ist der Aufruf von Framework-Funktionen innerhalb von Erweiterungen ja nur die Verwendung einer bereitgestellten API. Oder was ist, wenn man zwischen die eigene Erweiterung und das Framework noch eine API (decorator- oder facade-pattern) einbaut. Ist dann die ganze Erweiterung oder nur die Zwischenschicht das abgeleitete Werk? Was ist wenn ich (m)ein völlig selbstständig funktionierenden Shop in ein CMS einbinde und dabei vom CMS leicht austauschbare Funktionen wie z.B. die Userverwaltung nutze? Und mal ganz abgesehen von diesen "Lib-Feinheiten": Die GPL selber bezieht sich "nur" auf kopieren, vertreiben und verändern von Werken. Was ist dann, wenn ich eine Erweiterung für ein GPL Programm schreibe, aber nur die Erweiterung vertreibe und nicht das "gesamte Werk"? Fragen über Fragen... Achja, nicht das ich falsch verstanden werde, ich bin sehr FÜR freie Software, stelle nur immer wieder bei mir selber und in Gesprächen mit Anderen fest, dass es scheinbar sehr von der Interpretation der Lizenz abhängt was erlaubt ist und was nicht. Mir geht es auch gar nicht darum, ob ich Geld für ein Stück Code verlangen darf oder nicht (ich weiss dass ich das darf auch wenn es unter einer OS-Lizenz steht), diese Fragen betreffen einen doch genauso, wenn man sich überlegt, ob man die eigene Extension nicht lieber z.B. unter einer BSD-Lizenz veröffentlichen will. So, nu ist gut, ich werde das hier nicht klären können und wollte doch eigentlich auch nur kurz auf das GPL-Joomla! Thema hinweisen ;-)
Autor: Jens Giessmann
in Allerlei
am
Donnerstag, 21. Juni 2007
um
23:42
Kommentare (0) | Trackbacks (0) Trackbacks
Trackback-URL für diesen Eintrag
Keine Trackbacks
|
blog powered by Serendipity