Was ist eigentlich Open Source Software?
Was darf ich damit machen? Wo versteckten sich die Kosten?
Dieser Beitrag soll die häufigsten Fragen zur Open Source erklären.
Starten wir!
Was ist Open Source Software?
Open Source Software ist eine Software, deren Quellcode für alle einsehbar und anpassbar ist.
Der Gegensatz zu Open Source ist Closed Source Software, bei denen der jeweilige Softwarehersteller nur das ferstellte Programm in einem unleserlichen Format zur Verfügung stellen.
Die meisten Programme basieren auf einen „lesbaren“ Quellcode, der der Computer nach der Kompilierung in Binärcode übersetzt (das einzige was der Computer versteht). Der Binärcode ist sehr schwer zu lesen und abzuändern.
Steffen Lippke
Beispiele für Open Source Projekte sind:
- Betriebssystem Linux (Kernel) und Derivate
- Blogger-Plattform WordPress
- Kryptowährung Bitcoin
- MS-Office Alternative LibreOffice
- Browser Firefox
- Bildbearbeitung GIMP
- Entwicklungsumgebung Visual Studio Code
Im Gegensatz dazu ist Closed Source:
- Microsoft Windows
- Apple macOS und iOS
- Microsoft Office
- Apples Safari
Zur Open Source gehört Wissen und Informationen
- Musik (FreeSound, C00 Bilder)
- Inhalte (Wattpad)
- Zugriffe auf Ressourcen
- Hardware
- Standards
- Innovation
- Education (Wikipedia)
Ist Open Source Software immer kostenlos?
Ja – der Quellcode ist kostenlos.
Der Quellcode ist kostenlos verfügbar.
Steffen Lippke
Du kannst Dir das Programm kompilieren, um die Software ausführen zu können. Keiner ist verpflichtet Dir zu helfen, wenn die Software einen Fehler hat, Dein Computer abstürzt oder Du nicht weiterkommst. In der Realität helfen Dir aber freiwillig die netten Entwickler, welche die Software programmiert haben.
Kann man mit Open Source Geld verdienen?
Ja. Sogar sehr viel.
Als Entwickler der Software kennst du die Software am besten.
Wenn andere Deine Software nutzen und darauf vertrauen, dass die Software funktioniert, dann fragen Sie Dich um Hilfe. Große Unternehmen bieten ihren „Support“ gegen Bezahlung an.
Um Kosten zu sparen, kannst Du Dich selbst in die Software reindenken und selbst den Fehler beheben.
Ist Open Source Software unsicherer als andere Software?
Nein (in den meisten Fällen nicht).
Viele (fähige) Programmierer haben die Open Source Software getestet und überprüft.
Die Schwachstellen (Einschlupfloch für Hacker) sind seltener in einer Open Source Software als in einer Closed Software. Die Hersteller eine Closed Software sollten aufwendige und teure Penetrations-Tests durchführen, um die Sicherheit zu gewährleisten.
10.000 Augen sehen mehr als 100 Augen.
Steffen Lippke
Wie gut ist der Support bei Open Source Software?
Kommt auf die Software an.
Einige sehr große und aktive Communities betreuen die Softwareprojekte tagtäglich. Diese können Dir im Falle eines Falles schnell helfen. Natürlich – musst Du nett und freundlich sein, damit Dir geholfen wird.
Der Support findet auf freiwilliger Basis statt.
Warum sollten wir nur Open Source Software verwenden?
Open Source ist aus den folgenden Gründen besser als Closed Source:
- Kostenlos: Jeder der nicht im Geld schwimmt, liebt Kostenloses. Die Einrichtung einer Open Source Lösung vermeidet hohe Lizenzkosten und Knebel-Verträge. Eine Software besitzt geringe Vervielfältigungskosten (Strom für die Übertragung).
- Höhere Sicherheit: Das Kerkhoff´sche Prinzip besagt, dass eine Software bzw. ein Algorithmus sicher ist, wenn dieser öffentlich zu Diskussion steht. Der Code muss vollumfänglich verfügbar sein.
- Anpassbar: Die meiste Closed Software kannst Du nicht erweitern, nach Deinen Vorstellungen abändern oder einen nervenden Fehler beheben. Einige Closed Software ist Plugin-fähig oder bietet Dir erweiterte Einstellungsmöglichkeiten an. Bei Open Source setzt Du Dir keine Grenzen…
- Keine Abhängigkeit von einem Unternehmen: Wenn Du eine Closed Software kostenlos nutzt oder käufst, könnte das Unternehmen jederzeit ihre Softwareentwicklung einstellen. Sie könnten Änderungen veröffentlichen, die Dir nicht gefallen. Wenn Du die Software weiternutzen willst, muss Du dem Unternehmen folgen:
- Preisänderungen
- Feature-Änderungen
- Nicht Lösen von Fehlern
- Weniger Vendor-Login: Die meisten Open Source Lösungen bieten eine Exportmöglichkeit für die Nutzungsdaten an. Closed Source Anbieter wollen das vermeiden, um den Kunden an die Software zu binden.
- Doppelarbeit vermeiden: Ein Softwareentwickler muss das Rad nicht jedes Mal neu erfinden. Funktionierenden Code kann ein Entwickler wiederverwenden, wenn er das Urheberrecht und die Lizenzbedingungen beachtet.
Was ist Freie Software bzw. Open Source Software?
Freie Software (GNU Foundation) untergliedert sich unter Open Source Software. Nicht jedes Open Source Projekt ist frei, weil nicht jeder Entwickler ein strenges Copyleft will.
Was ist Copyleft?
Wenn ein Entwickler einen Code mit einem Copyleft verwendet, muss der Entwickler seine eigene Software auch mit einem Copyleft veröffentlichen. Wenige kommerziell orientierte Unternehmen nutzen eine Copyleft Software, weil diese sonst ihren Source Code kostenlos veröffentlichen müssen. Copyleft fordert keinen binären Code / kompilierte Version, das Fixen von Bug, eine Dokumentation oder guter Support.
Die Free Software Foundation von Richard Stallman sieht Closed Software als Malware an. Per Definition ist Malware Software, die sich schädlich verhält. Eine Closed Software, die nicht anpassbar ist, kann Bugs beinhalten, die sich schädlich verhalten. In meinen Augen ist diese Ansicht etwas weit hergeholt, aber von der Idee her ist diese Idee korrekt.
Was muss ich bei einer Open Source Lizenz beachten?
Open Source ist nicht gleich Open Source.
Nach dem Urhebergesetz kann jeder in Deutschland für seinen Code / Inhalt ein Nutzungsrecht festlegen. Das Internet bietet verschiedene Lizenztexte an, welche Institutionen zur Verfügung stellen.
Wenn aus einer Software keine Lizenz sichtbar ist, dann handelt es sich um Closed Software. Selbst wenn der Quellcode öffentlich einsehbar ist, darfst Du den Code nicht kopieren oder nutzen.
- GPLv3 Lizenz: Strenges Copyleft soll die Verbreitung von Open Source vorantreiben.
- MIT Lizenz: Du kannst diese Software kommerziell nutzen.
- Weitere Lizenzen: Apache, BSD, …
Kann ich bei Open Source mitmachen?
Du musst nicht mal programmieren können: Aufmerksame Nutzer können Fehler als „Issue“ auf Github melden, dass die Entwickler die Fehler beheben können.
Steffen Lippke
Als unerfahrener Nutzer kannst Du Anfragen stellen, welche Features cool wären (Feature Request). Außerdem kannst Du bei der Verteilung der Software mithelfen, um diese populärer zu machen.
Wenn Du den Code ändern willst, kannst Du entweder
- Dir das Projekt kopieren und erweitern („Fork“)
- Deinen Code direkt in das Open Source Projekt integrieren lassen („Pull Request“)
Über den Fork hast Du die volle Macht und kannst den Code nach Deinen Ansprüchen anpassen.
Bei einem Pull Request überprüfen die Erfinder (Maintainer) der Software, ob die Änderung in das bestehende Projekt passt. Sie überprüfen, ob …
- … das neue Feature funktioniert
- … die Art und Weise der Programmierung einen „Mindeststandard“ entspricht
- … Du keine Malware oder Backdoor in den Code integrieren willst.
- … das Feature für den nächsten Release geeignet ist.
Entweder…
- lehnt der Maintainer den Pull Request ab
- stellt Voraussetzungen als Verbesserungsvorschläge für Deinen Code
- integriert den neuen Code in das große Projekt (Merge).