Die folgende Ausarbeitung wurde in kürzerer Fassung aufgenommen. Hier geht's zum Video. Diese Arbeit soll zeigen, was Entwickler dazu motiviert an einem Open-Source-Projekt (hier FLOSS-Projekt, für Free Libre Open Source Software) teilzunehmen oder gar die eigene Idee in einem FLOSS-Projekt zu verwirklichen. Da es verschiedene Auffassungen davon gibt, was FLOSS ist, wird zunächst eine eigene Definition aufgestellt. Danach werden Vor- und Nachteile von Open-Source an sich aufgelistet. Im Weiteren werden die Sichten von Gründer und Teilnehmer eines FLOSS-Projektes geschildert. Am Ende werden die gewonnenen Fakten zusammengetragen.
Der Begriff Open-Source aus dem Englischen übersetzt heißt freie Quelle. Es ist ein Konzept, nach welchem die Programme mit ihrem Quellcode ausgeliefert werden. Das Gegenstück dazu sind proprietäre Programme, welche kompiliert und dann ausgeliefert werden, sodass der Quellcode nicht mehr einsehbar ist.1 Für die Open-Source-Software existieren zwei Begriffe (FLOSS und FOSS).Sie entstanden, um den Namenstreit zweier Bewegungen zu umgehen, nämlich einmal der Freien Software und der Open-Source-Software. Das L in FLOSS soll betonen, dass es sich nicht unbedingt um kostenlose, sondern freie (libre) Software handelt. Die Begriffe werden in Projekte öfters genutzt, um das Marketing für Freie Software bei Firmen voranzutreiben.2 Das gute Marketing für Open-Source hat in den letzten Jahren dafür gesorgt, dass zwischen 70 (IDC 2006) und 85 (Gartner 2008) Prozent der deutschen Unternehmen Open-Source-Anwendungen nutzen.3 Doch was ist die Motivation hinter Open-Source? Was haben Firmen oder Mitentwickler davon, ihren Code mit auszuliefern? Warum sollten freie Entwickler an einem Projket teilnehmen und Arbeit in etwas stecken, für das sie kein Gehalt bekommen? In den folgenden Kapiteln wird darauf eingegangen.
Tatsächlich bietet FLOSS viel mehr Vorteile, als zuerst erkennbar. Die Anzahl der Nutzer von Github steigt täglich. Waren es 2016 noch ~24 Millionen, sind es heute (Juli 2018) schon ~41 Millionen Nutzer.4 Natürlich gibt die Anzahl der Nutzer keinen Aufschluss darüber, wie aktiv an Projekten gearbeitet wird. Es zeigt aber, dass allein auf GitHub großes Interesse darin besteht an FLOSS-Projekten teilzunehmen. Die Open-Source-Community hat also mehr Entwickler, als proprietäre Software-Firmen. Da der Code auch für Nicht-Mitglieder oder -Teilnehmer sichtbar ist, ensteht automatisch ein Druck auf Qualität und gute Lesbarkeit. Dokumentation im Code wird wichtiger, je mehr Entwickler an einer Datei schreiben; vor allem, wenn die meiste Kommunikation zwischen den Entwicklern nur in Chats geschieht. Ein weiterer nicht unwichtiger Punkt ist, dass Entwickler, die privat entwickeln frei von Firmenvorschriften sind. Es gibt einige Regelungen, die innerhalb eines Projektes eingehalten werden müssen. Ansonsten kann jeder Entwickler einen Beitrag leisten, an dem Projekt, das ihm am meisten zusagt. Es gibt auch negative Aspekte, die beachtet werden sollten, wenn eine Open-Source Software für eigene Zwecke verwendet wird.
Ein Open-Source Projekt kann verschiedene "Lebensspannen" haben. Gemeint ist, dass viele kleine Projekte nach kurzer Zeit nicht mehr weiterentwickelt werden, wohingegen größere, beliebtere Projekte länger aktuell bleiben. Ein Faktor dafür ist, wie schon gesagt, die Beliebtheit des Projektes. Finden sich keine Entwickler, die sich an aufkommende Probleme im Projekt setzen, kann das Projekt irgendwann aufgegeben werden. Weitere Aspekte können sein, die Nachfrage von Nutzern, oder die Rentabilität. Proprietäre Software hingegen hat häufig eine längere Lebensspanne, da die Entwickler für eine Weiterentwicklung von den Nutzern bezahlt werden. Eine Weiterentwicklung im kommerziellen Rahmen kann vertraglich abgesichert werden5. Baut die eigene Firmensoftware auf ein kleines Open-Source-Projekt auf, kann es sein, dass der Grundstein nach einiger Zeit veraltet ist. In vielen Fällen werden Probleme, die in der Software auftauchen auf der Seite des Entwicklers "geposted" und ein Entwickler wird sich nach einiger Zeit daran setzen, das Problem zu lösen. Ein richtiger Support ist eher bei größeren Projekten zu finden (da dieser für seine Arbeit bezahlt wird). Auch wird meistens keine Garantie auf Funktionalität oder Sicherheit der Daten gegeben. Bei kommerzieller Software steht eine Firma oder ein Versicherung hinter der Software.
Warum sollte jemand seine Idee verbreiten und anderen Entwicklern zur Verfügung stellen? Dafür gibt es mehrere Gründe. Zum Einen kann mit der Idee auch Nachträglich noch Geld verdient werden. Häufig werden kommerzielle Produkte/Services als Grundbaustein für weitere Programme genutzt. Diese kosten selbstredend Geld. Ein kostenloser Service ist, finanziell gesehen, ansprechender. Das führt zu erhöhtem Traffic auf der Seite. Unter Umständen können auch andere Projekte des Betreibers mehr Aufmerksamkeit erregen. Außerdem können spätere Vertragsabschlüsse oder Provisionen erziehlt werden. Der Voteil, dass es eine größere Manpower in der Open-Source Szene gibt, kann auch genutzt werden, um das eigene Projekt voranzutreiben. Ein Beispiel hierfür ist Apache Hadoop. Apache Hadoop wurde anfangs von Yahoo entwickelt. Später wurden Teile des Services zur Weiterentwicklung veröffentlicht. Unter anderem haben auch Entwickler bei Google mitgeholfen das Projekt schließlich zu beenden. Schlussendlich ist es auch eine Freude zu sehen, wie das eigene Projekt an Beliebtheit dazugewinnt und in einigen Fällen einen Standard darstellt.
Auch das Beitragen an fremden Projekten lockt mit einigen Vorteilen. Zum Einen gewinnt der Mitentwickler an Reputation, die sich auf das Berufsleben positiv auswirken kann. Als Zweites kann der Entwickler sich selbst fortbilden, indem er sich mit bislang neuen Projekten oder Methoden beschäftigt. Und schließlich werden knapp 42% der Entwickler in der Open-Source-Szene für ihre Arbeit bezahlt. So erzählt ein Artikel bei heise.
Die Open-Source Szene hat also mehrere Vorteile, darunter die Man-Power, die Qualität und der Qualitätsdruck, gute Dokumentation und ein erhöhtes Maß an Freiheit. Auf der anderen Seite gibt es die unsichere Weiterentwicklung und häufig fehlende Garantie/ fehlender Support. Es bleibt also immer noch abzuschätzen, ob die Vorteile persönlich die Nachteile überwiegen. Die Teilnahme an Open-Source Projekten und die Anzahl dieser steigt stetig, was die Auswahl an gleichartiger freier Software erhöht. Da auch mit freier Software Geld verdient werden kann, könnte kommerzielle Software in einiger Zeit von der freien abgelöst werden.
Footnotes
-
UserID's werden iterativ vergeben, also leicht nachvollziehbar ↩
-
https://wiki.opensourceecology.de/Vorteile/Nachteile_von_Open_Source_Software ↩