Freie Software ist wohl jedem ein Begriff. Doch was ist das eigentlich? Die einen verstehen darunter Programme, für die sie nichts bezahlen müssen, andere denken dabei an Software, die von jedem kopiert werden darf. Beides ist nicht ganz falsch – aber auch nicht vollständig richtig.
Was bedeutet „frei“?
Freie Software hat nichts mit dem Preis zu tun, sondern mit Freiheit. Das klingt nach Wortklauberei, ist aber entscheidend: Im Englischen spricht man von free software. „Free“ bedeutet zwar sowohl „frei“ als auch „kostenlos“, aber gemeint ist hier „frei“ wie in „Freiheit“, nicht wie in „Freibier“.
Konkret geht es um vier grundlegende Freiheiten für die Personen, die die Software nutzen:
- Die Freiheit, das Programm für jeden Zweck auszuführen.
Niemand darf vorschreiben, wofür eine Software verwendet wird. Ob privat, beruflich, in der Forschung oder für künstlerische Experimente – freie Software kennt keine Nutzungsverbote aufgrund von Branche, Region oder Einsatzzweck. - Die Freiheit, den Programmcode zu untersuchen und zu verändern.
Der Quellcode muss zugänglich sein, sonst bleibt die Software eine Blackbox. Nur mit offenem Code kann man verstehen, was das Programm tatsächlich tut, und damit Sicherheitslücken aufspüren oder Funktionen anpassen. - Die Freiheit, Kopien weiterzugeben.
Man darf das Programm vervielfältigen und an andere weitergeben. Rechtlich sauber, ohne schlechtes Gewissen und ohne komplizierte Lizenzverhandlungen. - Die Freiheit, veränderte Versionen weiterzugeben.
Wenn man das Programm verbessert, Fehler behebt oder an spezielle Bedürfnisse anpasst, darf auch diese angepasste Version wieder verteilt werden. So entstehen mit der Zeit Varianten, die an sehr unterschiedliche Einsatzgebiete angepasst sind.
Erst wenn all diese Freiheiten gewährt werden, spricht man im strengen Sinne von „freier Software“. Eine Anwendung, die nur kostenlos heruntergeladen werden kann, deren Quellcode aber geheim bleibt und die nicht weitergegeben oder verändert werden darf, ist also keine freie Software – auch wenn sie auf den ersten Blick „gratis“ ist.
Open-Source-Software
Oft taucht in diesem Zusammenhang auch der Begriff Open Source auf, also Software, deren Quellcode öffentlich zugänglich ist. Freie Software sollte, wie oben schon beschrieben, immer auch Open Source sein. Es gibt den Begriff „Open Source“ vor allem deshalb, weil der Fokus des Begriffs ein anderer ist. „Freie Software“ betont vor allem die ethische und gesellschaftliche Dimension, „Open Source“ stellt eher die praktischen Vorteile in den Vordergrund: bessere Qualität durch offene Entwicklung, schnellere Innovation, flexiblere Anpassung.
Und Open Source heißt nicht zwangsläufig, dass die Software auch frei ist: Bei proprietärer Software, deren Quellcode durchaus öffentlich zugänglich sein kann, liegt die Kontrolle über die Software beim Hersteller. Er bestimmt, welche Funktionen es gibt, welche Daten gesammelt werden, und unter welchen Bedingungen die Software genutzt werden darf. Ein Beispiel dafür ist MongoDB: der Quellcode ist frei, doch die Benutzung unterliegt dennoch der Lizenzierung durch den Hersteller. Andere Software basiert auf quelloffener Software, aber alle verfügbaren Erweiterungen sind proprietär – das bezeichnet man als Open Core. Die Kernfunktion ist Open Source, der Rest nicht. Ein Beispiel hierfür ist MySQL: Die Community-Version ist Open Source, die Enterprise-Edition mit ihren Zusatzfunktionen nicht. Und schlussendlich gibt es natürlich auch noch die Variante, dass Hersteller sich quelloffene Software nehmen, verändern und proprietär weiterentwickeln. Hier dient als Beispiel Google Chrome: Chromium, die Basis, auf der Chrome aufgebaut ist, ist frei. Google hat den Code genutzt, verändert und nicht zur Verfügung gestellt.
Bei freier Software wird diese Macht über die Software auf alle verteilt, die die Software verwenden und weiterentwickeln. Dadurch können Gemeinschaften entstehen, die eine Software gemeinsam tragen und über ihre Zukunft mitbestimmen. Ein bekanntes Beispiel dafür ist das Computerbetriebssystem Linux. Tausende Entwicklerinnen und Entwickler auf der ganzen Welt tragen mit Code, Tests, Dokumentation oder Übersetzungen dazu bei. Entscheidungen darüber, welche Funktionen hinzukommen oder wie Sicherheitslücken geschlossen werden, werden nicht von einem einzelnen Unternehmen getroffen, sondern in Mailinglisten, Foren und öffentlichen Repositorys diskutiert. Wer möchte, kann sich beteiligen, sei es durch Beiträge im Quellcode oder durch das Melden von Fehlern und Wünschen für neue Funktionen.
Dadurch, dass Veränderungen diskutiert werden, ist Open-Source-Software oft ein wenig komplizierter weiterzuentwickeln als proprietäre Software. Doch meiner Meinung nach ist es diesen Preis mehr als Wert: Transparenz und die zahlreichen Perspektiven sorgen dafür, dass Open-Source-Software viel besser auf den wahren Nutzen für die User zugeschnitten wird als es proprietäre Software je könnte.