Erich: Das ist ein heikles Thema. Da muss man wissen, was man macht. Man kann hier drei Modelle unterscheiden.
Wenn man recherchiert, findet man im Wesentlichen zwei Modelle: das permissive Lizenzmodell und das Copyleft-Modell bei Open-Source-Software.
Daneben gibt es noch ein drittes Modell, häufig als Open-Core-Lizenzmodell bezeichnet. Dabei wird die Software meist von einem Anbieter entwickelt, der eine Open-Source-Version bereitstellt, diese jedoch zusätzlich in einer erweiterten, kommerziellen Variante vertreibt.
Die gewählte Lizenz bestimmt im Kern, wie mit dem Code umgegangen werden darf: ob und unter welchen Bedingungen Dritte ihn proprietär nutzen können, ob sie ihn weitergeben oder verändern dürfen, wie Änderungen geteilt werden müssen und ob kommerzielle Einschränkungen bestehen.
Dani: Lassen wir uns das mal exemplarisch beleuchten. Ich will maximale Verbreitung für meine Schnittstellen. Damit sie zum Industriestandard wird, welche Lizenz nehme ich, wenn ich so etwas veröffentliche?
Erich: Du nimmst die permissive Lizenz – also eine Bewilligungslizenz wie MIT oder Apache 2.0. Diese erlauben grundsätzlich eine sehr freie Nutzung, auch den Einbau in proprietäre, geschlossene Produkte.
Das senkt die Hürde für die Adoption massiv, weil Unternehmen die Software ohne weitgehende Verpflichtungen in eigene Lösungen integrieren können.
Dani: Wenn ich verhindern will, dass ein Cloud-Gigant meine Arbeit nimmt, sie als Service verkauft und mir nichts zurückgibt. Wovor habe ich denn dort eigentlich Angst?
Erich: Dafür nimmst du die Copy-Left-Lizenz, wie GPL oder besser AGPL. Das heisst, wer den Code modifiziert, muss die Verbesserungen auch wieder zurückspielen und unter der gleichen Lizenz veröffentlichen. Dass diese auch wieder verwendet und weiterverbreitet wird, und nicht kommerziell genutzt wird.
Dani: Gibt es dann einen viralen Effekt, wenn ich einen GPL-Code in meiner eigenen Software einsetze? Muss ich dann mein ganzes Produkt offenlegen? Das wäre dann wieder ein Risiko für den Teil, den ich jetzt gemacht habe?
Erich: Ja, das ist dann die sogenannte starke Copy-Left-Lizenz. Zwingt die Offenheit, aber dort muss man aufpassen, es gibt Abstufungen. Der LGPL erlaubt das Verlinken der Bibliotheken ohne aber das Hauptprogramm zu infizieren.
Dani: Dann gibt es ja auch noch Open Code, wie z.B. bei Shopware. Eine Firma entwickelt eine Software und bietet sie als Open Source Version an. Shopware, Magento verbieten aber anderen Firmen die Software kommerziell zu nutzen. Jetzt komme ich gar nicht mehr draus.
Erich: Es gibt immer mehr Firmen, die eigene Lizenzmodelle definieren und zusätzliche Bestimmungen festlegen. Bei Shopware wurde beispielsweise geregelt, dass ab einem Online-Shop-Umsatz von über 1 Mio. die Open-Source-Version nicht mehr verwendet werden darf.
Hier ist es entscheidend, die konkreten Bedingungen hinter solchen Lizenzmodellen genau zu prüfen. Für mich sind das nicht zwingend klassische Open-Source-Modelle. Man kann die Software zwar nutzen, doch häufig handelt es sich eher um ein Marketinginstrument, um Verbreitung und Marktdurchdringung zu fördern.
Sobald bestimmte Schwellenwerte überschritten werden, ist eine kommerzielle Lizenz erforderlich und es fallen entsprechende Kosten an. Deshalb muss man sehr genau hinschauen, welche Rechte und Pflichten tatsächlich gelten.
Dani: Gut, aber wir sind ja hier in der Schweiz und in Europa und gibt es da nicht rechtliche Stolpersteine mit den US-Lizenzen wie der GPL? Die kommt ja nicht von uns. Wie ist das mit Haftung und Urheberrecht?
Erich: Behörden sollten in diesem Zusammenhang die EUPL, also die European Union Public License, prüfen. Sie ist mit dem Schweizer Recht kompatibel, mehrsprachig ausgestaltet und berücksichtigt auch Software-as-a-Service-Modelle.
Das kann im Gesamtbild einen strategischen Vorteil darstellen.
Dani: Lass mich mal kurz über die Risiken sprechen, wenn ich von diesem Urwald oder diesem grossen Elefanten jetzt vielleicht ein wenig mehr sehe, nachdem was du erklärst, aber immer noch nicht durchsehe. Wie ist das jetzt, wenn ich Open Source nutze und ich habe das Gefühl, es ist alles gut. Wer garantiert mir dann, dass ich hier nicht irgendeine Lizenzverletzung begehe? Und ein Audit, das ich dann machen lasse, ist vielleicht sehr teuer.
Erich: Die Compliance ist hier Chefsache und du brauchst diese Lizenz-Audits. Hier gibt es aber Tools, die dabei helfen. Entwickler, die ich nutzen kann, die den Code durchforsten und schauen, ob dort Lizenzverletzungen vorliegen. Hier wird der Code so entsprechend gescannt und ein Report darüber generiert.
Aber auch damit hat man natürlich keine 100%ige Sicherheit. Das Ganze muss zusätzlich durch die Offenlegung des Codes getragen werden, was bei Open Source grundsätzlich kein Problem ist.
Man muss die Einhaltung unterstützen können, etwa durch Audits und entsprechende Prüfmechanismen. Und der Softwareentwickler, der die Software programmiert, muss den gesamten Prozess transparent gestalten und im Entwicklungsprozess geeignete Kontrollen einbauen.
So kann verhindert werden, dass während der Entwicklung unbemerkt Lizenzverletzungen entstehen, die erst im Nachhinein festgestellt werden.