GPL-Komponenten in Software

Hallo

mal angenommen, man benutzt (einige) Software-Komponenten, die unter GPL lizensiert sind und erstellt ein eigenes Programm.
Darf man das Programm dann verkaufen ohne den Quellcode herausgeben zu müssen.
laut GPL muss man den rausgeben, wenn man eine GPL-komponente modifiziert. aber was wenn man das nicht tut, sondern sie einfach nur nutzt in dem Programm, was man selbst geschrieben hat?

mal angenommen, man benutzt (einige) Software-Komponenten, die
unter GPL lizensiert sind und erstellt ein eigenes Programm.
Darf man das Programm dann verkaufen ohne den Quellcode
herausgeben zu müssen.
laut GPL muss man den rausgeben, wenn man eine GPL-komponente
modifiziert. aber was wenn man das nicht tut, sondern sie
einfach nur nutzt in dem Programm, was man selbst geschrieben
hat?

Wenn man gegen ein Stück GPL-Software LINKT, ist man verpflichtet, den verlinkten Code ebenfalls unter der GPL verfügbar zu machen. Bei der GPL 2.0 hat das Recht, den Sourcecode zu erhalten, nur derjenige, der die Software erhalten hat (also binär), für eine bloße interne Nutzung muss man den eigenen Code gar nicht unter die GPL geben. Die GPL 3.0 fügt Erweiterungen für interne Dinge mit öffentlichen Schnittstellen wie Webapps hinzu.

Wenn man die GPL-Komponente auf anderem Weg als durch Linken nutzt (z.B. Aufruf einer separat ausführbaren Datei, die unter GPL steht, per system("…")), hat das keine Auswirkungen auf den eigenen Code. Wenn man in die Verlegenheit gerät, eine GPL-Bibliothek nutzen zu wollen, aber den eigenen Code nicht unter die GPL stellen kann, könnte man als Workaround also ein Executable bauen, das das mit der Bibliothek tut, was man tun muss, und es aus dem eigenen Programm heraus als separaten Prozess starten. Dann muss nur das die Bibliothek nutzende Executable unter GPL stehen.

Es gibt für Bibliotheksautoren als Alternative zur GPL die LGPL. Bei der ist es erlaubt, gegen die Bibliotheks-API zu linken, ohne den eigenen Code unter die gleiche Lizenz zu stellen. Nur Änderungen an der LGPL-Komponente selbst müssten unter die LGPL gestellt werden. Das nützt einen natürlich nichts, wenn die Bibliothek tatsächlich GPL ist, aber vielleicht steht da ja ein „L“, das übersehen würde :wink:.

Bei bestimmten GPL-Projekten besteht durchaus die Möglichkeit, auf Anfrage beim Entwickler die Bibliothek auch unter einer anderen (kommerziellen) Lizenz zur Nutzung zu erhalten.

Viele Grüße,
Sebastian