Sprache auswählen
Open Source Software erfassen, rechtlich prüfen und rechtssicher einsetzen – so automatisiert wie möglich
Zitiervorschlag: Levien, LR 2020, S. 156, [●], www.lrz.legal/2020S156
Die Nutzung von Open Source Software ist inzwischen Standard in der modernen Softwareentwicklung. Ihr Einsatz erfordert zwingend die Einhaltung der Lizenzbedingungen, um Rechtsverletzungen zu vermeiden. Denn im Falle von Lizenzverstößen drohen dem Verwender Konsequenzen, von Schadensersatz über Produktions- und Verkaufsausfälle bis hin zu Reputationsverlusten. Die Lösung ist ein professionelles Lizenzmanagement von Open Source Softwarebestandteilen und den jeweiligen Lizenzen.
Was ist eigentlich Open Source Software und warum ist das Thema für Sie in Ihrem Alltag von Relevanz?
Sehr verkürzt beschrieben lässt sich Open Source Software (OSS) wie folgt charakterisieren:
Ein Grundgedanke von OSS ist, Verwender zur aktiven Beteiligung an der (Weiter-) Entwicklung einzuladen. OSS lebt davon, dass Verwender daran mitarbeiten, sie zu verbessern.
OSS finden wir inzwischen überall, wo Software eingesetzt wird, z.B. im Auto, Smartphone, Fernseher oder Staubsauger bis hin zur Küchenmaschine. Die Nutzung von OSS unterliegt hierbei Spielregeln, die in Lizenzbedingungen zu finden sind. Ein professionelles Lizenzmanagement ist ein Beitrag zur Einhaltung der Lizenzbedingungen und zum aktiven Risikomanagement, um das Risiko von Rechtsverletzungen zu vermeiden.
Das ist schnell gesagt, aber wie leicht lässt sich das in der operativen Softwareentwicklung umsetzen?
OSS ist einfach zugänglich. Eine kurze Suche im Internet eröffnet mannigfaltige Möglichkeiten2, um bestehende hervorragende Lösungen zu finden und zu nutzen. Für Softwareentwickler ist es heutzutage daher selbstverständlich, in ihren Projekten OSS zu nutzen. Beispielhaft hat die Nutzung von OSS folgende Vorteile:
Mit den genannten Vorteilen und der etablierten Nutzung von OSS geht jedoch die Verpflichtung zur Einhaltung von Lizenzbedingungen einher, die der Rechtsinhaber der OSS für seine Komponente ausgewählt hat. Die Einhaltung dieser Lizenzbedingungen kann kompliziert werden, z.B., weil
Die Lösung der oben beschriebenen Problemstellung beschäftigt viele in der Open Source Community und in Unternehmen. Viele bauen sich kleine Tools, Skripte und sonstige Lösungen, um die Komplexität in den Griff zu bekommen. Hilfestellungen und Lösungsansätze entwickeln seit vielen Jahren schon Organisationen wie z.B. die Open Source Initiative4 oder die Open Source Automation Development Lab eG.5
Verschiedene Hersteller bieten auch Softwarelösungen6 an, um beim Thema OSS-Lizenz-Compliance zu unterstützen. Der Anwender kann auf diese Weise Quelltexte untersuchen (scannen)7, Regeln erstellen und hinterlegen, Hinweise auf Vulnerability-Risiken erhalten und mehr. Zumeist sind diese Lösungen aber eher für den Entwickler als für Rechtsanwälte gedacht und bieten oft nur wenig Unterstützung bei der fallbasierten Bewertung der Rechtslage.
Es gibt auch weitere Hilfestellungen, um Lizenztexte schneller und besser zu verstehen, die einer übersichtlichen Darstellung von Rechten und Pflichten dienen8 oder die dabei helfen, geeignete Lizenztexte zu finden, wenn ein Softwareentwickler seine Softwarekomponente als OSS zur Verfügung stellen möchte.9
Allen Anbietern ist jedoch Eines gemeinsam: sie vermeiden es typischerweise rechtlich verbindliche Aussagen zu treffen, was aus Gründen der Haftung und den gesetzlichen Anforderungen des deutschen Berufsrechts für Rechtsanwälte jedoch leicht nachvollziehbar ist.
Ein Lösungsweg kann sein, ein professionelles OSS-Management aufzubauen und einzuführen. Das Vorgehen bei vielen Unternehmen, die ihren Blickwinkel auf OSS lenken, zeigt typische Herangehensweisen. Einige dieser Ansätze sind:
Fortschrittliche und moderne Ansätze erfassen die Fallprüfungen datenbankmäßig und bieten den Nutzern einen Fragenkatalog mit Antwortmöglichkeiten in Form von Auswahlmenüs, idealerweise in einem Webtool.
Ziel muss es sein, den Beteiligten einen soweit möglich einfachen Prozess anzubieten, um die OSS-Compliance sicherzustellen. Anforderungen dafür sind z.B.:
Für den Entwickler muss es so einfach wie möglich sein, seinen Anwendungsfall mit den prüfungsrelevanten Angaben im Tool zur Verfügung zu stellen. Dies kann idealerweise durch eine Einbindung in die jeweils bestehende Entwicklungs- sowie Continuous Integration / Continuous Delivery-Umgebung erreicht werden.
Zur Automatisierung der Falleingabe sollten prüfungsrelevante Informationen auch direkt aus den Repositories bezogen werden, in denen die Quellcodes und Binärartefakte liegen.
Juristische Prüfungsprozesse sollten so modelliert und mit Lizenzen und Fallbeschreibungen verknüpft werden, dass sie dadurch automatisiert ausgeführt werden können. Hier sollte zunächst mit einfachen Fallkonstellationen begonnen werden, um dann Schritt für Schritt immer komplexer werdende juristische Prüfungskonstellationen einzubeziehen, die dann automatisiert bearbeitet werden können. Das System sollte dabei für zukünftige Eingaben ständig mitlernen.
Weiter sollten die jeweils besten verfügbaren Open Source Scanner flexibel angebunden werden können, um effizient Scans des Quellcodes durchzuführen. Hier macht es Sinn auf bestehende Lösungen aufzusetzen, und den Markt laufend zu beobachten, um die Stärken und Schwächen der verschiedenen Hersteller zu kennen.
Weiter sollten Datenbanken10 angebunden werden, die über Sicherheitslücken bei Software informieren, damit Entwickler automatisch über sicherheitsrelevante Themen informiert werden und sehr frühzeitig Gegenmaßnahmen ergreifen können. Insbesondere bei stark inhomogener Verteilung von Programmiersprachen, angefangen von Webentwicklung mit JavaScript bis hin zur Entwicklung von embedded Code für Steuergeräte, ist es wichtig, eine zentrale Stelle für eine Vulnerabilityübersicht zu haben und zu nutzen.
In einer idealen Welt könnte man allen Beteiligten viel Aufwand ersparen und Rechtssicherheit gewinnen, wenn die Nutzer lediglich wenige, anerkannte und weitverbreitete freie Lizenzbedingungen nutzen würden. So könnte OSS rechtssicher genutzt werden, ohne das ein Jurist jeden Einzelfall prüft. Eine zugegebenermaßen sehr idealisierte Vision könnte sein, dass von den Anwendern exakt zwei Lizenztypen genutzt werden: eine liberale11 und eine strenge Lizenzbedingung12, von denen je nach Intention und Strategie eine ausgewählt würde. Dies führte zu weniger Komplexität, Fehleranfälligkeit und Aufwand für alle Beteiligten und könnten dabei den eigentlichen OSS-Gedanken dank maximaler Transparenz unterstützen.
Die Realität wird freilich von Vielfalt geprägt bleiben - mit einem Trend zu etablierten, jedoch zahlreichen Lizenzmodellen. Und damit führt aus meiner Sicht kein Weg an professionellen Lizenzmanagementsystemen vorbei, die Technik und Recht integrieren, um die Menge unterschiedlichster Lizenzbedingungen zu prüfen und dadurch eine vertragsgerechte Umsetzung in der Praxis sicherstellen.
1 Vgl. die von der Open Source Initiative angewendeten Charakteristika, zu finden unter https://opensource.org/osd.
2 U.a. ist www.github.com eine beliebte Plattform mit professionellem Ökosystem für OSS Entwickler.
3 Vgl. https://de.wikipedia.org/wiki/Open_Source.
4 Vgl. https://opensource.org.
5 Vgl. https://www.osadl.org/.
6 Beispielsweise https://fossa.com/features/.
7 Vgl. https://www.blackducksoftware.com/; https://www.whitesourcesoftware.com/; https://fossid.com/.
8 Vgl. https://tldrlegal.com/.
9 Vgl. https://choosealicense.com/.
10 z.B. https://vuldb.com/de/ oder https://nvd.nist.gov/.
11 für OS-Experten: ohne Copyleft-Effekt wie z.B. MIT, https://opensource.org/licenses/MIT.
12 für OS-Experten: mit strengem Copyleft-Effekt wie z.B. GNU General Puplic License (GPL V3), https://www.gnu.org/licenses/old-licenses/gpl-2.0.