4 OpenSource und freie Software inhalt






4.1 Software - ein allgemeiner Einblick inhalt  |  hoch



Eine ungefähre Vorstellung davon, was unter Software zu verstehen ist, hat fast jeder Computernutzer, ob er sie nun selbst entwickelt oder nutzt. Doch wenn man die Unterschiede zwischen verschiedenen Software-Lizenzen verstehen möchte, ist es wichtig, sich auch über die Feinheiten des Software-Begriffs im Klaren zu sein.

Zunächst einmal ist zu unterscheiden zwischen Software die in Binärform vorliegt und solcher, die in umittelbar interpretierbarer Form vorhanden ist. Ein Computerprogramm ist prinzipiell eine Abfolge von Rechenanweisungen. Was für den Endnutzer eine Textverarbeitung mit Bildern ist, ist für den Rechner eine Reihe von Anweisungen, die jeweils aus einem Befehl und seinen Parametern bestehen: "Verschiebe den Inhalt des Registers XY auf den Akkumulator. Addiere die Konstante 3. Löse den System-Interrupt 12 aus." Repräsentiert werden diese Befehle als eine Folge von Bits, d.h. als die Schaltzustände 1 und 0; man spricht von der Binärdarstellung.

Doch dies ist nicht die Form, in der Computerprogramme geschrieben werden, denn auf der Basis einfacher Rechenoperationen ist es kaum möglich, komplexe, abstrakte Vorgänge aus der realen Welt nachvollziehbar abzubilden. Deshalb gibt es eine Vielzahl sogenannter Programmiersprachen. Einige dieser Programmiersprachen werden kompiliert, das heißt, sie werden in Binärdateien übersetzt, die direkt für den Computer "verständlich" sind. Aus einem menschenlesbaren Programm wie etwa der Inhalt der Datei "HelloWorld.c":

/* HelloWorld.c - Begrüßung der Welt */
main() {
printf("Hello world!\n");
}


wird die Binärdatei "HelloWorld" (unter Windows "HelloWorld.exe"), die nur für den Computer verständlich ist. Wer diese Datei aus dem Internet herunterlädt, kann sie zwar ausführen, aber kaum sinnvoll weiterverarbeiten. Dazu würde er den ursprünglichen Quellcode benötigen, also die obige Datei HelloWorld?.c. Bei großen Projekten umfasst dieser Code mehrere Millionen Zeilen und Hunderte von Dateien. Neben den Programmanweisungen sind vor allem auch die Quellcode-Kommentare elementar. Diese beschreiben für den Programmierer, was eine bestimmte Anweisung tut -- bei der Übersetzung in die Binärform werden sie schlicht ignoriert und sind in der Ergebnisdatei nicht mehr vorhanden.

Daneben gibt es noch so genannte interpretierte Programme. Diese werden nicht direkt in Maschinencode übersetzt, sondern erst beim Ausführen durch einen Interpreter. Solche Programme werden in der Regel im unveränderten Quellcode weitergegeben und können damit ohne Probleme an eigene Bedürfnisse angepasst werden. Das trifft insbesondere auf im World Wide Web gebräuchliche Skripte zu. Konsequenterweise stehen interpretierte Programme besonders häufig unter Open-Source-Lizenzen.

Programme, deren Quellcode nicht verfügbar ist, werden auch als "proprietär" bezeichnet (von property, Eigentum).

Daneben ist zu differenzieren zwischen Programmen und Programmbibliotheken. Ein Programm besteht aus mehreren Quellcode-Dateien, die verschiedene Programmfunktionen beinhalten. Um eine Weiterverwendung von Standardfunktionen (z.B. für die Darstellung von Fenstern und Knöpfen, aber auch für komplexe mathematische Operationen, Internet-Funktionen usw.) zu ermöglichen, werden diese üblicherweise in sog. Programmbibliotheken ausgelagert. Solche Bibliotheken, im Englischen "Libraries", müssen von einem Programm, welches sie verwendet, eingebunden ("verlinkt") werden: Das Programm muss wissen, wo die Funktionen zu finden sind. Dabei unterscheidet man zwischen statischer und dynamischer Bindung.

