Was ist Open Source Software und warum spielt es eine Rolle?
Geeks bezeichnen Programme oft als „Open Source“ oder „freie Software“. Wenn Sie sich fragen, was genau diese Begriffe bedeuten und warum sie so wichtig sind, lesen Sie weiter. (Nein, "freie Software" bedeutet nicht nur, dass Sie sie kostenlos herunterladen können.)
Ob ein Programm Open Source ist oder nicht, ist nicht nur für Entwickler von Bedeutung, sondern auch für Benutzer. Open-Source-Softwarelizenzen geben Benutzern Freiheiten, die sie sonst nicht hätten.
Bildquelle: Quinn Dombrowski auf Flickr
Die Definition von Open Source
Wenn ein Programm Open Source ist, steht seinen Benutzern der Quellcode frei zur Verfügung. Die Benutzer - und alle anderen Benutzer - haben die Möglichkeit, diesen Quellcode zu übernehmen, zu modifizieren und eigene Versionen des Programms zu verteilen. Die Benutzer haben auch die Möglichkeit, beliebig viele Kopien des ursprünglichen Programms zu verteilen. Jeder kann das Programm für jeden Zweck verwenden. Es gibt keine Lizenzgebühren oder andere Einschränkungen für die Software. Das OSI hat auf seiner Website eine detailliertere Definition von „Open Source“.
Ubuntu Linux ist beispielsweise ein Open-Source-Betriebssystem. Sie können Ubuntu herunterladen, beliebig viele Kopien erstellen und diese an Ihre Freunde weitergeben. Sie können Ubuntu auf einer unbegrenzten Anzahl Ihrer Computer installieren. Sie können Remixe der Ubuntu-Installations-CD erstellen und verteilen. Wenn Sie besonders motiviert waren, können Sie den Quellcode für ein Programm in Ubuntu herunterladen und ändern, indem Sie eine eigene angepasste Version dieses Programms erstellen - oder von Ubuntu selbst. Bei Open-Source-Lizenzen können Sie dies tun, während bei Closed-Source-Lizenzen Einschränkungen bestehen.
Das Gegenteil von Open-Source-Software ist Closed-Source-Software, deren Lizenz die Benutzer einschränkt und den Quellcode von ihnen fernhält.
Firefox, Chrome, OpenOffice, Linux und Android sind einige beliebte Beispiele für Open-Source-Software, während Microsoft Windows wahrscheinlich das beliebteste Stück von Closed-Source-Software ist.
Open Source vs. Freie Software
Open-Source-Anwendungen sind im Allgemeinen frei verfügbar - obwohl es nichts gibt, was den Entwickler daran hindert, Kopien der Software in Rechnung zu stellen, wenn sie die Weiterverteilung der Anwendung und ihres Quellcodes danach ermöglichen.
Darauf bezieht sich „freie Software“ jedoch nicht. "Frei" in freier Software bedeutet "frei wie in Freiheit", nicht "frei wie in Bier". Das von Richard Stallman und der Free Software Foundation geleitete Free Software Camp konzentriert sich auf die Ethik und die Moral einer möglichen Software vom Benutzer gesteuert und modifiziert werden. Mit anderen Worten, das freie Software-Camp konzentriert sich auf die Benutzerfreiheiten.
Richard Stallman Bild von Fripog auf Flickr.
Die Open-Source-Softwarebewegung wurde geschaffen, um sich auf pragmatischere Gründe für die Wahl dieser Art von Software zu konzentrieren. Open-Source-Befürworter wollten sich auf die praktischen Vorteile des Einsatzes von Open-Source-Software konzentrieren, die Unternehmen mehr ansprechen als Ethik und Moral.
Letztendlich entwickeln sowohl Befürworter von Open Source als auch von Freier Software die gleiche Art von Software, stimmen jedoch nicht mit dem Messaging überein.
Arten von Lizenzen
Es gibt viele verschiedene Lizenzen, die von Open-Source-Projekten verwendet werden, abhängig davon, welche Entwickler sie für ihr Programm bevorzugen.
Die GPL oder GNU General Public License wird von vielen Open-Source-Projekten wie Linux häufig verwendet. Zusätzlich zu allen obigen Definitionen von Open-Source legen die Bedingungen der GPL fest, dass, wenn jemand ein Open-Source-Programm ändert und eine abgeleitete Arbeit vertreibt, auch der Quellcode für die abgeleitete Arbeit verteilt werden muss. Mit anderen Worten, niemand kann Open-Source-Code nehmen und daraus ein Closed-Source-Programm erstellen - er muss seine Änderungen an die Community zurückgeben. Microsoft bezeichnete die GPL aus diesem Grund als „viral“, da Programme, die GPL-Code enthalten, dazu gezwungen werden, ihren eigenen Quellcode zu veröffentlichen. Natürlich können sich Entwickler eines Programms dafür entscheiden, GPL-Code nicht zu verwenden, wenn dies ein Problem ist.
Einige andere Lizenzen, wie z. B. die BSD-Lizenz, beschränken den Entwickler weniger. Wenn ein Programm unter der BSD-Lizenz lizenziert ist, kann jeder den Quellcode des Programms in ein anderes Programm integrieren. Sie müssen ihre Änderungen nicht an die Community zurückgeben. Einige Leute sehen, dass dies sogar noch „freier“ ist als die GPL-Lizenz, da Entwickler die Möglichkeit haben, den Code in ihre eigenen Closed-Source-Programme zu integrieren, während andere es als weniger „frei“ ansehen, weil es die Rechte wegnimmt von den Endbenutzern des abgeleiteten Programms.
Vorteile für Benutzer
Dies ist nicht alles trockene, unwichtige Sachen, die nur für Entwickler wichtig sind. Der offensichtlichste Vorteil von Open-Source-Software ist, dass sie kostenlos erworben werden kann. Das obige Beispiel für Ubuntu Linux verdeutlicht dies - anders als bei Windows können Sie beliebig viele Ubuntu-Kopien ohne Einschränkungen installieren oder verteilen. Dies können besonders nützliche Server sein - wenn Sie einen Server einrichten, können Sie einfach Linux darauf installieren. Wenn Sie einen virtualisierten Cluster von Servern einrichten, können Sie problemlos einen einzelnen Ubuntu-Server duplizieren. Sie müssen sich keine Sorgen um die Lizenzierung machen und wie viele Linux-Instanzen Sie ausführen dürfen.
Ein Open-Source-Programm ist auch flexibler. Zum Beispiel enttäuschte die neue Benutzeroberfläche von Windows 8 viele langjährige Desktop-Benutzer von Windows. Da Windows Closed Source ist, kann kein Windows-Benutzer die Windows 7-Benutzeroberfläche verwenden, ändern und unter Windows 8 einwandfrei funktionieren. (Einige Windows-Benutzer versuchen es, aber dies ist ein mühsamer Prozess des Reverse Engineering und der Änderung von Binärdateien. )
Wenn ein Linux-Desktop wie Ubuntu eine neue Desktop-Oberfläche einführt, von der einige Benutzer keine Fans sind, haben Benutzer mehr Optionen. Als beispielsweise GNOME 3 veröffentlicht wurde, waren viele Benutzer von Linux-Desktops gleichermaßen deaktiviert. Einige haben den Code in die alte Version GNOME 2 übernommen und so modifiziert, dass er auf den neuesten Linux-Distributionen ausgeführt werden kann - dies ist MATE. Einige haben den Code in GNOME 3 übernommen und so modifiziert, dass er so funktioniert, wie er es vorgezogen hat - dies ist Cinnamon. Einige Benutzer haben gerade zu bestehenden alternativen Desktops gewechselt. Wenn Windows Open Source wäre, hätten Windows 8-Benutzer mehr Auswahl und Flexibilität. Werfen Sie einen Blick auf CyanogenMod, eine beliebte, von der Community betriebene Android-Distribution, die Funktionen und Unterstützung für neue Geräte hinzufügt.
Open-Source-Software ermöglicht es Entwicklern außerdem, "auf den Schultern von Giganten zu stehen" und ihre eigene Software zu erstellen. Erleben Sie Android und Chrome OS, Betriebssysteme, die auf Linux und anderer Open-Source-Software basieren. Der Kern von Apples OS X - und damit auch von iOS - basiert ebenfalls auf Open-Source-Code. Valve arbeitet wütend daran, seine Steam-Gaming-Plattform auf Linux zu portieren, da sie so ihre eigene Hardware erstellen und ihr eigenes Schicksal auf eine Weise steuern können, die unter Microsoft Windows nicht möglich ist.
Dies ist keine erschöpfende Beschreibung - ganze Bücher wurden zu diesem Thema geschrieben - aber Sie sollten jetzt eine bessere Vorstellung davon haben, was Open-Source-Software eigentlich ist und warum es Ihnen nützlich ist.