Schon seit langem suche ich nach einem Dokument, das halbwegs kurz und knapp darlegt, was freie Software und offene Standards sind und welche Bedeutung sie für unsere Wissens- und Informationsgesellschaft haben.
Da ich bis jetzt keines gefunden habe, das mich in meinen Ansprüchen zufriedenstellt und das auch noch meine Meinung zu diesen Themen widerspiegelt ;), habe ich es mir kurzerhand selbst geschrieben. Ein solcher Text kann diese komplexen Themen in der Kürze natürlich nicht vollumfassend abhandeln, sondern nur als grundlegender Einstieg dienen. Weiterführende Informationen mit vollständigen Analysen und Argumentationen sind in dem Text aber verlinkt. Here we go:
1 Freie Software
1.1 Was ist freie Software?
Freie Software (FOSS/FLOSS) ist Software, deren Lizenz die vier Freiheiten einräumt, die Software zu jedem Zweck zu verwenden, sie zu studieren — der Zugang zum Quelltext ist dafür eine Voraussetzung — und sie in ursprünglicher oder veränderter Form weiterzuverbreiten. Einige FOSS-Lizenzen sind mit einer Copyleft-Klausel versehen, die besagt, dass bearbeitete und wiederveröffentlichte Versionen der Software ebenfalls frei sein müssen. Aber auch die BSD-artigen Lizenzen, welche kein Copyleft einfordern, sind Freie-Software-Lizenzen.
Die vier Freiheiten ermöglichen es, dass sich im Prinzip jeder an der Softwareentwicklung beteiligen kann. Ob diese Änderungen dann von dem Projekt angenommen werden, ist wieder eine ganz andere Frage. Falls von einem FOSS-Projekt — aus welchen Gründen auch immer — Änderungen zurückgewiesen werden, bleibt im schlimmsten Falle aber immer noch die Möglichkeit das Projekt zu forken.
Der freien Software steht die proprietäre Software ( = »unfreie« Software) gegenüber, die diese Freiheiten nicht (vollumfänglich) bietet. Auch Freeware ( = Software, die man kostenlos verwenden kann) kann proprietäre Software sein, wenn sie die vier Freiheiten nicht einräumt.
1.2 Beispiele für freie und proprietäre Software
Beispiele für freie Software sind die verschiedenen GNU/Linux–Distributionen, wie z.B. Ubuntu, openSUSE, Fedora, Debian, Mandriva oder Gentoo, die BSD-Derivate wie FreeBSD, OpenBSD, NetBSD oder DragonFly BSD, die mobilen Betriebssysteme Symbian, Android und MeeGo, der Firefox-Webbrowser, die Office-Suite OpenOffice.org bzw. LibreOffice oder das Textsatzprogramm LaTeX.
Beispiele für proprietäre Software sind die Betriebssysteme Microsoft Windows, Apple Mac OS X und Apple iOS, Microsoft Office oder Adobe Photoshop. Bekannte Beispiele für proprietäre Freeware sind Skype, Apple iTunes, der Microsoft Internet Explorer, der Adobe Reader und der Adobe Flash Player.
1.3 Warum freie Software?
Software nimmt immer stärkeren Einzug in unseren Alltag und gewinnt in zunehmenden Maße Kontrolle über unser Leben: Software ist zu einer wichtigen Kulturtechnik geworden. Es ist daher von zentraler Bedeutung für unsere Informationsgesellschaft und durchaus auch für unsere Demokratie, dass die Kontrolle über diese Software nicht bei einzelnen großen Herstellern liegt, sondern bei der Allgemeinheit. Die vier Freiheiten bilden dafür eine notwendige Grundlage, denn sie machen einen transparenten Softwareentwicklungsprozess erst möglich. Sie stellen außerdem rechtlich und technisch sicher, dass — falls kein transparenter Entwicklungsprozess stattgefunden hat — die Software zumindest im Nachhinein überprüft und bei Bedarf angepasst werden kann.
Das bedeutet nun aber nicht, dass man nur von den Vorteilen freier Software profitiert, wenn man sich selbst an der Entwicklung aktiv beteiligt oder man Dritte dafür bezahlt, Änderungen für einen vorzunehmen. Der Grundgedanke freier Software impliziert ebenfalls nicht, dass nun jeder den gesamten Quellcode einer freien Software durchlesen muss, bevor man sie guten Gewissens einsetzen kann. Das ist im übrigen auch schier unmöglich — selbst, wenn man programmieren kann.
Vielmehr geht es bei freier Software um die transparente Kontrolle der verschiedenen Entwickler untereinander: Bei den großen freien Software-Projekten wie dem Linux-Kern, Firefox, OpenOffice.org/LibreOffice, KDE oder Gnome sind Parteien mit unterschiedlichsten Interessen an der Entwicklung beteiligt: von verschiedensten Firmen über die NSA und Forschungsgruppen bis hin zu Freizeit-Hackern. Man kann deswegen davon ausgehen, dass es keiner der beteiligten Parteien gelingen sollte, eine Funktion wie eine Backdoor in die Software einzubauen, die nur den Interessen einer Partei dient, und den anderen Parteien und der Allgemeinheit schadet. Zudem experimentieren extern noch weitere Akteure mit dieser Software, die sich nicht direkt an der Entwicklung beteiligen, die aber als weitere Kontrollinstanz fungieren. Insofern lässt sich freie Software als eine praktizierte Form des von Professor Pfitzmann mitgeschaffenen Konzepts der mehrseitigen Sicherheit sowie des Security-through-transparency-Prinzips verstehen.
1.4 Zum Verhältnis von freier und proprietärer Software
Ich bin nicht der Meinung, dass unbedingt alle Software frei sein sollte. Schnell kommt dann aber die Frage auf: Welche Software sollte denn dann frei sein und welche müsste es nicht unbedingt? Die einfachste Antwort: So viel wie möglich und besonders natürlich die wichtigen Teile ;).
Mit dieser Antwort begibt man sich aber schnell in eine schwammige Grauzone. Oft wird argumentiert, dass auch Mac OS X größere Komponenten freier Software wie Darwin und WebKit enthält und es keinen großen Unterschied macht, ob man nun Mac OS X verwendet oder ein GNU/Linux-System mit proprietären Elementen wie z.B. dem Adobe Flash Player. Es gibt da aber schon einen qualitativen Unterschied: Die meisten GNU/Linux-Distributionen lassen sich als ein System aus einer zusammenhängenden Grundmenge freier Software — mit möglicherweise einzelnen, abgegrenzten proprietären Komponenten (im Userland) — charakterisieren, Mac OS X und Windows hingegen nicht.
Ich bin überzeugt, dass es für eine freie Wissensgesellschaft sehr förderlich wäre, wenn eine relative Mehrheit oder zumindest eine signifikante Anzahl von Menschen ein solches System anwendet.
Es können im übrigen auch Menschen von freier Software profitieren, die sie gar nicht einsetzen, wenn sie nur verbreitet genug ist. Ein gutes Beispiel dafür ist der Firefox-Webbrowser: Als Microsoft ca. ab Mitte 2000 den ersten Browserkrieg als gewonnen ansehen konnte, war die Gefahr groß, dass sie damit die alleinige Herrschaft über die Webstandards bekommen würden. Mit proprietären Erweiterungen wie ActiveX und anderen schrittweisen Abweichungen von den bis dato offenen Webstandards hätten sie diese immer mehr unterlaufen und sich zu eigen machen können. Eine Einigung auf diese dann hauseigenen proprietären Webstandards wäre mit den kleineren konkurrierenden Herstellern anderer proprietärer Webbrowser wie Opera im Notfall bestimmt möglich gewesen. Erfreulicherweise kam es anders: Der Netscape stieg als freier Firefox wie ein Phönix aus der Asche und erlangte spätestens ab Ende 2005 weltweit eine ausreichend große Verbreitung, die jegliche Verstöße Microsofts in diese Richtung zum Scheitern verurteilte.
Abgesehen von diesen Erwägungen kann es natürlich auch praktische und pragmatische Gründe geben, die einem zum Einsatz einer bestimmten proprietären Software bringen. Es gibt leider (noch) einige Anwendungsbereiche, in denen der Verzicht auf proprietäre Software nur unter großen Schmerzen oder dem Verlust von sehr viel Funktionalität zu bewerkstelligen wäre. Ich bezweifle, dass es zielführend ist, in solchen Fällen dogmatisch auf freie Software zu beharren. Obwohl ich ihn aus verschiedenen Gründen nicht mag, verwende ich zum Beispiel den Adobe Flash Player, da ich ohne ihn einfach von zu vielen interessanten Anwendungen im Web ausgeschlossen wäre. Auch die Frage, ob man proprietäre Treiber im Linux-Kern einsetzen (können) sollte, führt immer wieder zu heftigen Diskussionen in der FOSS-Gemeinde. Proprietäre Treiber in einem monolithischen System führen das Prinzip der freien Software zwar ad absurdum. Ich denke aber, dass es besser ist, ein GNU/Linux-System mit einem proprietären Treiber zu verwenden, wenn kein akzeptabler freier Treiber existiert, als gleich auf ein vollständig proprietäres System zu setzen. Denn so lässt sich bessere Kompatibilität von vorhandener Hardware mit GNU/Linux gewährleisten und somit die Verbreitung von GNU/Linux und freier Software weiter fördern. Natürlich heißt das nicht, dass ich es nicht richtig fände, sich für freie Alternativen von proprietärer Software einzusetzen ;).
1.5 Weiterführende Informationen
Die Debatte »frei vs. proprietär« ist hier noch einmal in einem fingierten Streitgespräch zwischen Mario Sixtus und Sascha Lobo verkürzt und schön scherzhaft verpackt.
Tiefergehendere Informationen zu freier Software finden sich u.a. auf den Seiten der Free Software Foundation Europe (FSFE), auf deshalb frei.org, im Artikel FLOSS-based business models, sowie in den Büchern »Freie Software. Zwischen Privat- und Gemeineigentum« von Volker Grassmuck und »Two Bits: The Cultural Significance of Free Software« von Christopher Kelty.
2 Offene Standards
Mindestens genauso wichtig wie freie Software sind für eine freie Informationsgesellschaft offene Standards — z.B. für Dateiformate und (Internet-)Protokolle.
2.1 Definition offener Standards
Eine weitflächig etablierte und eindeutige Definition offener Standards existiert in der Form leider nicht. Es gibt namhafte Firmen, die patentbehaftete Standards definieren, deren Spezifikation nur gegen eine vierstellige Gebühr zu haben ist, und diese dann als »offene Standards« bezeichnen. Auf politischer Ebene weichen zur Zeit einige wenige große Unternehmen eine anfangs sehr scharfe und von vielen Organisationen ausgehandelte und anerkannte Definition offener Standards leider immer weiter auf.
Außerhalb vom großindustriellen Umfeld gibt es aber zumindest große inhaltliche Einigkeit darüber, was offene Standards sind und was sie ausmacht.
Eine kleine Eselsbrücke für die Definition offener Standards sind die »aeiou«-Kriterien: Nach diesen ist ein Standard dann offen, wenn er aufbauend, existierend, implementierbar, offengelegt und unabhängig ist.
2.2 Warum offene Standards?
Zitat FSFE: »Offene Standards ermöglichen es, alle möglichen Arten von Daten frei und ohne Veränderungen mit anderen zu teilen. Sie verhindern eine Herstellerabhängigkeit und andere künstliche Barrieren gegen Interoperabilität. Des Weiteren fördern sie die Auswahl zwischen Anbietern und technischen Lösungen. […] Regierungen und NGOs, die öffentliche Interessen vertreten, darunter auch Gruppen, die sich für freien Wettbewerb oder Verbraucherrechte einsetzen, sind im Allgemeinen starke Befürworter Offener Standards.« Offene Standards machen also einen fairen Wettbewerb auf dem IT-Markt überhaupt erst möglich und verhindern die Bildung von Monopolen.
Außerdem sind auch offene Standards eine Frage der Kontrolle: Momentan speichern und übertragen sehr viele Menschen einen Großteil ihrer Daten in proprietären Containern, die nur der goldene Schlüssel einer bestimmten Firma öffnen kann und über die diese eine Firma die volle Kontrolle hat. Offene Standards hingegen nehmen einzelnen Akteuren diese Möglichkeit zur alleinigen Kontrolle.
2.3 Offene Dokumentenformate
Als offener Standard zum Austausch und der Archivierung von Dokumenten hat sich das OpenDocument-Format (ODF) in vielen Kreisen bereits etabliert. Falls das Dokumente nicht weiterbearbeitet werden soll, eignet sich dafür besser das Portable Document Format (PDF).
Um Dokumente als ODF lesen oder speichern zu können, muss sich übrigens nicht jeder gleich Linux installieren — OpenOffice.org/LibreOffice (welches ODF standardmäßig verwendet) gibt es auch für Mac OS X und Windows. Außerdem gibt es diverse Plugins und Konverter für Microsoft Office, und die neuste Version von MS Office spricht ODF sogar nativ. Es geht also nicht darum, jemanden auszuschließen, nur weil sie oder er nicht ein bestimmtes Betriebssystem bzw. eine bestimmte Software hat — ganz im Gegenteil: offene Standards beziehen ein.
2.4 Weitere Beispiele für offene Standards
Weitere Beispiele für offene Standards finden sich unter anderem auf der deutschen oder der englischen Wikipedia.