Der Unterschied zwischen freier und Open-Source-Software

Einführung

Ein Aspekt der Softwareentwicklung, den viele Menschen gerne vergessen, ist die Art und Weise, wie die Software lizenziert werden sollte. Eine Softwarelizenz bestimmt, wie der Code von Lizenznehmern (den Endbenutzern) verwendet und verteilt werden kann. Dies kann einen erheblichen Einfluss auf die Verbreitung der Technologie haben. Die meiste moderne Software wird unter einer proprietären Lizenz verkauft, die es dem Herausgeber oder Schöpfer ermöglicht, die geistigen Eigentumsrechte an der Software zu behalten.

Es gibt jedoch eine alternative Sichtweise, die behauptet, dass dies ein unnötiges Maß an Kontrolle in die Hände von Softwareherstellern legt. Da Lizenznehmer daran gehindert werden, den Quellcode einer Software zu kopieren und zu ändern, können proprietäre Software-Publisher Innovationen ersticken und das potenzielle Wachstum neuer Technologien hemmen. Diese Haltung inspirierte die Schaffung von Lizenzen, die den Benutzern das Recht einräumen, den Quellcode der Software nach Belieben zu studieren, zu ändern und weiterzugeben. Auf diese Weise lizenzierte Software ist normalerweise unter einem von zwei Namen bekannt: "Freie Software" oder "Open-Source-Software".

Im Großen und Ganzen beziehen sich beide Begriffe auf dasselbe: Software mit wenigen Einschränkungen bei der Verwendung. Aus Sicht ihrer Befürworter sind sowohl freie als auch Open-Source-Software sicherer, effizienter und arbeiten zuverlässiger als ihre proprietären Gegenstücke. Warum haben wir aber zwei Etiketten für dasselbe? Die Antwort beinhaltet ein bisschen Geschichte und ein Verständnis der Nuancen, die zwei getrennte, aber eng miteinander verbundene Bewegungen bilden.

Ein kleiner Hintergrund

Die Idee, dass eine Person, die mit einer Software arbeitet, ihren Quellcode ohne rechtliche Konsequenzen anzeigen, bearbeiten und freigeben darf, ist nichts Neues. Vor den 1970er Jahren wurde Software in der Regel zusammen mit dem Quellcode vertrieben. Der Grund dafür war, dass Software in der Regel hardwarespezifisch war und Endbenutzer sie modifizieren mussten, um sie auf ihrem jeweiligen Computer auszuführen oder um spezielle Funktionen hinzuzufügen.

Die meisten Menschen, die zu dieser Zeit mit Computern interagierten, taten dies in einem rein akademischen oder wissenschaftlichen Umfeld. Dies bedeutete, dass Computerressourcen häufig gemeinsam genutzt wurden und die Änderung der Software zur Schaffung effizienterer Workflows oder zuverlässigerer Lösungen weitgehend befürwortet wurde. Beispielsweise entwickelte Project Genie von UC Berkeley das Berkeley Timesharing System - ein Betriebssystem, das sich die Zeit teilt, indem es den Quellcode des SDS 930-Computers des Labors hackt.

Da die Produktion von Software immer komplexer und teurer wurde, suchten Softwarefirmen nach Möglichkeiten, die ungezügelte Weitergabe von Quellcode zu stoppen, um ihre Einnahmequellen zu schützen und Wettbewerbern den Zugang zu ihrer Implementierung zu verweigern. Sie begannen, gesetzliche Beschränkungen für ihre Produkte, einschließlich Urheberrechten und Leasingverträgen, zu erlassen und ihre Produkte unter proprietären Lizenzen zu vertreiben. Bis Ende der 1970er Jahre hatten die meisten Software-Unternehmen die Lieferung von Software mit dem enthaltenen Quellcode eingestellt. Dies führte dazu, dass viele langjährige Computerbenutzer ihre Unzufriedenheit zum Ausdruck brachten und ihr Ethos schließlich die Grundlage für die Freie-Software-Bewegung bildete.

Die Anfänge freier Software

Die Freie-Software-Bewegung war größtenteils die Idee von Richard Stallman. Stallman begann sein Informatikstudium Anfang der 1970er Jahre vor dem Aufkommen proprietärer Softwarelizenzen und arbeitete bis Anfang der 1980er Jahre als Forscher am MIT Artificial Intelligence Laboratory. Nachdem er über ein Jahrzehnt Mitglied der akademischen Hacker-Community war, wurde er durch die Verbreitung von proprietärer Software frustriert und sah darin eine Verletzung der Rechte der Menschen auf Innovation und Verbesserung bestehender Software.

