Da ich kein Experte in Sachen Lizenzrecht bin (ich habe keinerlei juristische Ausbildung), kann ich dazu nicht wirklich was sagen. Afaik ist die Rechtslage was
GPL-Plugins angeht auch nicht ganz 100%ig geklärt.
Fakt ist, dass man in einem Closed-Source-Programm keine
GPL-Komponenten benutzen darf. Weder direkt einkompiliert, noch in Form von dlls oder ähnlichem. Wenn du also ein CS-Programm schreibst, was eine
GPL-
dll benötigt, ist das verboten. Wenn dein Prog aber nach dlls (z.B. im Programmordner) sucht, die zu deinem Plugin-System kompatibel sind und diese dann nutzt, kann dir keiner was anhaben, wenn darunter auch eine
GPL-
dll ist. Du kannst ja nicht wissen, dass es diese
dll überhaupt gibt
.
(In meinem Player habe ich das so gelöst - da werden zu Beginn die Addons geladen. Es gibt Funktionen, die z.B. die unterstützten Dateiformate (Endungen) zurückliefern, so dass man z.B. die Filter für die Open-Dialoge zur Laufzeit entsprechend anpassen kann.)
Wenn du nun in dein Prog eine Abfrage einbaust ("if
GPL.dll vorhanden") und dementsprechend darauf reagierst (z.B mit einem automatischen Download der Bibliothek), ist das so eine Sache. Zwar benötigt dein Programm die
dll nicht unbedingt (der User kann ja z.B. auch sagen "nö, ich möchte das nicht" und den
DL abbrechen), aber dennoch ist dein Programm explizit dafür ausgelegt, diese
GPL-
dll zu nutzen.
Im Bass-Forum gibts dazu auch entsprechende Diskussionen (natürlich auf englisch), und diese enden in der Regel damit, dass auf das Plugin-System hingewiesen wird, womit man nach der dort verbreiteten Meinung rechtlich auf der sicheren Seite steht.
Und die
GPL bedeutet nicht nur, dass man den Quellcode offenlegen muss (der darf aber schon komplett wirr und unkommentiert sein - es ist nicht dein Problem, wenn den andere nicht verstehen
), aber du musst auch Veränderungen und Weiterverbreitung unter gewissen Bedingungen erlauben (die Modifikation muss auch wieder unter der
GPL stehen, und der Hinweis auf dein Werk muss dabei sein etc.).
Wenn du das willst, ist das natürlich ok, und du kannst die betreffenden dlls einfach mitliefern. Wenn du das nicht möchtest, und eine gewisse Kontrolle über dein Werk behalten möchtest, dann solltest du den Weg über das Plugin-System gehen.