Vor- und Nachteile von Open Source – mehr als nur kostenlose Software
In nahezu jedem erdenklichen Bereich lässt sich auf einem Git-Dienst wie GitHub oder GitLab ein passendes Open-Source-Projekt finden. Kostenlos und transparent. Die Auswahl reicht von diversen Programmierbibliotheken bis hin zu Photoshop-Alternativen wie Gimp, Libre-Office als Word-Alternative oder beliebten FTP-Clients wie File Zilla. Doch was sind die Vor- und Nachteile bei der Verwendung von Open-Source-Software? Und warum sollte ein Unternehmen die eigene Software unter einer Open-Source-Lizenz veröffentlichen?
Open-Source-Software nutzen: Vor- und Nachteile
Es gibt zahlreiche Gründe, warum man sich für Open-Source-Lösungen entscheiden sollte. Abgesehen von vielleicht fehlenden einzelnen Features gegenüber proprietärer Software gibt es für Privatnutzer selten Nachteile. Unternehmen sollten je nach Situation den Einsatz von Open Source aber nicht so leichtfertig beschließen. So werden sich etwa deutsche Krankenhäuser bei der Verwendung eines Krankenhausinformationssystems eher an SAP als an GitHub wenden. In einem Entwicklungsland – in dem ein Krankenhaus auch mal geringere finanzielle Möglichkeiten hat – kann eine Open-Source-Lösung die Rettung sein.
Nichtsdestotrotz können einige pauschale Pro- und Contra-Argumente aufgeführt werden, die sich dann auf zahlreiche Situationen anwenden lassen.
Pro-Argumente für die Verwendung von Open-Source-Software:
- Das Offensichtlichste zuerst: Der Einsatz und die Verbreitung von Open-Source-Software ist kostenlos.
- Entwicklungstempo: Falls eine große Community vorhanden ist, entwickelt sich ein Projekt oft schnell.
- Fehler können von jedem gefunden und auch behoben werden. Deswegen werden Fehler häufig schnell gefunden, da der Code regelmäßigen Reviews unterzogen wird.
- Software kann ohne Weiteres modifiziert und an die eigenen Bedürfnisse angepasst werden.
- Qualitätsdruck für die Entwickler: Auf Git kann nicht nur jeder den Code einsehen, sondern auch bis ins Detail nachvollziehen, welcher Entwickler wann welche Änderungen gemacht hat.
- Die eigene Reputation ist für viele Open-Source-Entwickler Anreiz genug, sich für ein Projekt zu engagieren.
- Häufig gibt es eine gute Dokumentation.
- Innovationspotenzial: Entwickler sind nicht an alte Firmenvorgaben gebunden und setzen oft eigene Ideen und Vorstellungen um.
Wer das liest, mag sich fragen, warum man überhaupt noch Geld für Software ausgeben sollte. Doch zu einigen der Pro-Argumenten gibt es auch eine andere Seite der Medaille.
Contra-Argumente der Nutzung von Open-Source-Software:
- Große Abhängigkeit von einer aktiven Community: Die Aktivität ist meist abhängig von der Nachfrage und dem Potenzial des Projekts. Damit wiederum steht und fällt die Weiterentwicklung eines Projekts.
- Es gibt weder Garantien noch einen klassischen Support. Hilfe erhält man jedoch meistens von der Community.
- Je nach Open-Source-Lizenz muss der Code von eigenen Modifikationen ebenfalls kostenlos veröffentlicht werden. Änderungen, die an Software unter der General Public License (kurz: GPL) getätigt werden und in irgendeiner Art und Weise an die Öffentlichkeit gelangen, müssen ebenfalls unter der GPL veröffentlicht werden.
- Fehler werden zwar schneller gefunden, potenzielle Angreifer können aber auch leichter Schwachstellen im Projekt ausfindig machen – vor allem, wenn ein Projekt eine weniger aktive Community besitzt.
Einige dieser Punkte können nur bedingt angeführt werden, sollte ein größeres Unternehmen hinter dem Open-Source-Projekt stehen. Ein von GitHub oder Facebook veröffentlichtes Framework wird kein Problem mit einer aktiven Community haben. Auch, weil die Unternehmen die Projekte in der Regel nicht sich selbst aka der Community überlassen, sondern eigene Teams haben, die weiterhin das Projekt vorantreiben und kontrollieren.
Wann und warum Unternehmen selbst Source-Code veröffentlichen sollten
Doch warum existiert eigentlich immer mehr Open-Source-Software von Unternehmen wie Facebook, Google, Microsoft und zahlreichen anderen? Warum sollte ein Unternehmen überhaupt eine Software offen und kostenlos veröffentlichen? Häufig wird Software dabei an sich gar nicht mehr verkauft, sondern es wird auf das Cloud-Computing-Konzept Software-as-a-Service (kurz: SaaS) gesetzt. Es geht also um den Verkauf einer Dienstleistung – nicht eines Produkts. Aber auch das Veröffentlichen eines Frameworks oder kleinerer Software, die ein allgemeines Problem der Softwareentwicklung behebt oder erleichtert, kann viele Vorteile mit sich bringen.
Am Rande sei noch erwähnt, dass die oben genannten Tech-Konzerne auch weitgreifendere Gründe für das Bereitstellen einer freien Software haben können. Der Code-Editor Visual Studio Code von Microsoft beispielsweise. Auf der einen Seite steigt Microsofts Reputation bei der Open-Source-Community auch wegen zahlreicher anderer offener Projekte zunehmend. Andererseits ergibt Visual Studio Code für Microsoft Sinn, da er die Arbeit mit ihrer eigenen Cloud-Computing-Plattform Azure erleichtern kann, die inzwischen einen großen Teil der Unternehmensgewinne ausmacht.
Die Frage – sollte ein Unternehmen eigene Software unter einer Open-Source-Lizenz auf einen Git-Dienst hochladen – ist also keinesfalls leicht zu beantworten. Die Antwort ist von diversen Faktoren abhängig und sehr vielschichtig. Wird ein Service oder die Software an sich verkauft? Gefährdet die Veröffentlichung sogar einen Teil des Kerngeschäfts? Soll nur ein Teil oder die gesamte Software publiziert werden? Welche Gefahren gibt es womöglich? Welche Vorteile können erzielt werden? Zumindest Letzteres lässt sich in einigen Stichpunkten leichter beantworten:
Gründe für das Veröffentlichen von Source-Code:
- Open-Source-Code kann gute Werbung für das Unternehmen sein.
- Wird das Projekt populärer, können externe Open-Source-Entwickler viel Arbeit abnehmen. Das spart Kosten und eigene Entwicklungsarbeit.
- Bei erhöhter Entwickler-Anzahl werden meist mehr Anwendungsfälle untersucht, was zu einem robusteren Code führt.
- Wird spannende oder innovative Software veröffentlicht, erhöht das nicht nur die Reputation des Unternehmens, sondern kann zudem junge Talente anziehen.
- Talentierte Entwickler haben des öfteren Interesse, für ihr Portfolio an Open-Source-Projekten mitzuwirken.
- Je nach Software wird das Innovationspotenzial erhöht, da viele neue spannende Ideen durch eine aktive Open-Source-Community einfließen.
Insgesamt kann das Veröffentlichen der eigenen Software zu günstigem Marketing und effektiver sowie hochwertiger Produkt-Entwicklung führen. Doch wirklich Sinn ergibt das nur, wenn auf der Grundlage der Open-Source-Software eine Dienstleistung verkauft wird. Wenn die Software selbst verkauft werden soll, könnte es sich noch auszahlen, nur einen Teil des Software-Codes zu veröffentlichen und diesen mit einem proprietären Teil zu verkaufen. Auch sind fast alle der genannten Vorteile stark von einer sich bildenden aktiven Community abhängig. Es sollte zuvor also abgeschätzt werden, ob überhaupt Potenzial existiert, dass talentierte Entwickler Interesse zeigen. Ist das Projekt spannend, innovativ und einzigartig? Andernfalls entstehen wenig Vorteile bei der Softwareentwicklung.
Jetzt brauchen wir deine Stimme! Unterzeichne jetzt die Petition „Public Money, Public Code” und teile diesen Artikel auf deinen sozialen Netzwerken mit dem Hashtag #FreierCode!
Jetzt Petition unterzeichnen!