Was ist Open Source Software und warum ist sie wichtig?

Geeks beschreiben Programme oft als "Open Source" oder "freie Software". Wenn Sie sich genau fragen, was diese Begriffe bedeuten und warum sie 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 wichtig, sondern letztendlich auch für Benutzer. Open-Source-Softwarelizenzen geben Benutzern Freiheiten, die sie sonst nicht hätten.

Bildnachweis: Quinn Dombrowski auf Flickr

Die Definition von Open Source

Wenn ein Programm Open Source ist, steht sein Quellcode seinen Benutzern frei zur Verfügung. Die Benutzer - und alle anderen - haben die Möglichkeit, diesen Quellcode zu übernehmen, zu ändern und ihre eigenen Versionen des Programms zu verteilen. Die Benutzer haben auch die Möglichkeit, so viele Kopien des Originalprogramms zu verteilen, wie sie möchten. 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“.

Beispielsweise ist Ubuntu Linux ein Open-Source-Betriebssystem. Sie können Ubuntu herunterladen, so viele Kopien erstellen, wie Sie möchten, und diese Ihren Freunden geben. 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 Ihre eigene angepasste Version dieses Programms erstellen - oder von Ubuntu selbst. Mit Open-Source-Lizenzen können Sie dies tun, während Closed-Source-Lizenzen Sie einschränken.

Das Gegenteil von Open-Source-Software ist Closed-Source-Software, die über eine Lizenz verfügt, 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 die beliebteste Closed-Source-Software auf dem Markt ist.

Open Source vs. Freie Software

Open-Source-Anwendungen sind im Allgemeinen frei verfügbar - obwohl nichts den Entwickler davon abhält, Kopien der Software in Rechnung zu stellen, wenn sie eine spätere Weiterverteilung der Anwendung und ihres Quellcodes ermöglichen.

Darauf bezieht sich „freie Software“ jedoch nicht. Das "freie" in freier Software bedeutet "frei wie in Freiheit", nicht "frei wie in Bier". Das Camp für freie Software unter der Leitung von Richard Stallman und der Free Software Foundation konzentriert sich auf die Ethik und Moral der Verwendung von Software, die vom Benutzer gesteuert und geändert werden kann. Mit anderen Worten, das Camp für freie Software konzentriert sich auf die Freiheiten der Benutzer.

Richard Stallman. Bild von Fripog auf Flickr.

Die Open-Source-Softwarebewegung wurde ins Leben gerufen, um sich auf pragmatischere Gründe für die Wahl dieses Softwaretyps zu konzentrieren. Open-Source-Befürworter wollten sich auf die praktischen Vorteile der Verwendung von Open-Source-Software konzentrieren, die eher Unternehmen als Ethik und Moral anspricht.

Letztendlich entwickeln sowohl Open-Source- als auch freie Software-Befürworter dieselbe Art von Software, sind sich jedoch in Bezug auf das Messaging nicht einig.

Arten von Lizenzen

Es gibt viele verschiedene Lizenzen, die von Open Source-Projekten verwendet werden, je nachdem, welche die Entwickler für ihr Programm bevorzugen.

Die GPL oder GNU General Public License wird häufig von vielen Open-Source-Projekten wie Linux verwendet. Zusätzlich zu allen oben genannten Definitionen von Open Source legen die Bestimmungen der GPL fest, dass jeder, der ein Open Source-Programm ändert und eine abgeleitete Arbeit verteilt, auch den Quellcode für seine abgeleitete Arbeit verteilen 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, gezwungen werden, ihren eigenen Quellcode freizugeben. Natürlich können die Entwickler eines Programms entscheiden, keinen GPL-Code zu verwenden, wenn dies ein Problem darstellt.

Einige andere Lizenzen, wie die BSD-Lizenz, schränken Entwickler weniger ein. 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 noch „kostenloser“ ist als die GPL-Lizenz, da Entwickler die Freiheit haben, den Code in ihre eigenen Closed-Source-Programme zu integrieren, während andere Leute ihn als weniger „kostenlos“ betrachten, weil er Rechte wegnimmt von den Endbenutzern des abgeleiteten Programms.

Vorteile für Benutzer

Dies ist nicht alles trockenes, unwichtiges Zeug, das nur für Entwickler wichtig ist. Der offensichtlichste Vorteil von Open-Source-Software ist, dass sie kostenlos erhältlich ist. Das obige Beispiel von Ubuntu Linux macht dies deutlich - im Gegensatz zu Windows können Sie so viele Kopien von Ubuntu installieren oder verteilen, wie Sie möchten, ohne Einschränkungen. Dies können besonders nützliche Server sein. Wenn Sie einen Server einrichten, können Sie einfach Linux darauf installieren. Wenn Sie einen virtualisierten Servercluster einrichten, können Sie problemlos einen einzelnen Ubuntu-Server duplizieren. Sie müssen sich keine Gedanken über die Lizenzierung und die Anzahl der Linux-Instanzen machen, die Sie ausführen dürfen.

Ein Open-Source-Programm ist auch flexibler. Beispielsweise enttäuschte die neue Benutzeroberfläche von Windows 8 viele langjährige Windows-Benutzer auf dem Desktop. Da Windows eine geschlossene Quelle ist, kann kein Windows-Benutzer die Windows 7-Benutzeroberfläche verwenden, ändern und unter Windows 8 ordnungsgemäß verwenden. (Einige Windows-Benutzer versuchen dies, dies ist jedoch ein mühsamer Prozess des Reverse Engineering und Änderns 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 Linux-Desktop-Benutzer gleichermaßen deaktiviert. Einige haben den Code in die alte Version GNOME 2 übernommen und ihn so geändert, dass er auf den neuesten Linux-Distributionen ausgeführt werden kann - dies ist MATE. Einige haben den Code zu GNOME 3 gebracht und ihn so geändert, dass er auf die von ihnen bevorzugte Weise funktioniert - dies ist Cinnamon. Einige Benutzer haben gerade zu vorhandenen alternativen Desktops gewechselt. Wenn Windows Open Source wäre, hätten Windows 8-Benutzer mehr Auswahl und Flexibilität. Schauen Sie sich einfach CyanogenMod an, eine beliebte, Community-gesteuerte Distribution von Android, die Funktionen und Unterstützung für neue Geräte bietet.

Mit Open-Source-Software können Entwickler auch „auf den Schultern von Giganten stehen“ und ihre eigene Software 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 - wurde ebenfalls auf Open-Source-Code aufgebaut. Valve arbeitet wütend daran, seine Steam-Gaming-Plattform auf Linux zu portieren, da dies es ihnen ermöglichen würde, ihre eigene Hardware zu erstellen und ihr eigenes Schicksal auf eine Weise zu steuern, 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 tatsächlich ist und warum sie für Sie nützlich ist.