1983 startete Stallman das GNU-Projekt - ein Versuch, ein komplettes Betriebssystem zu erstellen, das seinen Benutzern die Freiheit bietet, den Quellcode anzuzeigen, zu ändern und weiterzugeben. Stallman hat seine Motivation für das Projekt im GNU Manifesto artikuliert. Darin erklärt er seine Überzeugung, dass proprietäre Lizenzen die von der Community betriebene Softwareentwicklung blockieren, Innovationen effektiv ausschließen und den technologischen Fortschritt beeinträchtigen.

Dies stellt laut Stallman eine unfaire Belastung für Benutzer und Entwickler dar, die den Code ansonsten an ihre eigenen Bedürfnisse anpassen oder für eine neue Funktion ändern könnten. Somit kann das GNU-Projekt sowohl als Reaktion auf den Aufstieg proprietärer Software als auch als Rückruf auf die frühere Ära der Entwicklung von frei geteiltem Quellcode und kollaborativer Software angesehen werden.

1985 baute Stallman auf dem GNU-Projekt auf und gründete die Free Software Foundation (FSF), eine gemeinnützige Organisation, die sich der Verbreitung des Konzepts freier Software für die breite Öffentlichkeit widmet. Stallman entwickelte später auch die GNU General Public License, eine Softwarelizenz, die den Endbenutzern das Recht garantiert, Quellcode frei auszuführen, anzuzeigen und weiterzugeben.

Laut FSF muss die Lizenz vier wesentliche Freiheiten für die Benutzer garantieren, damit ein Teil der Software als wirklich „frei“ eingestuft werden kann:

  • Die Freiheit, das Programm für jeden Zweck nach Ihren Wünschen auszuführen.

  • Sie haben die Freiheit, die Funktionsweise des Programms zu studieren und es so zu ändern, dass Ihr Computer Ihren Wünschen entspricht. Voraussetzung hierfür ist der Zugriff auf den Quellcode.

  • Die Freiheit, Kopien weiterzugeben, damit Sie Ihrem Nachbarn helfen können.

  • Die Freiheit, Kopien Ihrer geänderten Versionen an andere zu verteilen. Auf diese Weise können Sie der gesamten Community die Möglichkeit geben, von Ihren Änderungen zu profitieren. Voraussetzung hierfür ist der Zugriff auf den Quellcode.

Die FSF betrachtet jede Software, die nicht jedem dieser Kriterien entspricht, als nicht frei und daher unethisch.

Der Aufstieg von Open Source

Stallman hatte sich für das Label "Freie Software" entschieden, um die Vorstellung zu vermitteln, dass Benutzer den Quellcode nach Belieben ändern und teilen können. Dies hat im Laufe der Jahre zu einigen Verwirrungen geführt, da viele Leute annehmen, dass sich „freie Software“ auf jede Software bezieht, die zu Null-Kosten erhältlich ist (genauer gesagt, als „Freeware“ oder „Shareware“ bezeichnet). Die FSF erklärt die Wahl des Namens mit dem Satz: "Denken Sie an Frei wie an Redefreiheit, nicht wie an Freibier."

In den späten 1990er Jahren gab es jedoch bei einigen GNU- und Linux-Enthusiasten wachsende Besorgnis, dass diese doppelte Bedeutung dazu führen würde, dass ein großer Teil der Benutzer die Philosophie hinter freier Software und ihre Vorteile gegenüber proprietärem Code verfehlt. Die FSF war auch für ihre ethische Haltung gegenüber proprietärer Software aller Art bekannt geworden. Einige Befürworter freier Software äußerten die Besorgnis, dass dieser Ansatz den Geschäftsinteressen zu unfreundlich sei und letztendlich die Verbreitung der Bewegung für freie Software behindern würde.

Die Kathedrale und der Basar

Im Jahr 1997 Eric S. Raymond, damals ein Verfechter und Entwickler von Freier Software, schrieb "Die Kathedrale und der Basar", einen viel zitierten Aufsatz, der zwei verschiedene Entwicklungsmodelle vergleicht, die in verschiedenen Projekten mit Freier Software verwendet wurden. "The Cathedral" bezieht sich auf ein Top-Down-Entwicklungsmodell, bei dem eine exklusive Gruppe von Entwicklern den Code erstellt, der durch die Entwicklung von GNU Emacs veranschaulicht wird. "The Bazaar" bezieht sich dagegen auf eine Methode, bei der Code öffentlich über das Internet entwickelt wird, wie dies bei der Entwicklung des Linux-Kernels der Fall war.

