Was ist Open Source?
Open Source ist ein Sammelbegriff für Software-Lizensierung, die es dem Nutzer ermöglicht die bereitgestellte Software kostenfrei zu nutzen und den Quellcode sowohl einzusehen als auch zu verändern.
Die Geschichte
- 1985: Gründung der Free Software Foundation
- 1994: Veröffentlichung der Release 1.0 Version des freien Betriebssystems Linux
- 1998: Netscape veröffentlicht den Quellcode des Netscape Navigators, dem Vorläufer des Mozilla Projekts
- 1999: Im Zuge einer Marketingoffensive prägte die Free Software Foundation den Begriff „Open Source“
- 1999: Gründung der Open Source Initiative
Das Dogma von Open Source
Freie Verfügbarkeit des Quellcodes
Der Quellcode der Software muss vorliegen. Da Quellcode ein sehr weitläufiger Begriff ist, der auch sehr hardwarenahe Szenarien einbindet, definiert die Open Source Initiative hier, dass dieser „in einer für den Mensch lesbaren Form“ existieren muss. Das ist in der Regel eine höhere Programmiersprache, da Binär- und Hexadezimalcode für den Menschen semantisch schwer entzifferbar ist.
Freie Vervielfältigung und Nutzung
Die Software darf von Jedermann beliebig oft und beliebig lange genutzt werden. Die Vervielfältigung ist ohne Einschränkungen erlaubt, solange diese nicht kommerzialisiert wird.
Freie Veränderung
Jede Nutzerin und jeder Nutzer hat das Recht die Software bzw. den Quellcode zu verändern und diesen in veränderter Form weiter zu geben.
Unterschiedliche Lizenztypen
Nicht jede Open Source Lizenz ist gleich. So gibt es zwischen den einzelnen Lizenzen Unterschiede, die für den Endbenutzer relevant sind, oder relevant sein können, darum möchten wir hier ein paar Umreisen. Alle der folgenden Lizenzen obliegen dem Dogma der Open Source Lizenzen.
- GNU AGPLv3: Diese Lizenz stellt die meisten Bedingungen an den Endbenutzer. Schlussendlich dienen diese Bedingungen dem Allgemeinwohl aller Nutzer, jedoch bedeuten sie für den Einzelnen auch mehr Aufwand. Sofern Software veröffentlicht wird, muss dies ebenfalls unter der gleichen Lizenz geschehenen mit einer Liste aller Änderungen, die bei der Weiterentwicklung im Vergleich zur Vorgängerversion gemacht wurde. Jeder Benutzer hat ein Recht auf den Quellcode, auch wenn er die Software per Webzugriff nutzen sollte.
- Mozilla Public License 2.0: Bei dieser Lizenz muss der Code nur bei Verteilung und nicht bei der Nutzung zwangsläufig vorliegen. Änderungsstatements sind ebenfalls obsolet. Wichtig für kommerzielle Nutzer ist, dass es im Vergleich zu den zahlreichen GNU Lizenzen keine Möglichkeit gibt sich auf das Trademark-Recht zu berufen. Veränderte Software muss aber ebenfalls unter der gleichen Lizenz veröffentlicht werden.
- MIT License: Diese Lizenz ist von den drei genannten die am schwächsten regulierte. Die einzige Bedingung der Nutzung ist es, weiterverarbeitete Software unter der gleichen Lizenz zu veröffentlichen. Im Gegensatz zu den vorherigen bietet sie aber keinen Patentschutz an und ist somit für innovative Entwicklungen eher weniger geeignet.
Wer sich über die Möglichkeiten und Beschränkungen einzelner Lizenzen im Detail informieren möchte, den können wir Choosealicense nahelegen.
Beispiele für Open Source
Die wohl größte Open Source Software ist Linux mit allen daraus resultierenden Distributionen. Neben Windows und MacOS ist es das größte Betriebssystem und findet in vielen Geräten wie Routern oder Multimedia-Receivern Verwendung.
Softwareentwickler aller Art profitieren ebenso von GitHub, die einen frei nutzbaren Datei- und Versionenverwaltungssystem für Software-Projekte bereitstellen.
Open Source Testautomatisierung
Der Trend zu Open Source Anwendungen macht auch vor der Testautomatisierung nicht halt. Beliebte Testautomatisierungsframeworks wie Appium oder Selenium werden ebenfalls unter einer Open Source Lizenz geführt. Auch Projekte wie Karma Test Runner, Jasmine, Galen Framework, WebDriverIO, Karate-DSL, Robot Framework und viele mehr, werden Open Source bereitgestellt.
Selbst Microsoft, ursprünglich von der Community als „das Böse“ betitelt, setzt sich seit der neuen Ära von Sathya Nadella als CEO von Microsoft extrem stark für die Open Source Produkte ein und implementiert inzwischen einen Open Source WinAppDriver (WinAppDriver bei Github) mit dem Windows Applikationen automatisiert werden können.
Weitere Projekte
Der Begriff ist mittlerweile nicht mehr nur auf Software bezogen, sondern umfasst auch andere Bereiche. Die freie Enzyklopädie Wikipedia ist ebenfalls ein gigantisches freies Projekt und finanziert sich rein aus Spenden. Die Creative Commons License ermöglicht in diversen Ausführungen die freie Verwendung von Bildern, auch für kommerzielle Zwecke und Open Government möchte den Bürgern den Zugang zu Regierungsressourcen erleichtern.
Vor- und Nachteile von Open Source Software
Vorteile
- „Ethisch“ unbedenklich, da keine Funktionalität versteckt werden kann
- Breite und leicht zugängliche Dokumentation
- Kostenlos nutz- und modifizierbar
- Ständige Weiterentwicklung, dadurch geteilter Aufwand
- Keine Abhängigkeit von Herstellerfirmen
- Gegenseitiges Code-Review und bessere Erkennung von Sicherheitslücken
Nachteile
- Die homogene Codequalität ist nicht gesichert
- Es gibt sehr viele verschiedene Open Source Lizenzen, die unter Umständen nicht kompatibel zueinander sind
- Bei fehlenden, freiwilligen Committern wird die Software nicht aktualisiert und weiterentwickelt.
- Für viele Open Source Projekte gibt es bis auf die Community keinen professionellen kommerziellen Support