Heute kümmere ich mich um eines meiner Lieblingsthemen. Dafür werde ich mir auch ein bisschen mehr Zeit nehmen. Open Source (Offene Quelle) ist ein Begriff, der ursprünglich auf Open Source Software (OSS) zurückgeht. Dabei handelt es sich um Quellcode bzw. Code, der für die Öffentlichkeit zugänglich ist. Folglich kann jeder den Code einsehen, anzeigen, nach Belieben verändern und verteilen.
Ganz im Sinne von „Das Wissen der Menschheit gehört der Welt“.
Was ist Open Source Software?
Open Source Software wird in der Regel dezentral, innerhalb einer Kollaboration entwickelt und stützt sich auf Peer-Review. Eine von Fachkollegen begutachtete Veröffentlichung wird als Peer(s) und Community-Produktion bezeichnet. Die Software ist nicht selten kostenlos bzw. günstiger, flexibler und langlebiger als proprietäre Produkte. Vor allem, weil sie nicht von einem einzelnen Programmierer oder Unternehmen, sondern in und durch Communities entwickelt wird. In der Regel verstehen die diese Personen etwas von ihrem Handwerk.
Open Source hat sich in der jüngeren Vergangenheit zu einer Bewegung geformt. Geradezu zu einer neuen Art des Arbeitens und des Lifestyles, die über die reine Softwareproduktion hinausgeht. Sie nutzt die Werte, sowie das dezentrale Produktionsmodell der Open Source Software, um neue Wege zu finden, Probleme in Communities, diversen Branchen und des Alltags zu lösen.
Kriterien für Open Source
Doch allein der freie Zugang zum Quellcode reicht nicht aus, damit eine Software als Open-Source-Software deklariert werden kann. Folgende Kriterien müssen ebenfalls erfüllt sein:
Freie Weiterverbreitung – Die Lizenz muss es jedermann erlauben, die Software weiterzugeben oder als Teil einer Sammlung zu verkaufen. Man darf keine Lizenzgebühren verlangen.
Zugang zum Quellcode – Die Software muss im Quelltext in verständlicher Form verfügbar sein.
Zulässigkeit von abgeleiteten Werken – Die Lizenz muss Modifikationen und Weiterentwicklungen zulassen und deren Weitergabe unter denselben Bedingungen erlauben wie die Original-Software.
Integrität des Quellcodes des Autors – Zwar muss die Lizenz die Weitergabe von Software mit verändertem Quellcode zulassen, darf aber verlangen, dass abgeleitete Werke einen anderen Namen oder eine andere Versionsnummer tragen müssen.
Keine Diskriminierung von Personen oder Gruppen – Die Lizenz darf keine Personen oder Personengruppen benachteiligen.
Keine Nutzungseinschränkung – Die Lizenz darf die Nutzung der Software nicht für bestimmte Zwecke oder Tätigkeitsbereiche ausschließen, etwa den Einsatz in Unternehmen.
Allgemeingültigkeit der Lizenz bei Weitergabe – Die Lizenz muss für alle gelten, an die die Software weitergegeben wird. Es dürfen keine zusätzlichen Lizenzen vergeben werden.
Produktneutralität der Lizenz – Die Lizenz darf nicht davon abhängen, ob die Software ein Bestandteil einer bestimmten Distribution ist. Sie muss auch dann gelten, wenn das Programm eigenständig verwendet oder zusammen mit anderer Software weiterverbreitet wird.
Keine Einschränkung anderer Software – Die Lizenz darf keine Einschränkungen für andere Software enthalten, die zusammen mit der lizenzierten Software weitergegeben wird.
Technologieneutralität – Die Lizenz darf die Weitergabe der Software nicht auf eine bestimmte Technologie beschränken.
Wie ist Open Source entstanden?
In den Anfängen der Informatik, etwa in den 50er bzw. 60er Jahren, tauschten Wissenschaftler, Programmierer und Entwickler Software aus, um voneinander zu lernen und um die Informatik weiterzuentwickeln. Zu den frühen Beispielen für die freie Weitergabe von Quellcode gehören auch die von IBM herausgegebenen Quelltexte seiner Betriebssysteme und anderer Programme sowie die SHARE-Benutzergruppe, die sich bildete, um den Austausch von Software zu erleichtern.
Ab den 60er Jahren nutzten ARPANET-Forscher ein offenes „Request for Comments“-Verfahren (RFC), um Rückmeldungen zu frühen Telekommunikationsnetzprotokollen zu fördern. Dies führte 1969 zur Entstehung des frühen Internets. Die gemeinsame Nutzung von Quellcode im Internet begann, als das Internet noch relativ primitiv war, mit Software, die über UUCP, Usenet, IRC (Werde ich demnächst auch mal thematisieren. Denn damit ging es auch bei mir los 😉 ) und Gopher verbreitet wurde. BSD zum Beispiel wurde auch zuerst durch Beiträge in comp.os.linux im Usenet verbreitet, wo auch die Entwicklung diskutiert wurde. Linux folgte diesem Modell.
Zwischen den 70er und 80er Jahren wurde der Open-Source-Gedanke schließlich von der Kommerzialisierung der Software verdrängt. Akademiker entwickelten jedoch weiterhin häufig Software in Zusammenarbeit. Beispiele hierfür sind Donald Knuth 1979 mit dem TeX-Satzsystem und Richard Stallman 1983 mit dem GNU-Betriebssystem.
1997 veröffentlichte Eric Raymond () das Buch „The Cathedral and the Bazaar“ (Dies ist gleichzeitig eine Buchempfehlung und stellt eine Bildungslücke dar, falls bisher noch nicht gelesen! Besonders, wenn man in der IT tätig ist!), eine reflektierende Analyse der Hacker-Gemeinschaft und der Grundsätze freier Software. Das Whitepaper fand Anfang 1998 große Beachtung. Es war ein wesentlicher Faktor, der die Netscape Communications Corporation dazu veranlasste, ihre beliebte Internet-Suite Netscape Communicator als freie Software zu deklarieren und zu veröffentlichen. Die Netscape Communications Corporation war ein unabhängiges amerikanisches Unternehmen, für Computerdienstleistungen mit Hauptsitz in Mountain View, Kalifornien, und anschließend in Dulles, Virginia. Dieser Quellcode wird später zur Grundlage von SeaMonkey, Mozilla Firefox, Thunderbird und KompoZer, die heute noch im Einsatz sind.
Das Vorgehen von Netscape veranlasste wiederum Eric Raymond und andere dazu, sich mit der Frage zu beschäftigen, wie man die Ideen der Free Software Foundation und die von ihr erkannten Vorteile, für die kommerzielle Softwareindustrie nutzbar machen kann. Sie kamen zu dem Entschluss, dass der soziale Aktivismus der FSF, für Unternehmen wie Netscape nicht attraktiv war. Also suchten sie nach einer Möglichkeit, der Freien-Software-Bewegung einen neuen Namen zu geben. Dies sollte das geschäftliche Potenzial des Austausches und der Zusammenarbeit an Software-Quellcode voll ausschöpfen.
Dies war die Geburtsstunde des Bergriffs „Open Source„. Die Definition wurde bald darauf von Bruce Perens, einem amerikanischen Programmierer und Verfechter der Bewegung für freie Software definiert, manifestiert und veröffentlicht. Der Verleger Tim O’Reilly machte unter Anderem den Begriff Open Source relativ schnell populär. Und Linus Torvalds, ein finnisch-US-amerikanischer Informatiker sowie Software-Entwickler, der bis heute als Initiator und als treibende Kraft bei der Entwicklung des Linux-Kernels gilt. Der Kernel bzw. die Arbeitsmethodik wird von vielen anderen genau so weitergeführt. Die Entwicklung wird übrigens bis heute noch von ihm koordiniert.
Im Februar 1998 die Gründung der OSI (Open Source Initiative). Sie sollte die Verwendung des neuen Begriffs fördern und die Open-Source-Prinzipien propagieren. Was in Anbetracht der gegenwertigen Situation auch ganz gut gelungen ist. Vor allem wenn man bedenkt, wie viele große Konzerne damals zu Open Source Software Stellung bezogen haben. Und wie sie heute selbst Open Source Software nutzen. Dazu aber nachfolgend mehr.
Zur gleichen Zeit sahen sich kommerzielle Softwarehersteller zunehmend durch das Konzept der frei verteilten und erhältlichen Software und des allgemeinen Zugangs zum Quellcode einer Anwendung bedroht. Der Microsoft-Manager Jim Allchin, ein amerikanischer Informatiker und ehemalige Führungskraft bei Microsoft, erklärte 2001 öffentlich: „Open Source ist ein Zerstörer geistigen Eigentums. Ich kann mir nichts Schlimmeres für das Softwaregeschäft und das Geschäft mit dem geistigen Eigentum vorstellen.“ Oder Steve Ballmer (CEO von Microsoft von 2000 bis 2014), der 2001, bei einem Interview, Linux als Krebs bezeichnete.
Open Source Software heute
Freie und quelloffene Software hat Anfangs eine Rolle außerhalb des Mainstreams eine Rolle gespielt. Also eher in der privaten Softwareentwicklung. Größere Unternehmen wie Microsoft, Google, Facebook, IBM, Oracle usw. hatten begonnen, offizielle Open Source „Plattformen“ im Internet aufzubauen. Damit haben sich die ehemaligen „Gegner“ auf die ein oder andere Art der Bewegung für freie und quelloffene Software angeschlossen.
Dadurch hat sich die Sichtweise auf Open-Source-Software grundlegend geändert. Hinzu kommt, dass auch von denen Konzernen viel Kapital und Resourcen in die Entwicklung von Open Source Software fließen. Zu den Mitwirkenden, Geldgebern und gemeinnützigen Organisationen an Open-Source-Projekten gehören unter anderem die Linux Foundation, die WordPress Foundation, Creative Commons, das Android Open Source Project und die Mozilla Foundation. Auch Epic Games hat in den letzten Jahren nicht wenig Geld in Blender und dessen Weiterentwicklung gesteckt. Doch das Thema Blender werde ich in den kommenden Wochen auch in Angriff nehmen und in einem Beitrag festhalten.
Beliebte Open Source Software „Lizenzen“
MIT License©: MIT License ist eine freie Softwarelizenz. Nutzern ist es erlaubt, den Originalcode mit sehr wenigen Einschränkungen zu verändern.
GNU General Public© (GPL): GNU ist eine Reihe von Lizenzen für freie Software. Es gibt Endbenutzern die Möglichkeit, Software auszuführen, zu untersuchen, weiterzugeben und zu verändern.
BSD: Die BSD Lizenz hat weniger Beschränkungen für Entwickler. Es erlaubt den Nutzern, den Code zu verwenden und zu verändern, ohne die Änderungen weitergeben zu müssen.
Ubuntu®: Ubuntu ist eine Linux-Distribution, die aus freier und Open-Source-Software besteht. Es wird primär in den Bereichen Desktop, Cloud und IoT veröffentlicht.
Red Hat: Eine Open-Source-Softwareplattform und ein IBM-Derivat, das eine Vielzahl von Produktivitätsanwendungen für Unternehmen bietet.
Blender: Blender ist eine freie, mit der GPL lizenzierte 3D-Grafiksuite, mit der sich 3D-Körper modellieren, texturieren und animieren lassen. Die Inhalte finden in Grafiken, Animationen und Software Anwendung. Geschaffene Bildsynthesen können mithilfe des integrierten Compositors und Videoschnittprogramms nachbearbeitet werden. Programmiersprachen, die zum Einsatz kommen sind C und C++. Python wird als Skriptsprache verwendet.
Mozilla: Die Mozilla Public License ist eine freie und quelloffene schwache Copyleft-Lizenz. Für die meiste Software der Mozilla Foundation wie Firefox und Thunderbird. Die MPL-Lizenz ist von Mozilla und die Entwicklung bzw. Pflege, findet In-House statt.
SUSE: SUSE Linux basiert auf einem Open-Source-Linux-Kernel und wird mit System- und Anwendungssoftware vertrieben.
LibreOffice: Ein Open-Source-Büroprogramm, das den Microsoft Office-Programmen ähnelt.
Apache®: Die Apache License ist eine freie Softwarelizenz. Sie erlaubt den Nutzern, die Software für jeden Zweck zu verwenden, zu verändern und zu verbreiten.
Berkeley Software Distribution: Ist ein Betriebssystem, das auf Research Unix basiert. Die Computer Systems Research Group an der University of California, Berkeley, entwickelt und kümmert sich um den Vertrieb.
MySQL™: MySQL ist ein Open-Source-Datenbankverwaltungssystem mit zwei separaten Lizenzen – der MySQL Standard Edition und der MySQL Enterprise Edition.
Nachteile von Open Source Software
Obwohl Open Source Software und die Lizenzen enorm zum Wachstum der Softwareentwicklung und der Entwicklung der internationalen IT-Landschaft beigetragen haben, wird ihre weite Verbreitung nicht von Wenigen als negativ erachtet. Dies wird auf die fehlende Regulierung zurückgeführt, die zu zahlreichen juristischen Problemen führen kann. Auch bezüglich der Definition, was als Open Source und was Closed Source deklariert werden kann, stellt einen wesentlichen Problemfaktor dar.
Um diesen Umständen entgegenzuwirken hat die Open-Source-Gemeinschaft Klassifizierungsschemata eingeführt, die in der Regel auf Copyleft-Bestimmungen (Um ein Programm unter das Copyleft zu stellen, wird es zuerst unter ein Copyright gestellt; danach werden als Rechtsmittel Vertriebsbestimmungen hinzugefügt, die es allen erlauben, den Quellcode des Programms oder jedes davon abgeleiteten Programms zu verwenden, zu ändern und weiter zu verteilen) beruhen, um geeignete Anwendungsfälle für das Open-Source-Softwareentwicklungsmodell zu bestimmen.
Das US-Bundesberufungsgericht, entschied darüber hinaus, dass OSS-Lizenzen rechtsverbindliche Anforderungen für die Nutzung von urheberrechtlich geschütztem Material enthalten müssen. Findet durch einen Benutzer ein Regelverstoß gegen diese offenen Standards statt, verliert er seine Lizenz und verstößt damit gegen die Norm für Urheberrechtsverletzungen, ähnlich wie bei der unbefugten Nutzung einer proprietären Lizenz. Die Folgen dafür können gravierend sein.
Übrigens: Open Source vs. freie Software
“Open Source” und “Freie Software” bezeichnen im Wesentlichen das Gleiche. Der Begriff “Freie Software” ist lediglich etwas älter (1985) und stammt von der Free Software Foundation. Der Gedanke der frei zugänglichen Software ist gleich, nur die Motivation dahinter ist verschieden. Bei Open Source ist es der praktische Nutzen, der durch die gemeinsame Weiterentwicklung von Software entsteht. Bei der freien Software ist es die Ideologie dahinter und der Nutzen für den Anwender.
Fazit
Ich bin davon überzeugt, dass das Wissen der Menschheit der Welt gehört und durch das Wissen auch die Vermittlung von Bildung besser vonstattengehen kann. So dient das Wissen auch der Fähigkeitsvermittlung, bei der eine Gesamtheit der Fähigkeiten zum Tragen kommt. Bildung wiederum hat auch eine moralische Funktion.
Daher kann durch Bildung die Voraussetzung dafür geschaffen werden, dass Menschen eher Verantwortung für sich selbst, sowie für andere in ihrem Umfeld und ihrer Umwelt übernehmen. Kurz: Mithilfe von Wissen und Bildung kann ein Mensch eher zwischen Gut und Böse unterscheiden. Ohne Wissen und Bildung funktioniert keine moderne Software oder Demokratie. Und dies sind nun einmal die Schlüssel für ein gutes Miteinander, zu Arbeit und Beruf in unserer heutigen Zeit.
Deshalb muss sowohl Wissen als auch die Bildung kostenlos zugänglich gemacht werden – Damit auch Quellcodes von Software. Dies alles mag zwar auf dem ersten Blick etwas verzerrt wirken, doch wenn man bedenkt, dass viele Menschen ihr Wissen heutzutage fast ausschließlich aus dem Internet bzw. von den digitalen Medien beziehen, kann es meiner Meinung nach durchaus Sinn machen. Aber ich lasse mich auch gerne jederzeit eines Besseren belehren 😉