Bei statischer Bindung wird die Bibliothek direkt in das Binärprogramm eingebunden, also sozusagen mitgeliefert. Bei dynamischer Bindung wird die Bibliothek dagegen zur Laufzeit geladen; ist sie auf dem System nicht vorhanden, muss sie nachinstalliert werden. (Unter Windows handelt es sich hierbei um DLL-Dateien, unter Linux um so-Dateien.) Aus Speicherplatz- und Sicherheitsgründen werden i.d.R. dynamisch geladene Bibliotheken verwendet. Es gibt Open-Source-Lizenzen, die auf Programmbibliotheken spezialisiert sind, so z.B.die vorgestellte LGPL.





4.2 OpenSource inhalt  |  hoch



Als Open-Source-Software wird im Wesentlichen Software bezeichnet, die folgende Kriterien erfüllt:
  • Jeder muss das Recht haben, die Software frei weiterzugeben
  • Der Quellcode der Software muss verfügbar und auch dessen Weitergabe erlaubt sein
  • Die Erstellung abgeleiteter Software und ihre Weitergabe unter den Lizenzbedingungen der Software muss gestattet sein
  • Es darf keine Einschränkung auf bestimmte Nutzer oder bestimmte Verwendungsgebiete erfolgen
  • Die bloße Aggregation mit anderer Software darf keine Rechtsfolgen haben (also z.B. die Pflicht, deren Quellcode offenzulegen)
  • Die genannten Rechte dürfen nicht durch andere Lizenzen wie Non Disclosure Agreements beschränkt werden

Open Source vs. Freie Software

An dieser Stelle soll kurz auf die Unterschiede zwischen den Begriffen Open Source und Freie Software eingegangen werden. Das GNU-Projekt legt Wert darauf, dass zwischen diesen Begriffen differenziert wird: Open Source ist die pragmatischere Variante, Freie Software die idealistischere. Die Open-Source-Bewegung, die weitgehend auf die Open-Source-Initiative (OSI) zurückgeht, lege keinen Wert auf die Freiheiten, die Freie Software garantiere: "Für die Open-Source-Bewegung ist unfreie Software eine suboptimale Lösung. Für die Freie-Software-Bewegung ist unfreie Software ein soziales Problem und freie Software die Lösung." Die beiden Gruppen unterscheiden sich mitunter auch darin, welche Lizenzen sie empfehlen bzw. ablehnen.

Der Begriff Open Source hat sich jedoch bereits fest etabliert -- obwohl "Free Software" auch oft als Bezeichnung für Freeware, also einfach kostenlose Programme, verwendet wird, liefern gängige Suchmaschinen mehr Treffer für den Begriff Open Source als für Free Software. Viele Autoren von Software unter GNU-Lizenzen bezeichnen diese als Open Source, und gängige Webseiten wie SourceForge? nehmen schon im Namen Bezug auf Open Source, auch wenn sie überwiegend GPL-Projekte hosten. In diesem Text wird daher Open Source als Oberbegriff verwendet.


Ein kleiner Exkurs: GNU -- Was ist das?

Die Bezeichnung GNU ist ein Akronym für "GNU's Not UNIX". Diese Bezeichnung stammt vom Entwickler Richard Stallman. Stallmans Programmpaket war von Beginn an als Ersatz für das UNIX von AT&T konzipiert. Und es ist vermutlich kein Zufall, dass der Vater von GNU genau zu der Zeit mit der Entwicklung seines freien Betriebssystems begann, zu der AT&T die Arbeit von hunderten von freien Entwicklern genutzt hatte.

