Freiheit und Flexibilität: Die Prinzipien der Freien Software

Wir benutzen sie fast täglich und ganz selbstverständlich, oft ohne uns darüber im Klaren zu sein. Sie kann von jedem mit Programmierkenntnissen weiterentwickelt und auf Schwachstellen untersucht werden. Zu fast jeder Softwarekategorie gibt es auch eine Version von ihr. Die Rede ist von Freier Software.

Die Philosophie der vier Freiheiten

Hierbei handelt es sich um Software, die den vier Freiheiten unterliegt:

  • Freies Verwenden

Die Software muss allgemein für jedermann zugänglich und für jeden Zweck immer und überall nutzbar sein.

  • Freies Verbreiten

Die Software darf re-distribuiert, also frei kopiert und weitergegeben werden. Durch die freie Verbreitung kann über Grenzen hinweg an Lösungen für globale Problemstellungen gearbeitet werden.

  • Freies Verstehen

Der Quellcode muss offengelegt werden, d. h. dekompiliert zur Verfügung stehen und kann von jedermann gelesen und untersucht werden. Das erhöht die Transparenz und Sicherheit.

  • Freies Verbessern

Es steht jedem frei, die Software zu modifizieren und zu verbessern. Die Verbesserungen dürfen ihrerseits verbreitet werden, allerdings wiederum nur als Freie Software.

Das „frei“ leitet sich also von Freiheit ab und meint nicht den Preis, es ist also nicht zu verwechseln mit Freeware. Oder, wie es gerne von der Free Software Foundation (FSF) ausgedrückt wird: „Denke an Redefreiheit, nicht an Freibier.“

Geschichte der Freien Software

Richard Stallman
@Frank Karlitschek, CC BY-SA 3.0

 

Im Jahre 1983 hat sich ein US-amerikanischer Informatiker namens Richard Stallman an den rigiden Regelungen proprietärer Software ausreichend gestoßen, um das GNU-Projekt zu gründen. Er verfolgte damit das Ziel der proprietären Software eine freie Alternative entgegenzusetzen. Am Anfang stand die Entwicklung eines mit Unix kompatiblen freien Betriebssystems. GNU heißt „GNU’s Not Unix“ (GNU ist nicht Unix). Die Idee der freien Software war geboren und viele Mitstreiter arbeiteten an der Idee über Jahre hinweg.

Mit der Free Software Foundation wurde 1985 eine gemeinnützige Stiftung gegründet, die sich ganz der Entwicklung und Förderung von Freier Software widmet.

Linus Torvalds, Santa Fe, New Mexico, 2016.
https://www.peteradamsphoto.com/people/linus-torvalds/

 

Im Jahr 1991 hat dann Linus Thorvalds mit Linux ein OpenSource-Betriebssystemkern bereitgestellt, der in verschiedenen Distributionen immer benutzerfreundlicher ausgestaltet wurde, sodass Linux heute ein weitverbreitetes Betriebssystem darstellt.

Parallel fanden und finden sich für alle möglichen Softwarebereiche weitere Entwickler in Projekten zusammen, um Lösungen mit freier Software zur Verfügung zu stellen.

Die detaillierte Geschichte wird von Richard Stallman im Artikel Über das Projekt ‚GNU‘ beschrieben.

Unterschiede zwischen Freier Software und Open Source

Im Jahr 1998 kam der Begriff Open Source auf und wird häufig synonym zu freier Software verwendet. Tatsächlich geht Open Source aber noch weiter mit den Kriterien. So darf Open Source zusätzlich zur Einhaltung der vier Freiheiten zum Beispiel keine Nutzungsgebühren oder sonstige Kosten bei den Lizenznehmern verursachen und Diskriminierung von Personen, Gruppen oder Fachgebieten sind geächtet. Die kompletten Kriterien können in der Open Source Definition nachgelesen werden.

Der Dachverband der Open Source Bewegung ist die Open Source Initiative (OSI).

Freie Software Lizenzen