Das zentrale Argument des Aufsatzes ist, dass das Bazaar-Modell von Natur aus effizienter ist, um Softwarefehler zu finden und zu beheben, da mehr Menschen in der Lage sind, den Quellcode anzuzeigen und mit ihm zu experimentieren. Raymond argumentierte daher, dass die Verwendung eines von der Community gesteuerten Bottom-up-Entwicklungsprozesses zu einer sichereren und zuverlässigeren Software führt.

Teilweise als Reaktion auf die Ideen in der Kathedrale und dem Basar veröffentlichte Netscape Anfang 1998 den Quellcode seines Communicator-Webbrowsers als kostenlose Software. (Der Communicator-Quellcode würde später die Grundlage von Mozilla FireFox 1.0 bilden.) Inspiriert von dem kommerziellen Potenzial, das Netscape in dieser Veröffentlichung des Quellcodes sah, bemühte sich eine Gruppe von Fans freier Software (darunter Raymond, Linus Torvalds, Philip Zimmerman und viele andere), die Freie-Software-Bewegung umzubenennen und ihren Fokus von ethischen oder philosophischen Aspekten abzuwenden Motive. Die Gruppe entschied sich für „Open Source“ als Label für frei teilbare Software, in der Hoffnung, dass dies den geschäftlichen Wert eines kollaborativen, Community-getriebenen Entwicklungsmodells besser widerspiegeln würde.

Kurz danach wurde von Raymond und Bruce Perens die Open Source Initiative (OSI) gegründet, um sowohl die Verwendung des neuen Begriffs als auch die Verbreitung von Open-Source-Prinzipien zu fördern. OSI entwickelte auch die Open Source Definition - eine Liste von zehn Grundsätzen, die eine Softwarelizenz einhalten muss, um als Open Source zu gelten:

  1. * Kostenlose Weitergabe * - Die Lizenz darf keine Partei daran hindern, die Software als Bestandteil einer größeren Softwareverteilung zu verkaufen oder weiterzugeben, die Programme aus mehreren Quellen enthält.

  2. * Quellcode * - Das Programm muss Quellcode enthalten und die Verteilung im Quellcode sowie in kompilierter Form ermöglichen.

  3. * Abgeleitete Werke * - Die Lizenz muss Änderungen und abgeleitete Werke zulassen und die Weitergabe unter denselben Bedingungen wie die Lizenz der Originalsoftware ermöglichen.

  4. * Integrität des Quellcodes des Autors * - Die Lizenz darf die Weitergabe von Quellcode in geänderter Form nur einschränken, wenn die Lizenz die Weitergabe von "Patch-Dateien" mit dem Quellcode zum Zweck der Änderung des Programms zum Zeitpunkt der Erstellung zulässt.

  5. * Keine Diskriminierung von Personen oder Gruppen * - Die Lizenz darf keine Person oder Personengruppe diskriminieren.

  6. * Keine Diskriminierung von Unternehmensbereichen * - Die Lizenz darf niemanden daran hindern, das Programm in einem bestimmten Unternehmensbereich zu nutzen.

  7. * Verteilung der Lizenz * - Die mit dem Programm verbundenen Rechte müssen für alle gelten, an die das Programm weitergegeben wird, ohne dass diese Parteien eine zusätzliche Lizenz ausführen müssen.

  8. * Lizenz darf nicht produktspezifisch sein * - Die mit dem Programm verbundenen Rechte dürfen nicht davon abhängen, ob das Programm Teil einer bestimmten Softwareverteilung ist.

  9. * Lizenz darf andere Software nicht einschränken * - Die Lizenz darf keine Einschränkungen für andere Software enthalten, die zusammen mit der lizenzierten Software vertrieben wird.

  10. * Die Lizenz muss technologieneutral sein * - Die Bereitstellung der Lizenz darf nicht auf einer bestimmten Technologie oder einem bestimmten Schnittstellentyp beruhen.

Die Unterschiede zwischen freier und Open-Source-Software

Für die meisten Menschen ist der Bedeutungsunterschied zwischen „Freier Software“ und „Open-Source-Software“ vernachlässigbar und beruht auf einem geringfügigen Unterschied in der Herangehensweise oder Philosophie. Nach Ansicht der Open Source Initiative haben beide Begriffe dieselbe Bedeutung und können in nahezu jedem Kontext synonym verwendet werden. Sie bevorzugen einfach das „Open Source“ -Label, weil sie glauben, dass es eine klarere Beschreibung der Software und der Absicht ihrer Entwickler für deren Verwendung bietet.

