1 Was ist "Open Source"?
Open Source Software (quelloffene Software) unterliegt einer Lizenz, die folgende 10 Regeln erfüllen muss (Kurzform, siehe auch die vollständige deutsche/englische Definition):- Freie Weitergabe (keine Beschränkung, Lizenzkosten oder Gebühren).
- Quellcode ist frei verfügbar.
- Veränderungen und Ableitungen des Quellcodes sind zulässig.
- Veränderungen am Quellcode müssen erkennbar sein.
- Keine Diskriminierung von Personen oder Gruppen.
- Keine Beschränkung des Einsatzfeldes.
- Hält man die Software in Händen, so hat man automatisch eine Lizenz dafür.
- Keine Beschränkung auf eine bestimmte Kombination mit anderen Produkten.
- Weitergabe zusammen mit anderer Software unterwirft diese keinen Regeln.
- Muss technologie-neutral sein (Hardware, Schnittstellen, Protokolle).
1.1 Free Software
Der Begriff Open Source Software ist lediglich eine aus Marketinggründen von der Open Source Initiative (OSI) eingeführte andere Bezeichnung für Free Software (Freie Software), der einen Markennamen für Freie Software einführen sollte. Grund dafür war vor allem, dass der Begriff "free" im Englischen gleichermaßen für "frei" und für "umsonst" stehen kann.Die FSF (Free Software Foundation) bzw. die fsfe (Free Software Foundation Europe) ist über den Begriff "Open Source" nicht sehr glücklich (siehe "Wir sprechen von Freier Software") und möchte, dass er nicht verwendet wird, da er den Gedanken "Free Software" verwässert.
Freie Software wird durch folgende 4 Freiheiten definiert:
- Die Freiheit der unbegrenzten Nutzung zu jedem Zweck.
- Die Freiheit des Studiums und der Modifikation (Zugang zum Quelltext ist dafür eine Voraussetzung).
- Die Freiheit der Weitergabe (Kopieren ist erlaubt).
- Die Freiheit der Weitergabe von modifizierten Versionen (Zugang zum Quelltext ist dafür eine Voraussetzung).
Bitte die Begriffe "Free Software" und "Freeware" nicht verwechseln!
1.2 GNU General Public License
Die FSF bzw. einer ihrer engagiertesten Vertreter Richard Stallman im Jahr ist Urheber der Lizenzen GPL (GNU General Public License) und LGPL (veraltet für "GNU Library General Public License", neuer für "GNU Lesser General Public License"), die eine Verbreitung von Freier Software fördern und die rechtlichen Rahmenbedingungen dafür schaffen sollen.
Der mit der GPL verbundene Begriff des
Die GPL wird gerne auch als
Im übrigen ist es auch moralisch nicht einzusehen, warum Software, die von vielen Freiwilligen entwickelt und gepflegt wird, nichts kostet und sehr viel Arbeit einspart, für beliebige Zwecke eingesetzt werden kann, ohne dafür irgend etwas an diese Gemeinschaft zurückzugeben. Im Falle der GPL ist dies eben wieder Software und nicht Geld.
Viele Software-Pakete (z.B. Qt, sendmail, ghostscript) gibt es sogar unter 2 Lizenzen:
- Unter der GPL, die eine Offenlegung der damit verknüpften eigenen Software fordert und dafür keine Kosten verursacht.
- Unter einer zweiten Lizenz, die keine Offenlegung der eigenen Software fordert und dafür Lizenzgebühren kostet.
1.3 Closed Source
Als Gegensatz zu Open Source lässt sich Closed Source ("Proprietary Source") sehen. Der Quellcode bleibt dabei in Besitz einer Firma, einer Gruppe oder eines Einzelnen. Nur der übersetzte, ausführbare Code (EXE-Datei) wird verteilt. Meist ist er nur gegen Geld erhältlich und unterliegt häufig äußerst restriktiven Lizenzen (EULA = End User License Agreement), z.B.:- An bestimmten Rechner(konfiguration) gebunden.
- Darf nicht weiterverkauft werden.
- Darf nicht verliehen werden.
- Darf nicht analysiert werden.
- Dürfen keine Fehler behoben bzw. diese Korrekturen nicht weitergegeben werden.
- Darf nicht erweitert werden.
1.4 Vorteile von Open Source
- Open Source fördert Standards, weil Open Source nur funktioniert, wenn sich alle an Standards halten.
- Standards fördern wiederum den Wettbewerb und erschweren so die Monopolisierung von Märkten.
- Die Software wird von vielen gleichzeitig getestet und schnell bereinigt.
- Der Quellcode wird von vielen Experten geprüft (d.h. Fehler und Sicherheitslücken werden schnell entdeckt und Korrekturen dafür bereitgestellt).
- Fehler können selbst behoben werden.
- Erweiterungen können selbst gemacht werden.
- Das Knowhow ist einsehbar (man kann daraus lernen).
- Die Dokumentation ist hervorragend (meistens).
- Keine Lizenzkosten.
1.5 Nachteile von Open Source
Open Source wird eine Reihe von Nachteilen zugeschrieben, die hier aufgelistet und (hoffentlich) widerlegt werden sollen:Open Source (z.B. Linux) verletzt Software-Patente oder Urheberrechte.
Antwort 1: Dies wird hoffentlich im Zusammenhang mit den SCO-Prozessen geklärt, Fakt ist aber bereits heute:
Bisher ist kein Open Source Quellcode benannt worden, der Patente oder Urheberrecht verletzt.
Falls wirklich derartiger Quellcode enthalten sein sollte, so wird er unverzüglich durch freien Quellcode ersetzt, sobald die betroffenen Stellen bekannt sind.
Betroffen sind auf keinen Fall die Anwender von Open Source, sondern allenfalls die Hersteller bzw. Vertreiber davon.
Antwort 2: Closed Source kann völlig analog beliebige Patente verletzen (allerdings sind derartige Verletzungen schwerer zu entdecken und zu beweisen).
Es gibt keinen rechtlich Verantwortlichen, den man haftbar machen kann.
Antwort 1: Es gibt aber sehr wohl moralisch Verantwortliche und ein gemeinsames Interesse aller Beteiligten, die Projekte sorgfältig und koordiniert abzuwickeln.
Antwort 2: Bei Closed Source kann niemand über den Preis der Software hinaus haftbar gemacht werden.
Die Entwicklungsrichtung ist nicht schriftlich festgelegt.
Antwort 1: Sie wird aber häufig gemeinsam durch die Entwickler und Anwender informell festgelegt und auch freimütig offengelegt (Anwender = Entwickler).
Antwort 2: Gerade bei Closed Source bestimmt (ein) Hersteller alleine die Entwicklungsrichtung.
Es gibt keine rechtliche Sicherheit, dass die Software weiter gepflegt wird.
Antwort 1: Bei den wirklich für viele interessanten Projekten kann man mit an Sicherheit grenzender Wahrscheinlichkeit davon ausgehen, dass diese nicht sterben werden (z.B. Betriebssystem Linux, Webbrowser Mozilla Firefox, Webserver Apache, Office-Paket OpenOffice, C/C++-Compiler gcc/g++, Grafische Oberfläche KDE, SMB-Server Samba, Skriptsprachen Perl und PHP). Im Extremfall übernimmt man einfach den Quellcode und pflegt ihn selbst, das kann einem niemand verwehren.
Antwort 2: Auch bei Closed Source kann ein Hersteller jederzeit ein Produkt abkündigen oder nicht mehr weiterentwicklen (wie in der Vergangenheit bei Aufkäufen bereits häufig geschehen, es gibt keine Chance, dies als Kunde zu verhindern).
Das Knowhow ist nicht geschützt.
Antwort 1: Aus dem Knowhow anderer kann man auch sehr viel lernen und z.B. die gleichen Fehler nicht selbst erneut machen. Software ist extrem aufwendig zu entwickeln und zu testen, wieso sollen Dinge, die von vielen gebraucht werden, hier mehrfach programmiert werden. Auch in vielen anderen Bereichen werden heute Synergien genutzt und auf Effizienz geachtet.
Antwort 2: Auch Closed Source wurde in der Vergangenheit schon häufig mit Hilfe von "Reverse Engineering" analysiert und dann nachgebaut bzw. sogar verbessert.
Man kann kein Geld damit verdienen.
Antwort 1: Viele erfolgreiche Unternehmen (SuSE, RedHat, IBM, Hewlett-Packard, 1&1, SerNet, …) zeigen aber, dass das doch geht.
Antwort 2: Man kann auch mit Closed Source Software pleite gehen.
1.6 Bekannte Projekte
Hier eine kleine Auswahl von Open Source Projekten, die zu den bekanntesten zählen:- Apache (Webserver)
- Blender (3D-Modellierung/Animation/Rendering)
- Calibre (eBooks verwalten)
- digiKam (Fotos organisieren und verwalten)
- Debian GNU/Linux (nicht-kommerzielle "reine" Linux-Distribution)
- Evolution (Mailclient, PIM=Personal Information Manager)
- Gimp (GNU Image Manipulation Program)
- GNOME (GNU Network Object Model Environment)
- KDE (Kool Desktop Environment)
- Krita (Image Manipulation Program)
- Inkscape (Vektor-Zeichenprogramm)
- LibreOffice (Office-Paket)
- Mozilla Firefox (Web-Browser)
- Mozilla Thunderbird (Email Client)
- MariaDB (Datenbank-Server)
- MySQL (Datenbank-Server)
- OpenLDAP (Lightweight Directory Access Protocol)
- OpenOffice (Office-Paket)
- Opera (Web-Browser)
- Perl (Skript-Programmiersprache)
- PHP (Web-Skript-Programmiersprache)
- Postfix (Mail-Server)
- PostgreSQL (Datenbank-Server)
- Python (Skript-Programmiersprache)
- Ruby (Skript-Programmiersprache)
- Samba (Windows-File/Print/Anmelde-Server-Emulation)
- Ubuntu (Desktop-orientiertes Linux mit GNOME-GUI)
- VIM (VI Improved, der UNIX-Editor)
- VLC (Media Player "Video LAN Client")
- XFree86 (X Window Server)
2 Lizenzarten-Vergleich
Es gibt nicht nur eine, sondern viele Spielarten von Open Source Lizenzen mit mehr oder weniger restriktiven Anforderungen. Allen gemeinsam sind bestimmte Mindestanforderungen. Folgende Tabelle soll einen Eindruck der wesentlichen Eigenschaften solcher Lizenzen geben ("•" = erfüllt, "–" = nicht erfüllt, "¤" = nicht anwendbar).
Freiheiten | Grenzen | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Lizenz / Eigenschaft | Ohne Kosten | Frei verfüg- bar | Zeitlich unbe- grenzt | Quellcode verfügbar | Quellcode ändern erlaubt | Ableitung muss wieder frei sein | Mischen mit prop. Software verboten | Lizenz- inhaber hat spez. Rechte | ||
Keine Open Source Lizenzen | ||||||||||
Kommerzielle Software | – | – | – | – | ¤ | ¤ | ¤ | • | ||
Shareware | (–) | • | • | – | ¤ | ¤ | ¤ | • | ||
Freeware (Pegasus Mail) | • | • | • | – | ¤ | ¤ | ¤ | • | ||
Lizenzfreie Libraries | • | • | • | – | ¤ | ¤ | – | – | ||
Shared Source (Microsoft) | – | – | – | • | – | ¤ | ¤ | • | ||
Public Domain | • | • | • | • | • | – | – | – | ||
Open Source Lizenzen | ||||||||||
BSD, MIT | • | • | • | • | • | – | – | – | ||
GNU LGPL | • | • | • | • | • | • | – | – | ||
GNU GPL | • | • | • | • | • | • | • | – | ||
NPL, QPL, … | • | • | • | • | • | • | • | • |
Eine weitere gute Veröffentlichung zum Thema "Freie Software".
2.1 Sicht des Software-Entwicklers
Aus der Sicht des Software-Entwicklers betrachtet ergibt sich für die verschiedenen Lizenzarten folgende Reihenfolge von frei zu restriktiv:
Lizenz | Eigenschaft |
---|---|
BSD | Nimm den Code, mach damit was du willst |
LGPL | Nimm den Code, mach damit was du willst (mit Einschränkungen) |
GPL | Nimm den Code, aber mache ihn zu Open Source |
Shared Source | Nimm den Code, aber werde vorher Club-Mitglied |
Proprietäre Lizenz | Nimm nichts, außer du bezahlst vorher dafür |
Proprietäre Closed Source | Nimm nichts |
2.2 Sicht des Quellcodes
Aus der Sicht des Quellcodes betrachtet ergibt sich für die verschiedenen Lizenzarten folgende Reihenfolge von frei zu restriktiv:
Lizenz | Eigenschaft |
---|---|
GPL | Alles immer frei |
LGPL | Einiges frei |
BSD | Frei, aber kann proprietär werden |
Shared Source | Frei für einige Benutzer |
Proprietäre Lizenz | Nicht frei; zu bezahlen |
Proprietäre Closed Source | Nicht verfügbar |
2.3 Abgeleitete Lizenzen
Sogenannte "Approved Licenses" übernehmen die wesentlichen Elemente der GPL oder von Open Source, sehen aber für den Lizenzinhaber noch besondere Rechte vor. Beispiele dafür sind:- Artistic License (Perl)
- ASF (Apache Software Foundation License)
- BSD (Berkeley Software Distribution License)
- MIT (Massachusetts Institute of Technology)
- MPL (Mozilla Public License)
- NPL (Netscape Public License)
- QPL (Qt Public License)
- SISSL (Sun Industry Standards Source License)
- SPL (Sun Public License)
2.4 Weitere Lizenzarten
- Careware/Charityware: Bitten den Anwender der Software, (freiwillig) eine gemeinnützige Spende zu entrichten.
- Crippleware: Abgespeckte Shareware, die einen Vorgeschmack auf die Vollversion gibt und so den Erwerb dieser Software fördern soll.
- Donationware/Giftware: Freeware, bei der der Autor um eine Spende in beliebiger Höhe bittet, wenn einem die Software gefällt und man sie regelmäßig benutzt.
- Freeware: Etwas unklarer Begriff, der meist beinhaltet, dass der Autor einer Software auf Vergütung verzichtet und die Verbreitung und Bearbeitung nicht einschränkt.
- Postcardware: Die Autoren wünschen vom Anwender der Software die (freiwillige) Zusendung einer Postkarte.
- Public Domain (gemeinfrei): Steht der Allgemeinheit uneingeschränkt zur Verfügung.
- Shareware: Vertriebsform, die das zeitlich beschränkte Nutzungsrecht zur Prüfung der Software gestattet. Die Software darf beliebig kopiert werden, nach dem Testzeitraum muss man sich registrieren lassen.
- Beerware/Sweetware: Die Autoren freuen sich darüber, wenn ihnen ein Anwender bei Gelegenheit ein Bier ausgibt oder eine Süßigkeit zusendet.
2.5 Shared Source
Von Microsoft seit einiger Zeit propagierte, sehr eingeschränkte Form von Open Source mit folgenden Eigenschaften:- Einsicht in den Code ist zu bezahlen.
- Verbesserungen am Code durch andere werden nicht bezahlt und
- sie erhalten auch keine Rechte daran.
- Verwendet jemand das Wissen, das er beim Beheben von Bugs gelernt hat, verstößt er gegen Microsofts Rechte am geistigen Eigentum.
Motto: "Was uns gehört, bleibt unser.
Und wenn du mitarbeitest,
gehört dein Beitrag auch uns."