Zu Beginn der Neunziger Jahre waren alle wichtigen Bestandteile von GNU fertiggestellt; es fehlte nur der "Kernel", der stabile Betriebssystemkern. Völlig unabhängig von Stallmans Projekten programmierte Linus Torvalds einen freien UNIX-Kernel. Dieser vervollständigte das GNU-System zu einem kompletten Betriebssystem. "Wir konnten uns gar nicht für oder gegen Linux als Kernel entscheiden, da wir ihn nicht kannten", berichtet Richard Stallman in einem Interview (Computer Channel vom 24.01.2000). "Aber andere Leute, die den neuen Kernel ausprobiert hatten, suchten nach Möglichkeiten, ihn zu ergänzen und stießen dabei glücklicher Weise auf GNU."

Richard Stallman, damals noch Mitarbeiter am Massachusetts Institut of Technology, war (und ist) ein beharrlicher Verfechter von freier Software. Seit 1983 arbeitete Stallman an der Entwicklung von GNU; seine Urheberrechte an den Programmen wollte er nicht aufgeben, denn damit hätte er anderen Entwicklern die Möglichkeit eröffnet, seine Arbeit zu verändern und dann als eigenes Produkt zu verkaufen. Stallman stellte die von ihm entwickelte Software unter die GNU General Public License (GPL). Die Idee, die hinter der GPL steckt ist das Copyleft. Dieses erlaubt ausdrücklich die uneingeschränkte Verteilung und Verwendung der unter seinem Schutz stehenden Programme. Gleichzeitig stellt es klar, dass alle Software, die aus der Veränderung eines der ursprünglichen Programme entsteht, selbst wiederum unter das Copyleft fallen muss. Mit Hilfe dieser Klausel wollte Stallman die freie Software vor Besitzansprüchen und Patentierungsbestreben schützen.

GNU und Linux sind seit Beginn der Neunziger Jahre, als Linus Torvalds seinen Betriebssystem-Kern ebenfalls unter die GNU General Public License stellte, miteinander verbunden. Weitere Projekte wurden ins Leben gerufen. Dazu zählt etwa GNOME und KDE, das sind einheitliche, grafische Benutzeroberflächen für alle UNIX-kompatiblen Systeme. Zur Zeit arbeiten Programmierer auch an Classpath, einem Bibliotheken-Satz, der Java unterstützen soll. Das Free Film Project baut ein virtuelles Filmstudio auf. GNU Cobol stellt einen Übersetzer für die Programmiersprache Cobol bereit. Mit GNU Enterprise können Systeme im Business-Bereich entwickelt werden.


Geschichte von OpenSource

Bis Mitte der Sechziger Jahre wurde Software als kostenlose Beigabe zum neuen Rechner ausgeliefert. Die Hersteller verdienten ausschließlich an der Computer-Hardware. Die Quellcodes waren für Programmier-Enthusiasten in der ganzen Welt frei zugänglich. Erst 1965 hörte etwa IBM damit auf, den Quellcode zusammen mit den Betriebssystemen der Rechner auszuliefern. Die Firma beschäftigte inzwischen ausreichend Computer-Experten, um auf die Hilfe außenstehender Entwickler verzichten zu können. Spätestens zu Beginn der Siebziger Jahre stellten einige Programmierer fest, dass sich mit der von ihnen entwickelten Software erhebliche Einkünfte erzielen ließen. Mit Hilfe von Lizenzverträgen, die die Weitergabe von Software von einem Nutzer an einen anderen einschränkten oder gar verboten, sicherten sie ihre Einnahmequellen. Die Quellcodes wurden zu den bestgehütetsten Geheimnissen der neuen Unternehmer auf dem IT-Markt.

Keine zehn Jahre später gab es kaum noch frei verfügbare Quellcodes. Software wurde hinter verschlossenen Türen produziert. Die Hersteller behielten damit die Kontrolle über ihre Werkzeuge. Verschwiegenheits-Vereinbarungen (Non-Disclosure-Agreements) hinderten Programmierer an der freien Weiterentwicklung ihrer Produkte.

Computer-Anwender waren bei Programmfehlern oder Sonderwünschen seither auf das Entgegenkommen der Software-Produzenten angewiesen. Unzufrieden mit dieser Entwicklung beschloss Richard Stallman (später Gründer der Free Software Foundation) vom Massachusetts Institute of Technology (MIT) 1984, ein wieder freies Programmpaket namens GNU zu entwickeln. In Verbindung mit dem Betriebssystem-Kern (zum Beispiel Linux) ergänzen sich die GNU-Tools zu einem kompletten Betriebssystem und umfassen Anwendungssoftware und eine vollständige Software-Entwicklungsumgebung.

