»Open Source Software (OSS)« bezeichnet eine Art von Software, deren Quellcode öffentlich zur Verfügung gestellt wird. Sie kann somit von jedem genutzt, inspiziert, geändert und verarbeitet werden. Die dadurch generierten Vorteile wie Transparenz, Entgegenwirken von Fachkräftemangel und direkter Kontakt zu Nutzenden und Entwickelnden rücken das System »Open Source« mehr und mehr in den Fokus von Unternehmen und machen es zu einem probaten Mittel für die Entwicklung von Software. Dieser Blog-Beitrag gibt einen Überblick über die Vor- und Nachteile von Open Source Software sowie einen Einblick in die mit Open Source Software verbundenen Lizenzen und Strategien für Unternehmen.
Immer mehr Hobby-Entwickelnde und Unternehmen, seien es kleine oder große, springen auf den Zug der Open-Source-Entwicklung auf. Ein Grund hierfür dürfte sein, dass Open Source Software (OSS) die digitale Transformation vorantreibt und die IT-Infrastrukturen in Unternehmen stabiler, sicherer und kostengünstiger machen kann, da sie u. a. bereits entwickelte Anwendungen wiederverwendet und Standards festlegt (s. Tab. 1). Durch die Anwendung von OSS bietet sich Unternehmen die Chance, weniger Zeit in die Entwicklung stecken zu müssen. Diese lässt sich stattdessen in Innovationen und Problemlösungen investieren. Wie erfolgreich OSS ist, zeigen u. a. die Kooperation zwischen der Linux Foundation (Open Source Software) und großen Unternehmen wie AT&T und Deutsche Telekom sowie mit OSS laufende Systeme wie das Internet, mobile Geräte oder das Internet of Things.
Was ist Open Source? (Definition)
Mit »Open Source« (kurz: OS) wird Software bezeichnet, deren Quellcode veröffentlicht wurde und die im Prinzip von jedem genutzt, inspiziert, geändert und verarbeitet werden kann. Damit einher geht nicht nur der eigentliche Quellcode der Open Source Software (OSS), sondern ebenso das Gefühl von Freiheit, Gemeinschaft und Austausch [1]. Dies wird auch durch folgende Aussage [2] zum Ausdruck gebracht: »Collaborating with a community is about more than developing code. Collaboration is the freedom to ask questions and offer improvements – that’s the open source way.«
Die Open Source Initiative [3] definiert den Begriff Open Source anhand zehn verschiedener Kriterien. All diese müssen erfüllt sein, damit eine Software als Open Source bezeichnet wird. Dazu gehören u.a. Kriterien zur unbeschränkten Weitergabe, zu weiterführenden Arbeiten oder zur Weitergabe der Lizenz.
Was sind die Vor- und Nachteile von Open Source Software?
Aufgrund der rechtlichen Komplexität des Themas ist es ratsam, Auskunft bei Experten wie bspw. spezialisierten Juristen – gerade im Hinblick auf das Urheberrecht – einzuholen. Dies stellt einen Nachteil von OSS dar. Weitere Vor- und Nachteile sind in der folgenden Tabelle aufgelistet.
Open Source Lizenzen
Im Gegensatz zu den Rechten des Urhebers mit Copyright, bei dem das Kopieren und die Verbreitung eines Werks eingeschränkt oder gar verboten werden kann, ist die Vervielfältigung des Werks bei Copyleft auch nach dessen Bearbeitung erlaubt. Es erlaubt dem Urheber des ursprünglichen Werks, auf die Verbreitung des bearbeiteten Werks, also auf dessen Lizenz, Einfluss zu nehmen. Im Wesentlichen lassen sich OS-Lizenzen basierend auf ihren Einschränkungen und Lizenzbestimmungen in drei Kategorien einordnen [5][6][7]:
- Lizenzen mit strengem Copyleft-Effekt
Bei Lizenzen mit einem strengen Copyleft-Effekt wird der Lizenznehmer dazu verpflichtet, von der ursprünglichen Software abgeleitete Werke ebenfalls nur unter den Bedingungen der Ursprungslizenz weiterzuverbreiten. Unter diese Lizenzkategorie fällt bspw. die GPL-Lizenz (GNU General Public License), die am häufigsten eingesetzt und bei ca. 60 % aller OSS angewendet wird (bspw. Linux). Die GPL ist das Vorbild für alle Lizenzen mit einem strengen Copyleft-Effekt. - Lizenzen mit beschränktem Copyleft-Effekt
Lizenzen mit beschränktem Copyleft-Effekt gleichen den Lizenzen mit strengem Copyleft-Effekt insofern, dass sie ebenfalls einen Copyleft-Effekt haben, der aber nur eingeschränkt ist. Sofern Modifikationen der Software in eigenen Dateien realisiert werden, können diese Dateien auch unter anderen, z. B. proprietären, Lizenzbedingungen weiterverbreitet werden. Beispiele für diese Kategorie sind Lizenzen wie CDDL (Common Development and Distribution License) oder MPL (Mozilla Public License). MPL verlangt, dass geänderter Quellcode ebenfalls unter MPL bleibt, aber sie erlaubt auch das Zusammenspiel mit proprietärem Quellcode, sodass eine eigene herstellergebundene Version erlaubt ist. - Lizenzen ohne Copyleft-Effekt
Lizenzen ohne Copyleft-Effekt zeichnen sich dadurch aus, dass sie dem Lizenznehmer alle Freiheiten einer Open-Source-Lizenz einräumen und für Veränderungen der Software keine Bedingungen hinsichtlich des zu verwendenden Lizenztyps enthalten. Damit kann der Lizenznehmer veränderte Versionen der Software unter beliebigen Lizenzbedingungen weiterverbreiten, also auch in proprietäre Software überführen. Zu dieser Art von Lizenzen gehören bspw. BSD (Berkeley Software Distribution) oder MIT (eine Open-Source-Lizenz des Massachusetts Institute of Technology). Beide haben einen sehr kurzen Lizenztext und lassen den Benutzenden alle Freiheiten, solange das originale Copyright und die originale Lizenz in allen Verbreitungen aufgeführt und genannt sind.
Die Lizenzen mit strengem Copyleft-Effekt weisen die meisten Restriktionen und Vorgaben auf, während bei Lizenzen ohne diesen Effekt mehr Freiheiten existieren. Eine Non-Copyleft-Lizenz liegt dann vor, wenn die OSS-Lizenz keinen Copyleft-Absatz enthält.
Neben den ausführlichen Lizenzverträgen mit allen Details, wie bspw. von der Open Source Initiative [3] aufgelistet, bieten verschiedene Organisationen auch Zusammenfassungen der Lizenzen online an. Einen solchen Überblick erstellt zum Beispiel die Initiative TLDRLegal.
Open Source Strategien (Geschäftsmodelle und Einflussfaktoren)
Abgesehen von den verschiedenen Lizenzen gibt es ebenso unterschiedliche Einsatz- bzw. Verwendungsmöglichkeiten von OSS. OSS kann unter anderem als Teil einer Dienstleistung Verwendung finden, für die eigenen Zwecke genutzt werden, Bestandteil eines angebotenen Produkts sein oder zielgerichtet angepasst und als neue Version ausgeliefert werden. Die am häufigsten verwendeten Geschäftsmodelle mit OSS sind hierbei [1]:
Bei der Auswahl einer geeigneten OS-Strategie müssen sich Unternehmen vorab über gewisse Aspekte Gedanken machen. Fragen, die berücksichtigt werden sollten und die Unternehmen bei ihrer Entscheidung unterstützen, sind z.B. folgende:
- Welches Ziel soll mit der OSS verfolgt werden?
- Lizenztyp (Verpflichtungen akzeptabel?)
- Ist die gewählte Lizenz kompatibel mit den Bestimmungen des Projekts?
- Ist die vom Projekt geforderte Lizenz mit den eigenen Interessen vereinbar?
- Ist die Kombination mit anderer lizensierter OSS möglich?
- Ist der Status des OSS-Projekts aktuell und ist dessen Community aktiv?
- Wie sehen die eigenen Ressourcen hinsichtlich der OSS aus?
- Gibt es Mitarbeitende, die bereits Erfahrung mit bestimmter OSS haben?
Allgemein gilt, dass keine verpflichtenden Vorgaben zum Umfang und zur Ausgestaltung einer OS-Strategie existieren, da diese individuell und kontextabhängig erstellt werden. Dennoch empfiehlt es sich, neben dem Zweck und der Zielsetzung einer eigenen OS-Strategie auch den erwünschten Umgang der Entwickler mit OS-Quellcode zu dokumentieren. Der Ablauf hinsichtlich einer eigenen OSS besteht darin, (1) eine Idee zu haben, (2) die Software zu erstellen, (3) die Software zu veröffentlichen, (4) eine Lizenz auszuwählen, (5) Aufmerksamkeit zu erregen und (6) an der Software und am Community Building (stetig) zu arbeiten. Daneben kann es sich auch als Strategie bewähren, sich nur monetär durch Sponsoring an OS-Projekten zu beteiligen. In diesem Fall findet der vorgestellte Ablauf keine wirkliche Anwendung. Solch eine Strategie verfolgt meist, die Außenwirkung zu verbessern oder sich frühzeitig an zukunftsweisenden Entwicklungen zu beteiligen.
Weitere Faktoren, die eine OS-Strategie beeinflussen – hinsichtlich der Auswahl einer konkreten OSS, der Wahl eines bestimmten Lizenztyps oder der Definition des eigenen Geschäftsmodells unter Zuhilfenahme von OSS – sind Abb. 2 zu entnehmen.
Open Source Software für digitale Plattformen und öffentliche Projekte
Die Verwendung von OSS kann zunehmend als erfolgreiches Geschäftsmodell angesehen werden [8]. Insbesondere bei digitalen Plattformen und Ökosystemen erfreut sich das Open-Source-Modell zunehmender Beliebtheit. Mitunter auch deswegen, weil damit nicht nur Plattformen flexibel implementiert, sondern auch Vorgaben für Produkte und Services, die auf der Plattform integriert werden sollen, einfacher gestaltet werden können.
So ist OSS bspw. auch im Fraunhofer IESE Projekt Smarte.Land.Regionen ein Thema. Dort sollen Open-Source-Lösungen zum Einsatz kommen. Dienste im Digitalen Ökosystem der Plattform sollen einfach und langfristig nutzbar gemacht werden. Hierzu sind schlussendlich auch die technischen Rahmenbedingungen mitentscheidend für den Erfolg eines dauerhaften Betriebs. Daher werden neben der Definition und einer Modellierung des Ökosystems sowie den rechtlichen Rahmenbedingungen auch technische Einflüsse und mögliche Geschäftsmodellentscheidungen durch eine gezielte Open-Source-Strategie berücksichtigt und unterstützt.
In Richtlinien zur Vergabe öffentlicher Projekte finden immer häufiger Klauseln Einzug, welche die Realisierung als Open Source Software vorsehen (Open Source in der Öffentlichen Verwaltung). Die vom Fraunhofer IESE im Themengebiet Smart City bearbeiteten Projekte weisen häufig diese Förderrichtlinie auf, da hier oft dem Credo »public money, public code« gefolgt wird. Neue Projekte in diesem Bereich müssen oft von Anfang an mit dem Gedanken an eine Open-Source-Veröffentlichung entwickelt werden. Aber auch bestehende Projekte könnten davon betroffen sein und müssen während ihres Entwicklungszyklus oder bei Projektende unter einer Open-Source-Lizenz veröffentlicht werden.
Im Artikel »Open Source Prozesse für (Bestands-)Software« gehen unsere Kollegen Christoph Müller und Steffen Hupp auf die
verschiedenen Möglichkeiten ein, eine Software Open Source zu stellen und wie man nach der Veröffentlichung sich um die Moderation der
Projekte kümmern kann.
Open Source und Künstliche Intelligenz?
KI (Künstliche Intelligenz) und Open Source sind zwei separate Konzepte, die jedoch miteinander verbunden werden können. In den letzten Jahren hat es eine zunehmende Anzahl von Open Source-Projekten gegeben, die sich auf KI konzentrieren. Diese Projekte stellen KI-Tools, Frameworks und Bibliotheken zur Verfügung, die von Entwicklern verwendet werden können, um KI-Anwendungen zu erstellen. Durch die Offenlegung des Quellcodes können Entwickler auf hochwertige KI-Tools und -Technologien zugreifen und diese an ihre spezifischen Anforderungen anpassen. Open Source ermöglicht eine größere Transparenz und Zusammenarbeit in der KI-Entwicklung.
Lesetipp: Seit Ende 2022 ist die Welt im ChatGPT-Fieber. Es vergeht kaum ein Tag ohne Meldungen zu generativer KI, KI-gestützten Chat-Bots und Large Language Models (LLMs), sogenannter großer Sprachmodelle. Open Source Large Language Models und deren Betrieb thematisieren wir in einem separaten Blog-Beitrag und geben Tipps für den Einstieg in das Thema.
Referenzen
[1] Nerlich, J. (2019, November). Survive with Open Source in the rich man‘s world. Vortrag auf der 20th International Conference on Product-Focused Software Process Improvement (PROFES). Online verfübar unter https://www.upc.edu/gessi/profes2019-slides/201911_KeynotePROFES19-JenniferNerlich.pdf, zuletzt geprüft am 29.06.2020.
[2] Red Hat. https://www.redhat.com/en/topics/api, zuletzt geprüft am 29.06.2020.
[3] Open Source Initiative. The Open Source Definition. Online verfügbar unter https://opensource.org/osd, zuletzt geprüft am 29.06.2020.
[4] Bitkom e.V.. Open Source Monitor Studienbericht 2019. Online verfügbar unter https://www.bitkom.org/sites/default/files/2020-04/200420_de_bitkom_studie_openmonitor_2019.pdf, zuletzt geprüft am 29.06.2020.
[5] Free Software Foundation. GNU Betriebssystem, Online verfügbar unter https://www.gnu.org/, zuletzt geprüft am 26.08.2020
[6] Free Software Foundation. GNU Betriebssystem. Copyleft. Was ist das?. Online verfügbar unter https://www.gnu.org/licenses/copyleft.de.html, zuletzt geprüft am 29.06.2020.
[7] Bitkom e.V.. Leitfaden Open Source Software – Rechtliche Grundlagen und Hinweise. Online verfügbar unter https://www.bitkom.org/sites/default/files/file/import/060601-Publikation-OSS-Version-10.pdf, zuletzt geprüft am 29.06.2020.
[8] Thomas Di Giacomo (2020, Juni). Open Source ist die Disruption, die Unternehmen heute brauchen, Blogbeitrag, 29. Juni 2020, online verfügbar unter, https://www.zdnet.de/88381042/open-source-ist-die-disruption-die-unternehmen-heute-brauchen/, zuletzt geprüft am 26.08.2020