Für das Camp "Freie Software" vermittelt "Open Source" jedoch nicht vollständig die Bedeutung der Bewegung und die möglichen langfristigen sozialen Probleme, die durch proprietäre Software verursacht werden. Nach Ansicht der Free Software Foundation ist OSI zu besorgt über die Förderung der praktischen Vorteile von nicht-proprietärer Software (einschließlich ihrer Rentabilität und der Effizienz eines von der Community gesteuerten Entwicklungsmodells) und nicht genug über die ethische Frage der Einschränkung der Benutzerrechte auf Code nach eigenen Regeln ändern und verbessern.

Ob eine bestimmte Software kostenlos oder Open Source ist oder nicht, hängt davon ab, unter welcher Lizenz sie vertrieben wird und ob diese Lizenz von der Open Source Initiative, der Free Software Foundation oder beiden genehmigt wurde. Es gibt eine große Überschneidung zwischen den Lizenzen, die von welcher Organisation genehmigt wurden, aber es gibt einige Ausnahmen. Beispielsweise ist das NASA Open Source Agreement eine von OSI genehmigte Lizenz, die die FSF als zu restriktiv ansieht. Die FSF rät daher von der Verwendung von Software ab, die unter dieser Lizenz vertrieben wird. Grundsätzlich besteht jedoch eine gute Chance, dass es, wenn es als freie Software bezeichnet werden kann, auch zur Definition von Open-Source-Software passt.

Alternative Namen

Im Laufe der Jahre wurden verschiedene andere Namen für diese Art von Software vorgeschlagen, um dieser Debatte ein Ende zu setzen. "Freie und Open-Source-Software" - oft auf "FOSS" abgekürzt - ist eine der am weitesten verbreiteten und gilt als sichere Neutralität zwischen beiden. Der Begriff "libre software" ("libre" wird aus mehreren romanischen Sprachen abgeleitet und bedeutet in etwa "der Freiheitszustand") hat eine eigene Anhängerschaft, so dass die Abkürzung "FLOSS" ("frei / libre und frei") Open-Source-Software) ist ebenfalls weit verbreitet.

Es ist zu beachten, dass sich sowohl freie als auch Open-Source-Software von gemeinfreier Software unterscheidet. Freie und Open-Source-Software definiert ihre Freiheiten durch ihre Lizenzierung, während Public-Domain-Software möglicherweise an einigen der gleichen Tugenden festhält, dies jedoch außerhalb des Lizenzierungssystems geschieht. Ein wichtiger Unterschied zwischen freier und Open-Source-Software besteht darin, dass Werke, die auf freiem oder Open-Source-Code basieren, auch mit einer FOSS-Lizenz vertrieben werden müssen. Für öffentlich zugängliche Software gilt diese Anforderung nicht.

Ein weiteres Problem mit gemeinfreier Software ergibt sich aus der Tatsache, dass nicht jedes Land der Welt nicht urheberrechtlich geschützten Inhalt erkennt. Dies macht es unmöglich, eine weltweit anerkannte Aussage darüber zu treffen, dass eine Software gemeinfrei ist. Daher ermutigen weder die FSF noch das OSI die Entwickler, Software öffentlich zugänglich zu machen.

Fazit

Die Begriffe "Freie Software" und "Open-Source-Software" sind für die meisten Kontexte austauschbar, und ob jemand den einen über den anderen zieht, hängt gewöhnlich von der Semantik oder ihrer philosophischen Sichtweise ab. Für viele Programmierer, die Software entwickeln und an die Öffentlichkeit bringen möchten, oder für Aktivisten, die die Sichtweise der Menschen und den Umgang mit Technologie verändern möchten, kann der Unterschied jedoch ein wichtiger sein. Bei der Veröffentlichung neuer Software ist es daher unerlässlich, die Vor- und Nachteile verschiedener Lizenzen - einschließlich proprietärer Lizenzen - sorgfältig abzuwägen und diejenige auszuwählen, die Ihren speziellen Anforderungen am besten entspricht.

Wenn Sie mehr darüber erfahren möchten, welche Softwarelizenz für Ihr nächstes Projekt geeignet ist, finden Sie in der License List detaillierte Beschreibungen zu beiden und unfreie Lizenzen. Darüber hinaus ist möglicherweise auch die Seite Licenses & Standards der Open Source-Initiative von Interesse.