Ziel des Computer-Spezialisten vom MIT war es, die offene Zusammenarbeit der Software-Entwickler, wie er sie selbst zu Beginn der Siebziger Jahre noch erlebt hatte, erneut zu ermöglichen - zum Nutzen aller Computer-Anwender. Nach Ansicht von Stallman müssen alle Quellcodes vervielfältigt, verändert und weitergegeben werden können. Frei ist nach Auffassung des Vaters von GNU eine Software nur dann, wenn sie für jeden uneingeschränkt nutzbar ist. Diese Überzeugung vertreten Stallman und seine Mitstreiter in der 1985 von ihm gegründeten Free Software Foundation (FSF) bis heute kompromisslos. Dazu hat Richard Stallman die GNU-General Public License (GPL) geschaffen, die die Freiheit der Software schützt.

Der Begriff "frei" hat auch im Englischen mehrere Bedeutungen. Und so klang für manches grundsätzlich interessierte Unternehmen der Name "Free Software" verdächtig nach Freibier. Viele zögerten, ein Betriebssystem einzuführen, das an jeden freizügig verschenkt wird.

Angesichts dieser Skepsis aus den Reihen der Wirtschaft schlug der Software-Experte Eric S. Raymond (Verfasser des Artikels "The Cathedral and the Bazaar") 1998 vor, Software mit offenem Quellcode künftig als Open-Source-Software zu bezeichnen. Raymond, der an einer neuen Open-Source-Lizenz für die amerikanische Firma Netscape mitarbeitete, sieht die "Free Software" als einen Teil der Open-Source-Software. Die Open-Source-Definition lässt die Verwendung von Open-Source-Software in kommerzieller Software offen. Die GPL schränkt diese Nutzung stark ein: Für Richard Stallman ist nicht nachvollziehbar, dass ein Unternehmen Teile seiner Software freigibt und andere geheim hält.


Wie entsteht ein OpenSource Projekt?

Viele Entwickler ärgerten sich über Probleme mit kommerzieller Software. So war es auch bei Richard Stallman: Er wollte am Massachusetts Institute of Technology einen Druckertreiber verbessern. Mitarbeiter im Netz sollten eine Mitteilung erhalten, wenn der Druckauftrag nicht ausgeführt werden konnte, weil etwa ein Papierstau entstanden war. Eigentlich eine leichte Aufgabe für den Programmierer - wenn der Druckerhersteller sich nicht geweigert hätte, den Quellcode für den Treiber herauszugeben. Stallman war gezwungen, einen komplett neuen Treiber zu schreiben; sein Ärger darüber bekräftigte ihn in dem Entschluss, ein wirklich freies, für jeden zugängliches System zu schaffen.

Ähnlich ist der Ursprung vieler Open-Source-Entwicklungen. Ein Software-Entwickler hat ein bestimmtes Problem und versucht, es zu lösen. Er schreibt ein neues Programm und veröffentlicht es mitsamt dem Quellcode. Erweist sich die neue Software als nützlich, so wird sie von vielen anderen getestet. Sollten Fehler auftreten, so werden sie entweder von den Testern, die sich an den Fehlern stören, behoben oder der Urheber der Software erhält eine Mitteilungen über den "Bug" (Fehler) und kann ihn selbst beheben. Je größer die Zahl der interessierten Anwender, umso größer ist die Chance, Fehlern auf die Spur zu kommen.

Das Offenlegen der Quellcodes führt außerdem dazu, dass die Programme erweitert oder abgewandelt werden können. Es entstehen Anwendungen, die in vielen Bereichen einsetzbar sind.

