Die MIT-Lizenz erlaubt fast alles: nutzen, ändern, verkaufen, in geschlossene Produkte einbauen. Pflicht ist nur, den Copyright-Hinweis und den Lizenztext mitzuliefern.
Die GPL ist strenger. Gibst du ein Programm weiter, das auf GPL-Code aufbaut, muss es als Ganzes unter der GPL stehen, und der Empfänger bekommt den Quellcode.
Rechtlich sind beide Lizenzen in Deutschland Einräumungen von Nutzungsrechten nach § 31 UrhG, gebunden an Bedingungen. Wer die Bedingungen bricht, nutzt fremden Code ohne Recht. Für deine Agentur zählt die Lizenzliste im Repo, sobald du Code an Kunden lieferst, lizenzierst oder verkaufst.
Was erlaubt die MIT-Lizenz?
Die MIT-Lizenz ist kurz und großzügig. Jeder darf den Code ohne Einschränkung nutzen, kopieren, ändern, zusammenführen, veröffentlichen, verbreiten, unterlizenzieren und verkaufen. Es gibt eine Bedingung und einen Haftungsausschluss:
- Bedingung: Der Copyright-Hinweis und der Lizenztext müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
- Haftungsausschluss: Die Software kommt ohne jede Gewährleistung.
Für Agenturen ist MIT unproblematisch. Du darfst MIT-Code in ein Kundenprojekt einbauen und das Ergebnis unter beliebiger Lizenz liefern. Ähnlich großzügig sind BSD und Apache 2.0, Apache 2.0 enthält zusätzlich eine Patentlizenz und verlangt Hinweise in geänderten Dateien.
Was verlangt die GPL?
Die GNU General Public License ist eine Copyleft-Lizenz. Die GPL gibt dieselben Freiheiten wie MIT, aber mit einer Gegenleistung: Wer ein darauf aufbauendes Werk weitergibt, muss es unter denselben Bedingungen weitergeben.
Nach der GPL v3 gilt bei der Weitergabe (Abschnitte 4 bis 6):
- Das gesamte darauf aufbauende Werk steht unter der GPL.
- Der Empfänger bekommt den vollständigen Quellcode oder ein Angebot dafür.
- Der Lizenztext liegt bei.
- Du darfst keine zusätzlichen Einschränkungen auferlegen.
Interne Nutzung löst diese Pflichten nicht aus. Wer GPL-Software nur im eigenen Haus ändert und einsetzt, muss nichts offenlegen.
MIT oder GPL: Was ist der Unterschied für Agenturen?
| MIT | GPL v3 | AGPL v3 | |
|---|---|---|---|
| Kommerziell nutzbar | Ja | Ja | Ja |
| Einbau in geschlossene Produkte | Ja | Nur ohne Weitergabe | Nur ohne Weitergabe und ohne Netzbetrieb für Dritte |
| Quellcode offenlegen bei Weitergabe | Nein | Ja, für das ganze Werk | Ja, für das ganze Werk |
| Quellcode offenlegen bei SaaS | Nein | Nein | Ja, für Nutzer über das Netz (Abschnitt 13) |
| Hinweis und Lizenztext mitliefern | Ja | Ja | Ja |
Die LGPL liegt dazwischen. Bibliotheken unter LGPL darfst du dynamisch einbinden, ohne dein Programm unter die LGPL zu stellen, solange der Nutzer die Bibliothek austauschen kann. Änderungen an der Bibliothek selbst musst du offenlegen.
Wann wird die GPL im Kundenprojekt zum Problem?
Drei Fälle tauchen in Agenturen immer wieder auf:
- Lieferung an den Kunden. Du übergibst eine App, die eine GPL-Bibliothek enthält. Das ist eine Weitergabe. Der Kunde bekommt den Quellcode und darf ihn nach der GPL weitergeben.
- Exklusivität versprochen. Dein Vertrag gibt dem Kunden ein ausschließliches Nutzungsrecht. Für die GPL-Teile kannst du das nicht einräumen, weil jeder die GPL-Rechte hat.
- Lizenzmodell für eigenen Code. Du willst ein Modul an mehrere Kunden lizenzieren, verbietest aber die Weitergabe. Steckt GPL-Code drin, kollidiert das mit dem Verbot zusätzlicher Einschränkungen.
Was bedeuten Open-Source-Lizenzen für den Wert deines Codes?
Wer deinen Code lizenzieren oder kaufen will, fragt zuerst nach der Lizenzliste. Eine Liste, auf der nur MIT, BSD und Apache stehen, macht die Prüfung kurz. GPL- und AGPL-Komponenten im Kern führen zu Fragen, Abschlägen oder dem Ende des Gesprächs.
Was du vor einer Lizenz oder einem Verkauf vorbereitest:
- Lizenzscan über alle direkten und indirekten Abhängigkeiten.
- Liste mit Paket, Version, Lizenz und Einsatzort (Server, Client, Build).
- Copyleft-Komponenten markieren und prüfen, ob sie ersetzbar sind.
- Hinweisdatei mit allen Copyright-Vermerken ins Repo.
Diese Liste gehört in jeden Lizenzvertrag. Wie der aussieht, steht in Lizenzvertrag Software.
Kannst du eigenen Code selbst unter MIT oder GPL veröffentlichen?
Ja, wenn dir die Rechte daran gehören. Viele Agenturen stellen Bibliotheken unter MIT, um Sichtbarkeit zu gewinnen. Andere nutzen die GPL als Teil eines Doppellizenz-Modells: Open Source unter GPL, und wer den Code in geschlossene Produkte einbauen will, kauft eine kommerzielle Lizenz.
Das Doppellizenz-Modell funktioniert nur, wenn wirklich alle Rechte bei dir liegen. Beiträge von Freelancern oder externen Contributors brauchen dafür eine Rechteeinräumung an deine Agentur. Wie du das sicherst, steht in Wem gehört der Code?.
Was dein Code mit geprüfter Lizenzliste am Markt wert ist, steht in Was ist Code wert?.