Die vier Freiheiten werden mit einer Software-Lizenz gewährleistet. D. h. damit es sich um Freie Software handelt, müssen die vier Freiheiten in der Lizenz zugesichert werden. Zudem muss die Lizenz der Software in mindestens einer Liste beim GNU Projekt oder Open Source Initiative geführt werden. In diese Listen werden Freie-Software-Projekte nach einer Überprüfung aufgenommen und dort nicht geführte Lizenzen kann man zur Bewertung auch dort hinschicken.

Copyleft

Die Form der Lizenzierung, die die Bedingungen für freie Software einhält, d. h. die vier Freiheiten gewährt, wird Copyleft genannt. Die Lizenzen in den oben genannten Listen sind also Copyleft-Lizenzen.

GNU General Public Licence

Die geläufigste Lizenz für freie Software ist die GNU General Public Licence (GPL). Ableitungen von Quellcode unter dieser Lizenz können nur wieder unter den gleichen Lizenzbedingungen weitergegeben werden.

Vorteile Freier Software

Die Kernidee von Freier Software ist, dass die Nutzer vor Einschränkungen in ihrer Freiheit geschützt werden. In einer zunehmend digitalisierten Welt werden der Zugang und die Teilhabe an Software und ihrer Entwicklung immer wichtiger.

Durch die obligatorische Offenlegung des Sourcecodes kann der Code jederzeit von jeder Person (die der genutzten Programmiersprache mächtig ist) auf Schwachstellen untersucht werden. So können nicht nur Sicherheitslücken entdeckt werden, sondern man kann Wissen über die Funktionsweise des Programms erlangen und so feststellen, ob zum Beispiel sensible Daten abfließen.

Durch die Möglichkeit, dass jeder die Software verändern und verbessern kann, wird zudem die Stärke der Schwarmintelligenz genutzt, um die Software an die Bedürfnisse der Nutzerschaft anzupassen und ist innovationsfördernd. Freie Software kann außerdem zum Beispiel in Form von Libraries wieder verwendet werden. Dadurch kann die Entwicklung enorm beschleunigt und Komponenten standardisiert werden.

Herausforderungen und Kritik an Freier Software

Jede Freie Software Komponente verfügt über Lizenzen, die eingehalten werden müssen. Die können ihrerseits auch von weiteren Komponenten abhängig sein, die wiederum über Lizenzen verfügen. Bevor also eine auf Freier Software basierende Softwarelösung veröffentlicht werden kann, müssen all diese Lizenzen geprüft werden.

Zudem kann die verpflichtende Veröffentlichung des Quellcodes auch bezüglich von sensiblen Daten oder Firmengeheimnissen problematisch sein. Diese Veröffentlichungspflicht greift allerdings nur, sobald man seine Software tatsächlich veröffentlicht.

Ein anderes Problem kann entstehen, wenn ein Open Source Projekt nicht mehr weitergepflegt wird, etwa wenn die Community inaktiv wird und Sicherheitslücken nicht mehr zeitnah geschlossen werden. Bevor man Open Source Komponenten verwendet, sollte man sich also anschauen, wie aktiv die Community ist.

Es muss zudem auch jedem klar sein, dass auf Freier Software basierender Code ständig gepflegt und aktuell gehalten werden muss. Damit der eigene Code nicht veraltet, müssen neuere Versionen der Komponenten insbesondere nach Bekanntwerden von Sicherheitslücken aktualisiert werden.

Free Software Street, Berga, Catalonia
Dux Phoenix, CC BY-SA 3.0

 

Fazit

Freie Software und Open Source sind heute nicht mehr wegzudenken. Auch technisch wenig affine Menschen nutzen sie inzwischen direkt oder indirekt im täglichen Alltag. Mit Freier Software geht eine Bewegung einher, die inzwischen über den Software-Bereich hinausgeht und sie stellt etwas dar, das man Softwarepatenten entgegensetzen kann. Sie atmet den Geist der Freiheit und Gemeinschaftlichkeit. Jeder Entwickler und jede Entwicklerin kann sich selbst aktiv in einem OpenSource Projekt einbringen und die Bewegung damit unterstützen.

Britta Dietrich

Britta Dietrich arbeitet seit 2004 als Backendentwicklerin mit Schwerpunkt Java bei mediaworx.

E-Mail
Artikel teilen