Ein wichtiger Punkt für die hohe Qualität von Open-Source-Produkten ist, dass sie schon vor Herausgabe des ersten vollen Releases Anwendern und Testern zugänglich sind, die sie bereits in diesem frühen Stadium prüfen und Verbesserungsvorschläge anbringen können. Sie tragen dazu bei, dass der Weg zum stabilen Produkt verkürzt werden kann.


Wie funktioniert ein OpenSource Projekt?

Die Gründer eines Open-Source-Projektes sind häufig auch die Projektleiter. Um sie entwickelt sich ein Team von Programmierern, das sich besonders für das entsprechende Produkt interessiert. Wenn sich das Projekt weiterentwickelt, werden diese Teammitglieder oft zu sogenannten Maintainern, die für einzelne Bereiche zuständig und verantwortlich sind. Die Mitarbeit an einem Open-Source-Projekt steht grundsätzlich jedem offen. Grundlage für die Zusammenarbeit ist das Einhalten offener Standards für Protokolle, Dateiformate und Schnittstellen, welche die Basis für die Entwicklung bilden.

In das Kernteam aufgenommen zu werden, ist für die meisten Entwickler eine Auszeichnung. Der Einfluss der Gründerriege auf das endgültige Produkt ist dabei unterschiedlich. Oft entscheiden letztlich ihre Mitglieder, ob eine Software geändert oder ein neuer Baustein hinzugefügt wird.


Und das Geld?

Ein Kostenfaktor, der auch bei kleineren Open-Source-Projekten entsteht, ist die Anbindung ans Internet. Der Austausch von Daten erfolgt häufig über einen Web- oder FTP-Server - diese Server stellen Dateien zur Verfügung, die über das Internet heruntergeladen werden können. Die Kommunikation mit den anderen Entwicklern erfolgt über Mailinglisten oder in Newsgruppen. Die dabei entstehenden Kosten sind jedoch relativ gering.

Anders sieht es bei großen oder sehr speziellen Projekten aus: Da große Projekte von sehr vielen Entwicklern unterstützt werden, führt das zu einem hohen Datenaufkommen. Die Server müssen darauf eingerichtet sein; denn bei solchen Projekten ist mehr Plattenplatz für die Daten, vor allem aber eine bessere Anbindung ans Internet unabdingbar. Bei Projekten, die sich mit der Portierung von Softwareprogrammen auf unterschiedliche Hardware befassen, müssen zudem unterschiedliche Rechner bereitstehen. Das lässt sich nicht zum Nulltarif realisieren, gerade wenn große und schnelle Server benötigt werden.

Oft leben die Programmierer eines Groß-Projektes überall auf der ganzen Welt und kommunizieren lediglich per Internet miteinander. Um ihnen die Möglichkeit zu schaffen, sich persönlich zu treffen und neue Ideen zu diskutieren, werden Treffen organisiert. Das ist nur mit finanzieller Unterstützung etwa durch Firmen möglich.

Manche Unternehmen und Institutionen fördern Open-Source-Projekte. Die Gründe sind vielfältig. Das Bundesministerium für Wirtschaft und Technologie unterstützt zum Beispiel das Projekt GNU Privacy Guard. Mit Hilfe dieses Programmes werden E-Mails sicher verschlüsselt im Internet übertragen. Firmen, die mit Open-Source-Software arbeiten, unterstützen Entwicklungsarbeiten, weil sie auf diese Weise den Programmierern einen gewissen Dank zollen - und natürlich auch, weil sie von der Weiterentwicklung der Programme selbst wieder profitieren können. Distributoren wie SuSE? oder Red Hat beschäftigen Entwickler, die Open-Source-Software schreiben. Andere Unternehmen ermöglichen es ihren Mitarbeitern, zumindest Teile ihrer Arbeitszeit in Open-Source-Projekte zu investieren.





4.3 Lizenzen inhalt  |  hoch



Eine Software-Lizenz ist zunächst nichts anderes als ein Vertrag, in dem eine Partei (Lizenzgeber) einer anderen (Lizenznehmer) bestimmte Nutzungsrechte an einer urheberrechtlich geschützten Software überlässt oder beschränkt. Diese Rechte können beinhalten:
  • Allgemeines Nutzungsrecht an der Software
  • Zahl der Nutzer, Art der Nutzung usw.
  • Recht auf Weiterverbreitung der Software
  • Recht auf Veränderung der Binärdateien
  • Recht auf Veränderung des Quellcodes, sofern vorhanden
  • Recht auf Weiterverbreitung veränderter Versionen der Binärdateien oder des Quellcodes
  • Recht auf Verbindung ("Linking") der Binärdateien oder des Quellcodes mit anderer Software
  • statisches Linking vs. dynamisches Linking


Während bei kommerzieller Software Rechte üblicherweise eingeschränkt werden, geht es bei Open Source bzw. Freier Software (mehr über die Unterscheidung unten) darum, möglichst vielen Menschen eine Veränderung des Codes zu gestatten und damit eine langfristige Verbesserung der Software zu ermöglichen. Die Rechtskräftigkeit von sog. Click-Through-Lizenzen ist fragwürdig, da es sich nicht um individuelle Verträge, sondern um serienmäßig identische Texte handelt und somit die strengen Regeln für Allgemeine Geschäftsbedingungen gelten.

Open-Source-Lizenzen unterscheiden sich von traditionellen "EULAs" (End User License Agreements), da der Anwender sie nicht akzeptieren muss -- sie gewähren ihm schließlich nur Rechte, die er unter dem sonst gültigen Urheberrecht gar nicht hätte. Dennoch sind nicht alle Klauseln in gängigen OSS-Lizenzen nach deutschem Recht zulässig.


Die GNU General Public Licence (GPL)

Die Dominanz der GPL ist historisch wie ideologisch erklärbar. 1983 legte Richard Stallman, Computerpionier am MIT, den Grundstein des GNU-Projekts. GNU sollte das proprietäre UNIX-Betriebssystem (bestehend aus einem Kernel und verschiedenen Anwendungsprogrammen) durch sogenannte "freie Software" ersetzen. Es sollte jedem gestattet sein, den Code der Software frei zu verändern und weiterzugeben. Eine kommerzielle Nutzung war dennoch nicht ausgeschlossen; so verkaufte Richard Stallman selbst frühe Versionen der GNU-Software auf Datenträgern.
1989 entwickelte das GNU-Projekt für seine Software eine einheitliche Lizenz, die folgende Kriterien erfüllen sollte:
  1. Freiheit das Programm für jeden Zweck auszuführen
  2. Freiheit den Quellcode zu studieren und anzupassen
  3. Freiheit, das Programm zu kopieren
  4. Freiheit, das veränderte Programm zu kopieren
Diese Freiheiten sollten auch langfristig sichergestellt werden. Zu diesem Zweck enthält die GPL zwei wesentliche Klauseln:
  • Jedes Derivat muss ebenfalls vollständig unter der GPL lizenziert werden.
  • Bei Weitergabe des Programmes in Binärform muss der Quellcode des gesamten Programms mitgeliefert oder auf Anfrage ausgehändigt werden.
Wird eine Programmbibliothek unter die GPL gestellt, muss jedes Programm, das diese Bibliothek nutzt (gleich ob statisch einkompiliert oder dynamisch zur Laufzeit aufgerufen) ebenfalls unter der GPL stehen. Wird die GPL mit anderen Werken zusammengestellt (z.B. auf einer CD-ROM-Sammlung oder in Form einer Linux-Distribution) müssen diese anderen Werke allerdings nicht automatisch unter der GPL lizenziert werden.

Das GNU-Projekt erwies sich als recht erfolgreich. Heutige Linux-Systeme beruhen zu großen Teilen auf GNU-Software (dies betrifft eine Vielzahl von Kommandozeilen-Werkzeugen inklusive dem elementaren GNU C-Compiler, zahlreiche Programmbibliotheken, den GNOME-Desktop usw.). Schon aus dieser Tradition heraus verwenden viele neue Open-Source-Projekte die GPL. Die GPL garantiert, dass freie Software stets freie Software bleibt und nicht z.B. Microsoft GNU-lizenzierte Bibliotheken in seine Software einbaut und gleichzeitig weiterhin deren Verbreitung und Veränderung untersagt.

Weitere Bedingungen der GPL (Version 2 von 1991) sind:
  • Beim Programmstart sollte ein Hinweis auf die GPL erfolgen (nicht bindend).
  • Sollte z.B. aufgrund von Patentlizenzforderungen eine freie Verbreitung des Programms unter der GPL nicht möglich sein, darf der Lizenzgeber das Programm nicht unter der GPL weitergeben. So wird sichergestellt, dass ein Lizenzgeber nicht durch die Hintertür die Freiheiten der GPL einschränkt.
  • Der Lizenzgeber kann aus patent- oder urheberrechtlichen Gründen die Verbreitung auf bestimmte Länder beschränken.
  • Die Haftung für entstehende Schäden wird (im Rahmen der rechtlichen Möglichkeiten) ausgeschlossen.

Die GNU Lesser General Public Licence (LGPL)

Die GNU LGPL wurde aus einem Dilemma heraus ins Leben gerufen: Auf der einen Seite möchte das GNU-Projekt sicherstellen, dass auch Derivate unter der GPL lizenziert werden und somit die Entwicklung freier Software gefördert wird. Insbesondere bei Programmbibliotheken ist es jedoch meistens wünschenswert, einen einheitlichen Standard zu entwickeln (z.b. für die Darstellung von Programmfenstern und Buttons) -- Bibliotheken unter der GPL zwingen proprietäre Entwickler dazu, eigene Bibliotheken zu entwickeln oder zu verwenden. Bei elementaren Bibliotheken wird die Entwicklung proprietärer Software für die betreffende Plattform sogar nahezu unmöglich gemacht, was selbst manchen GNU-Enthusiasten zu weit geht.

Ursprünglich hieß die LGPL "Library General Public License", sie wurde jedoch in "Lesser" umbenannt, da Richard Stallman befürchtete, sie würde sonst zu häufig für Programmbibliotheken verwendet. "Lesser" soll kenntlich machen, dass die Nutzerfreiheit (im Sinne des GNU-Projekts) pragmatischen Motiven untergeordnet wird. Die LGPL unterscheidet sich von der GPL im Wesentlichen dadurch, dass sie sowohl die statische als auch die dynamische Verlinkung der Bibliothek mit beliebigen Programmen erlaubt, ohne dass automatisch das gesamte Programm unter den Bedingungen der Lizenz stehen müsste. (Allerdings muss ein Reverse Engineering des gesamten Programms gestattet sein.)

Die LGPL erzwingt gleichzeitig das "Copyleft" für den Code der eigentlichen Programmbibliothek: Alle Veränderungen an der Bibliothek selbst müssen wiederum frei verfügbar sein.


Die Berkeley Software Distribution Licence (BSD-Licence)

Die BSD-Lizenz hat eine andere historische Tradition als die GPL bzw. LGPL. Der Name stammt von der Berkeley Software Distribution, einer seit den 1970er Jahren entwickelten UNIX-Distribution, die Anfang der 1990er als Open-Source-Software zur Verfügung gestellt wurde (daraus entwickelten sich verschiedene freie Unices: OpenBSD?, NetBSD?, FreeBSD? usw.). Die Lizenzbedingungen sind einfach:
  • Das Programm darf in jeder Form, auch in Binärform, weitergegeben werden. Eine Pflicht zur Überlassung des Quellcodes besteht nicht.
  • Bei der Weitergabe in Binärform muss die Lizenz den Dateien beigefügt werden.
  • Bei Derivaten darf der Name der Autoren/des Herstellers nicht ohne Erlaubnis für Werbezwecke verwendet werden.


Zusätzlich enthielt die erste Version der BSD-Lizenz eine sogenannte Werbeklausel, die es erforderlich machte, in Werbematerialien auf die Universität Berkeley hinzuweisen. Diese Klausel wurde aufgrund von Beschwerden 1999 entfernt.




vorheriges Kapitel hoch nächstes Kapitel