|
Allgemeines
Open Source steht als Sammelbegriff für Software, deren Quellcode
frei einsehbar ist. Das ist keine Selbstverständlichkeit! Zwar
kann sich jeder ein Windows-Command.com im Editor anschauen, aber was
er zu sehen bekommt, sind unlesbare Zeichen – Maschinencode. Dieser ist
nicht nur für den Menschen nicht zu entziffern, er ist praktisch
auch nicht in (für Menschen lesbaren) Quellcode
zurückdechiffrierbar.
Das ist im Allgemeinen auch gut so! Eine
Software-Entwicklungsfirma, die ein gutes, nützliches Programm
schreibt, will schließlich auch daran verdienen und hat daher
ein berechtigtes Interesse daran, dass nicht jeder den Quellcode der
Software lesen und kopieren kann.
Was sind also die Vorteile von Open Source?
Warum sollte man Open-Source-Software einsetzen? Kann man sich auf Open-Source-Software
überhaupt verlassen? Wo bekommt man Support und
Hilfe, wenn man Open-Source-Software einsetzt und auf ein Problem
stößt?
Fangen wir damit an, die in den Medien
teilweise sehr hitzig geführte Disskussion zu diesem Thema noch
einmal aufzurollen....
Warum Open Source?
Freedom is just another word for nothing left to lose,
singt schon Janis Joplin. Das mag mit ein Grund sein, warum man nicht
von freier oder kostenloser Software spricht. Die Neuschöpfung
eines Namens für ein Phänomen, das fast so alt ist wie die
Computerindustrie, ist im Falle von Open Source kein Marketinggag, sondern
der Versuch, einen Begriff zu etablieren, der die Entwickler und
Verfechter freier Software der Notwendigkeit enthebt, ständig
sowohl zwischen kostenloser Software und freier Software als auch
zwischen den verschiedenen Lizenzen freier Software differenzieren zu
müssen.
Lizenzbedingungen gibt es sowohl bei
kommerzieller Software, als auch im Bereich der freien Software, beinahe so
viele verschiedene, wie es Programme gibt. Der Begriff Open Source
wurde geprägt, um einen gemeinsamen Namen für jene Lizenzen
benutzen zu können, die Freiheit im Sinne der Wissenschaft
verkörpern.
Der Begriff Software kann nahezu alles
bezeichnen, was auf einem Computer ausgeführt wird. Sowohl das
fertige, nur auf einer Architektur ausführbare Programm (Binary)
als auch den vom Programmierer geschriebenen, menschenlesbaren
Programmtext (Source).
Frei wurde durch "Open" ersetzt, um zu erreichen,
dass der Begriff nicht mehr mit "umsonst", sondern mit "offen für alles" assoziiert
wird.
Die Wurzeln freier Software
Die Anfänge freier Software sind eng mit den Anfängen der
Computerindustrie verknüpft. In einem Kartellrechtsprozess
zwischen dem amerikanischen Departement of Justice und AT&T, der
sich von 1949 bis 1956 hinzog, wurde AT&T verpflichtet, seine
Geschäftstätigkeit auf den Bereich der Telekommunikation zu
beschränken und seine Patente gegen nominelle Gebühren an
seine Konkurrenten zu lizenzieren. Zu dieser Zeit bestand das
Computergeschäft fast ausschließlich aus dem Verkauf und der
Wartung von Hardware. Software war ein Nebenprodukt, da die meisten
Anwender ihre Software selbst entwickelten. Erst mit der Entstehung der
Timesharing-Systeme begann die Softwareentwicklung in der Form, wie wir
sie heute kennen. Durch die Entwicklung von Festplatten und
Magnetbändern war es erstmals möglich, Programme auf den
Computern selbst zu speichern, zu modifizieren und wiederzuverwenden.
Diese neue Form der Computernutzung förderte die enge Kooperation
der einzelnen Benutzer und den regen Austausch von Programmen.
1969 entwickelten Ken Thompson und Dennis
Ritchie in den AT&T Bell Telephone Laboratories die erste Version
von Unix. AT&T, an der kommerziellen Verwertung gehindert,
lizenzierte Unix für einen nominellen Betrag an Universitäten
und gegen astronomische Summen an kommerzielle Nutzer, um einen
möglichen Verstoß gegen den Vergleich von 1956 von
vornherein auszuschließen. Dazu kamen ausgesprochen vorteilhafte
Rahmenbedingungen: kein Support, keine Bugfixes, Lieferung nur gegen
Vorkasse.
Das Ergebnis war eine rege
Entwicklungstätigkeit im universitären Umfeld. Ein Austausch
der Programme war problemlos möglich, da nahezu alle
Universitäten über eine Unix-Lizenz verfügten. Durch das
Fehlen jeglichen Supports entwickelte sich das Usenet zu einem
schnellen und leistungsfähigen Supportnetzwerk der
Universitäten untereinander. Als Koordinationsstelle fungierte die
Universität von Berkeley, Kalifornien, die einen eigenen Zweig von
Unix, die Berkeley Software Distribution (BSD), entwickelte und an
andere Universitäten vertrieb. Die erste BSD-Version wurde von
Bill Joy, dem späteren Gründer von Sun Microsystems, im Jahr
1978 herausgegeben. Im selben Jahr entstand auch das Internet, damals
noch Arpanet genannt, auf der Basis von Unix-Systemen.
Das Jahr 1982 ist das Geburtsjahr des
kommerziellen Unix. IBM, HP und DEC veröffentlichen Unix-Versionen
unter neuen Namen für ihre eigene Hardware. Bill Joy
verlässt die Universität von Berkeley und gründet
Sun Microsystems. Das erste Betriebssystem für die neuen
Workstations basiert auf BSD 4.2. AT&T kündigt offiziellen
Support für Unix an und veröffentlicht die erste kommerzielle
Version.
Nach einem weiteren Kartellprozess trennte
sich AT&T 1984 von 26 Firmen der Bell-Gruppe und durfte fortan als
Mitbewerber im Computergeschäft auftreten. Damit nahm die
Ära der liberalen Unix-Lizenzierung, des Zugriffs auf den
Quellcode sowie des Austauschs von Programmen und Verbesserungen, ein
Ende. Die Lizenzgebühren für Unix wurden drastisch angehoben.
Die Philosophie und die Pragmatik des Open Source
Im Schatten dieser Veränderungen gründete Richard Stallman
das GNU-Projekt (GNU is not Unix) mit dem Ziel, ein freies Unix zu
schaffen. Als Koordinationsstelle und zur Erwirtschaftung von Einnahmen
durch den Versand der im Rahmen des GNU-Projektes erstellten Software
und Dokumentation wurde 1984 die Free Software Foundation
gegründet.
Stallman betrachtete es als sein
natürliches Recht, seine Programme mit seinen Freunden und
Kollegen zu teilen, insbesondere vor dem Hintergrund, dass das
Verteilen von Software im Gegensatz zu echten Gütern nahezu ohne
jeglichen Aufwand und mit nur marginalen Kosten zu erreichen ist. Durch
die zu dieser Zeit immer restriktiver werdenden Lizenzen der
kommerziellen Softwareanbieter sah sich Stallman an diesem bis dahin
üblichen Umgang mit Software gehindert.
Mit der GPL entwickelte Stallman den Begriff des
Copyleft, als Wortspiel auf das ihm so unbequeme Copyright.
Hauptaufgabe des Copyleft ist sicherzustellen, dass Software, die
ihm unterliegt, frei bleibt, d. h. jeder der sie benutzt und
weiterentwickelt, hat die gleichen Rechte wie der ursprüngliche
Autor. Dieses Ziel stellt die GPL durch die Forderung sicher, dass
jedes Programm, das auch nur eine Zeile Code enthält, welcher der GPL
unterliegt, wieder der GPL unterliegen muss.
Genau diese Eigenschaft macht die GPL denkbar
ungeeignet für die Entwicklung kommerzieller Software, da sie mit
jeder anderen Lizenz, die mehr Einschränkungen enthält,
inkompatibel ist. Die Akzeptanz freier Software beschränkte sich
daher über 10 Jahre lang fast ausschließlich auf den
privaten und universitären Bereich. Die sozialistische
Grundhaltung und Stallmans ideologische Beharrlichkeit gegenüber
Versuchen, die GPL kommerzverträglicher zu gestalten, dürfte
weiter zur Ablehnung der GPL von weiten Teilen der Softwareindustrie
beigetragen haben.
Als mit dem Erscheinen von Linux das letzte
fehlende Element, der Kernel, für das GNU-System verfügbar
wurde, stand erstmals in der Geschichte der Datenverarbeitung ein
komplett freies Betriebssystem zur Verfügung. Stallmans Ziel war
erreicht.
Allerdings fing mit der Verwirklichung dieses
Ziels der Ärger erst an. Linux erreichte in kürzester Zeit
eine Beliebtheit und Verbreitung, wie sie bei freier Software bis dahin
unbekannt war. Viele Benutzer kamen hinzu, die Linux wegen seiner
Stabilität und seiner Vorzüge verwendeten, nicht wegen seiner
Freiheit.
Mit Linux rückte die freie Software auch in
das Blickfeld der kommerziellen Welt. Mehr und mehr kommerzielle
Software wurde auf Linux portiert, die Grenzen zwischen freier und
nichtfreier Software wurden fließend.
Eric Raymonds Analyse der Entwicklungsmethode
der Linux-Kernel-Gemeinde beleuchtete die Effizienz und
Wirtschaftlichkeit der offenen Softwareentwicklung. Schwerpunkt
Raymonds ist nicht der ideologische Hintergrund, sondern das
beeindruckende Entwicklungsmodell, mit dem eine Handvoll Programmierer
geschafft hatte, was Stallman und die FSF seit Jahren vergebens
versuchten: die Entwicklung eines stabilen und schnellen Unix-Kernels,
ohne auf fremden Code zurückzugreifen.
Kein Wunder, dass Raymond schnell die
Aufmerksamkeit der Industrie auf sich zog. Raymond war maßgeblich
an der Definition der Netscape Public License und der Apple Public License
beteiligt. Die freie Software-Gemeinde wurde in zwei Teile gespalten.
Die Fraktion der Pragmatiker, die der Ansicht folgt, das Wichtigste sei
stabile Software, die an die individuellen Bedürfnisse der
Benutzer angepasst und frei verteilt werden darf, steht den
Anhängern der reinen Lehre freier Software gegenüber, die
Schwächen und Einschränkungen der neuen Lizenzen lautstark
anprangern.
Sicherlich bringt die Lizenzinflation neue
Probleme mit sich. Welchen Status nimmt Software ein, die Code unter
verschiedenen Lizenzen enthält – ein Programm, das beispielsweise
durch die Zusammenführung von Code aus Apples Mac OS X Server und
Mozilla, dem freien Netscape, entsteht? Verwendet die
Benutzeroberfläche dieses neuen fiktiven Programms auch noch die
Qt-Bibliothek von Troll Tech, so kommt noch eine dritte Lizenz hinzu.
Alle drei Lizenzen bedingen unterschiedliche Einschränkungen.
Wie und ob die Nutzer freier Software dieses
Problem lösen, hängt letztlich auch von dem
Kooperationswillen der Lizenzgeber, der Softwareindustrie, ab. Zur Zeit
gibt es hierzu heftige Diskussionen. Ein Anhänger Stallmans
schrieb: Das Schlimmste, das der freien Software passieren kann, ist
eine riesige Menge fast freier Software.
Wichtig ist, mit welcher Absicht die Welt der
kommerziellen Softwarehersteller in das Open-Source-Entwicklungsmodell
einsteigt. Will sie nur schnelle Bugfixes und Verbesserungen, oder
schafft sie es, ihre Orientierung von dem kurzfristigen materiellen
Vorteil auf langfristig stabile und qualitativ hochwertige Software zu
verlagern? Nutzt sie das Know-how der freien Software-Gemeinde nur aus
oder steuert sie selbst ihren Teil bei?
Die Antwort auf diese Fragen kann nur die
Zukunft bringen und sie hängt stark davon ab, wie bewusst
sich die Benutzer und Entwickler freier Software dieses Problems sind.
Stallmans Position würde die freie Software wieder in ihre Nische
zurückführen. Unter Raymond ist die feindliche Übernahme
freier Software durch die Industrie wahrscheinlich. Wie so oft, kann
man keiner der Positionen uneingeschränkt zustimmen. Da bei freier
Software die Macht aber bei ihren Nutzern und Entwicklern liegt, wird
es vom Verhalten der einzelnen abhängen, welchen Weg die freie
Software nehmen wird.
Die Vorzüge des Open-Source-Modells
Das größte Gewicht liegt bei den unter dem Namen Open Source
zusammengefassten Lizenzen auf dem Recht, den Quellcode nicht nur
zu lesen, sondern auch zu verändern und diese Veränderungen
zusammen mit dem originalen oder dem veränderten Quellcode
wiederum Dritten zugänglich machen zu dürfen.
Erst diese Bedingung kann die synergetischen
Effekte hervorbringen, die Eric S. Raymond in seinem Essay "The
Cathedral and the Bazaar" (http://www.earthspace.net/~esr/writings/cathedral-bazaar/) als charakteristisch für die Entwicklung freier Software beschreibt.
Das von Raymond beschriebene Modell beruht vornehmlich darauf, die
Nutzer eines Programms zu Mitentwicklern zu machen, indem von ihnen
vorgeschlagene Änderungen und Korrekturen wiederum in das Programm
integriert werden. Diese Idee an sich ist nicht neu. Neu ist
allerdings, dass die Nutzer (die laut Raymond zum größen
Teil nicht so dumm sind, wie gemeinhin angenommen wird) diese Korrekturen
selbst am Programm durchführen und testen, bevor sie sie an den
Entwickler des Programms zurückschicken. Im Gegensatz dazu steht
die althergebrachte Methode, die Fehlerbeschreibungen der Nutzer
nachzuvollziehen, den Fehler zu suchen, und die Korrektur wiederum vom
Nutzer testen zu lassen. Schon aus dieser kurzen Beschreibung wird
ersichtlich, welche der beiden Methoden die effizientere ist.
Der so beschleunigte Entwicklungsprozess
führt zu einer schnelleren Fehlerbehebung und damit zu besseren
und stabileren Programmen. Ein solcher Prozess kann aber nur
stattfinden, wenn die Nutzer auch Zugang zum Sourcecode des Programms
haben und es ihnen erlaubt ist, diesen zu ändern.
Definition von Open Source
Auf der Webseite der Open-Source-Initiative wird der Begriff der Open Source wie folgt definiert (http://www.opensource.org/docs/definition_plain.html):
-
Freie Weiterverbreitung
Die Lizenz darf niemanden im Verkauf oder in der Weitergabe der
Software als Teil einer aus verschiedenen Quellen zusammengesetzten
Softwaredistribution einschränken. Die Lizenz darf keinerlei
Lizenzgebühren oder andersartige Beiträge verlangen. Indem
wir von der Lizenz verlangen, eine freie Weiterverbreitung zu
ermöglichen, verhindern wir, dass der Langzeitnutzen
zugunsten von Geldmacherei beeinträchtigt wird. Wenn wir dies
nicht täten, würde Druck auf Mitwirkende ausgeübt,
abtrünnig zu werden.
-
Quellcode
Das Programm muss den Quellcode beinhalten und sowohl die
Verbreitung als Quellcode als auch in kompilierter Form gestatten. Wird
ein Teil des Produkts nicht mit Quellcode verbreitet, so muss auf
eine Möglichkeit, den Quellcode gebührenfrei aus dem Internet
downzuloaden, ausdrücklich hingewiesen werden. Der Quellcode
muss in einer Form zur Verfügung gestellt werden, in der ein
Programmierer ihn verändern kann. Absichtlich verwirrend
geschriebener Quellcode ist nicht erlaubt. Ebenso sind Zwischenformen,
wie die Ausgabe eines Präprozessors oder eines Übersetzers,
verboten. Wir benötigen Zugriff auf verständlichen Quellcode,
weil man Programme nicht weiterentwickeln kann, ohne sie zu
verändern. Da wir die Entwicklung einfach machen wollen,
müssen wir auch verlangen, dass die Veränderung des
Codes einfach ist.
-
Auf dem Programm basierende Werke
Die Lizenz muss die Veränderung des Programms, auf dem
Programm basierende Werke, sowie deren Verbreitung unter den gleichen
Lizenzbedingungen gestatten. Allein nur die Möglichkeit zu haben,
den Quellcode zu lesen, reicht nicht aus, um eine unabhängige
Prüfung und eine schnelle evolutionsähnliche Auslese zu
erreichen. Damit eine schnelle Entwicklung möglich ist, muss
man mit der Software experimentieren können und Veränderungen
weiterverbreiten dürfen.
-
Die Unversehrtheit des Originalcodes
Die Lizenz darf die Verbreitung von modifiziertem Quellcode nur dann
einschränken, wenn sie die Verbreitung von sogenannten
Patchdateien in Verbindung mit dem Originalcode gestattet, damit das
Programm vor der Benutzung verändert werden kann. Die Lizenz
muss ausdrücklich die Verbreitung von Software erlauben, die
mit verändertem Quellcode erstellt wurde. Die Lizenz darf
allerdings von auf dem Programm basierenden Werken verlangen, einen von
der Originalsoftware verschiedenen Namen oder eine andere
Versionsnummer zu tragen. Es ist eine gute Sache, Verbesserungen zu
unterstützen, aber die Benutzer der Software haben ein Recht
darauf zu wissen, wer für das Produkt verantwortlich ist.
Andererseits haben die Autoren und deren Unterstützer das Recht zu
wissen, welche Software sie überhaupt unterstützen sollen
und sie haben das Recht, ihren guten Ruf zu schützen. Folglich
muss eine Open-Source-Lizenz garantieren, dass der Quellcode
frei verfügbar ist, kann aber gleichzeitig verlangen, dass
die Quellcodes in der ursprünglichen Fassung zusammen mit den
Patches verbreitet werden. Dadurch können inoffizielle
Änderungen verfügbar gemacht und gleichzeitig vom
Originalcode unterschieden werden.
-
Keine Diskriminierung von einzelnen Personen oder Gruppen
Die Lizenz darf keinerlei Personen oder Personengruppen diskriminieren.
Um das Maximum aus diesem Verfahren herauszuholen, müssen
möglichst viele verschiedene Personen das gleiche Recht haben, zu
Open-Source-Software beizutragen. Deswegen ist es jeder Open-Source-Lizenz
verboten, jemanden aus dem Verfahren auszuschließen.
-
Keine Einschränkungen für bestimmte Anwendungsbereiche
Die Lizenz darf niemanden in der Benutzung des Programms in einem
bestimmten Einsatzgebiet einschränken. Sie darf beispielsweise
nicht die kommerzielle Nutzung oder die Benutzung in der Genforschung
verbieten. Der Hauptzweck dieses Paragraphen ist es zu verhindern,
dass irgendwelche Klauseln einer Lizenz die kommerzielle Nutzung
des Programms verbieten. Wir wollen, dass auch Benutzer des
kommerziellen Bereichs zu unserer Gemeinschaft gehören und sich
nicht ausgeschlossen fühlen.
-
Verbreitung der Lizenz
Die zum Programm gehörigen Rechte müssen für jeden
gelten, der das Programm erhalten hat, ohne dass eine weitere
Lizenz beachtet werden muss. Dieser Paragraph soll verhindern,
dass durch indirekte Mittel, wie das Verlangen eines
Einverständnisses die Software nicht offen weiterzugeben, die
Software nicht wirklich frei ist.
-
Die Lizenz darf nicht für ein bestimmtes Produkt gelten
Die zum Programm gehörigen Rechte dürfen nicht davon
abhängen, dass das Programm Teil einer bestimmten
Softwaredistribution ist. Wird das Programm außerhalb einer
solchen Distribution genutzt oder verbreitet, so gelten für den
Benutzer dieselben Rechte, die in der Originaldistribution gewährt
werden. Dieser Paragraph beugt einer anderen Art von Lizenzfalle vor.
-
Die Lizenz darf andere Software nicht beeinträchtigen
Die Lizenz darf keine andere Software einschränken, die zusammen
mit der lizenzierten Software verbreitet wird. Die Lizenz darf
beispielsweise nicht verlangen, dass jegliche Software, die auf
demselben Datenträger verbreitet wird, Open-Source-Software sein
muss. Jeder, der Open-Source-Software benutzen oder
weiterverbreiten möchte, hat das Recht, sich seine eigene Software
auszusuchen.
Beispiele für zur Open-Source-Definition konforme Lizenzen sind:
-
Die Lizenz muss technologie-neutral sein
Kein Teil der Lizenz darf sich auf eine bestimmte Technologie oder
einen bestimmten Interface-Stil beziehen. Diese Bestimmung zielt
spezifisch auf Lizenzen ab, die eine ausdrückliche Geste der
Einwilligung zwischen Lizenzgeber und Lizenznehmer erfordern. Derartige
Lizenzen können die Codewiederverwendung behindern bzw. mit im
Internet gängigen Methoden der Code-Verbreitung in Konflikt
stehen. Lizenzen müssen die Option offenlassen, dass a) Verteilung
des Codes über Wege außerhalb des Webs möglich ist und
b) der wiederverwendete Code (bzw. die Teile des Codes, die
wiederverwendet werden) in einer Nicht-GUI-Umgebung, die keine Pop-up-Systeme
unterstützt, laufen können.
Verschiedene Open-Source-Lizenzen
Viele Programmierer haben in der Vergangenheit zum heute
verfügbaren Fundus an freier Software beigetragen. Einige haben nicht
nur programmiert, sondern sich auch mit den gesellschaftlichen und
sozialen Konsequenzen ihres Schaffens befasst. Wie so oft, wenn
ein Thema den wissenschaftlich beweisbaren Rahmen verlässt,
gewinnen persönliche Ansichten und Erfahrungen an Bedeutung. Auch
bei der Diskussion um freie Software ist dieses Phänomen zu
beobachten. Das Resultat sind verschiedene Lizenzen, die alle das Ziel
haben, Programmierern wie Anwendern (die Grenze ist oft fließend)
Software mit möglichst wenigen Einschränkungen zur
Verfügung zu stellen und gleichzeitig ihren Fortbestand und ihre
Weiterentwicklung zu sichern oder zumindest zu vereinfachen. Aus den
unterschiedlichen Vorstellungen entstanden verschiedene Lizenzen.
-
Public Domain
stellt im Sinne von Open Source keine Lizenz dar. Es bedeutet im
wesentlichen, dass der Autor auf jeglichen Einfluss auf sein
Werk verzichtet. Der im Deutschen am ehesten vergleichbare Begriff ist
der der Gemeinfreiheit, sie bedeutet, dass jeder alles damit
machen kann.
-
Die BSD License
ist eine der ältesten Lizenzen und schränkt sowohl
Programmierer als auch Anwender nur insofern ein, als die
ursprünglichen Autoren genannt werden müssen. Hauptpunkt der
Lizenz ist der Ausschluss von Haftungsansprüchen
gegenüber den Programmierern. Sourcecode, der der BSD-Lizenz
unterliegt, kann in eigenen Entwicklungen benutzt werden, ohne
dass diese wiederum freie Software sein müssen. Die
BSD-Lizenz stammt von der Universität von Berkeley. BSD steht
für Berkeley Software Distribution.
-
Die GNU General Public License (GPL)
hat sozusagen politische Ziele, da sie neben den schon bekannten
Haftungsausschlüssen auch noch die Forderung enthält,
dass alle Weiterentwicklungen und alle Programme, die in
irgendeiner Form unter der GPL lizenzierten Code enthalten, wiederum
unter der GPL veröffentlicht werden müssen. Diese Eigenschaft
hat ihr den Spitznamen GNU Public Virus eingetragen. Dahinter steht
nicht nur der Nutzen für die freie Software, sondern auch eine
politische Motivation im Umgang mit dem Copyright. Aus Sicht der GPL
verhindert das Copyright den natürlichen Umgang mit anderen
Computernutzern, da es einigen Privilegien einräumt (denjenigen,
die eine Software lizenziert haben). Ferner verbietet die GPL auch das
Hinzufügen weiterer Einschränkungen, die in irgendeiner Form
auf unter der GPL stehendem Quellcode basieren. Diese
Einschränkung macht GNU-Software, insbesondere die Bibliotheken, im
wesentlichen für eine Verwendung im kommerziellen Umfeld
unbrauchbar. GNU ist ein rekursives Akronym und steht für GNU is
not Unix.
-
Die GNU Library General Public License (LGPL)
entspricht im wesentlichen der GPL, mit der Ausnahme, dass
Programme, die lediglich mit einer der LGPL unterliegenden Bibliothek
verbunden werden, nicht als abgeleitete Arbeit im Sinne der GPL
betrachtet werden. So wird die Verwendung von durch LGPL
geschützten Bibliotheken zur Entwicklung kommerzieller bzw. nicht
der GPL unterliegender Software ermöglicht. Änderungen an der
Bibliothek selbst müssen allerdings wieder der LGPL unterliegen.
Software, die der LGPL unterliegt, bietet damit bessere
Möglichkeiten für eine Verbindung zwischen freien und
kommerziellen Entwicklungen.
-
Die QPL, NPL und andere
sind meistens Derivate der drei zuvor genannten Lizenzvereinbarungen.
Sie folgen dem Geist der GPL mit der Ausnahme, dass sie den
Lizenzgebern andere Bedingungen
gewähren als allen anderen Nutzern.
Einige populäre Open-Source-Projekte:
Avalaris setzt alle diese Projekte bei Beidarf zum optimalen Nutzen
unserer Kunden ein und bietet auch Support dafür:
-
GNU
Als AT&T 1983 anfing, in Bezug auf Lizenzen für UNIX
restriktiver zu werden, begann Richard Stallman vom MIT mit dem
umfassenden Projekt, eine komplett freie Alternative namens GNU zu
schaffen. Stallman gründete dafür auch die sogenannte Free
Software Foundation, um die Idee zu unterstützen, dass
Quellcodes für alle Programme immer frei verfügbar sein
sollten. Er entwickelte dazu eine Lizenz namens GNU Public License
(GPL), die festlegt, unter welchen Bedingungen Quellcodes
verfügbar sein sollen, und dass jedes Programm, das GPL-Code
beinhaltet, der GPL unterliegt. Hunderte von Programmierern entwickelten
neue Open-Source-Versionen der meisten UNIX-Utilities. Allerdings
schlug der Versuch fehl, einen UNIX-Kernel zu entwickeln. Einige der
GNU-Utilities waren so leistungsfähig, dass sie de-facto-
Standards auf fast allen UNIX-Systemen geworden sind. Besonders der GNU-C-Compiler
gcc wurde der dominierende C-Compiler und GNU Emacs der
führende Editor. Die GPL erlaubt es sogar, die Software zu
verkaufen, solange die Quellcodes verfügbar sind. Allerdings
können Vertreiber in der Praxis nur geringe Gebühren für
Vervielfältigungskosten berechnen. Zudem führte der Zusatz,
dass jedes Programm, das GPL-Code enthält (inkl. Libraries),
ebenfalls im Quellcode verfügbar sein muss, zu dem Ergebnis,
dass der gcc-Compiler nicht eingesetzt werden durfte, um
kommerzielle Applikationen zu erstellen. Es gab daraufhin eine
modifizierte GPL (die LGPL), die dieses Problem löste, aber der zu
dogmatische Ansatz der FSF führte dazu, dass immer mehr
Entwickler freier Software liberalere Lizenzen entwarfen, um eine
kommerzielle Verwertung zu vereinfachen. Die Firma Cygnus Support
verkauft kommerzielle Support-Dienstleistungen für GNU-Software.
GNU-Utilities sind integraler Bestandteil aller Linux-Distributionen.
Von vielen wird Richard Stallman als der Vater der freien Software
betrachtet. Er ist Präsident der Free Software Foundation, er
gründete 1984 das GNU-Projekt und war der Hauptentwickler von GNU
Emacs, dem GNU-C-Compiler, dem GNU-Debugger und Teilen anderer
Software-Pakete. Er ist weiterhin für GNU Emacs verantwortlich.
Andere, wie zum Beispiel Eric S. Raymond, haben sich auch am
GNU-Projekt beteiligt. Informationen zum GNU-Projekt gibt es im
Internet unter folgender URL: http://www.fsf.org.
-
FreeBSD
FreeBSD stammt von Berkeley-Software-Distribution-UNIX ab. Es
begann im Jahr 1993 als eine Portierung des BSD-4.3-Lite-Release auf
eine Intel-Plattform. Das FreeBSD-Projekt war dazu gezwungen, jedes
Aufsetzen auf das 4.3BSD-Lite (Net/2-Release) zu umgehen und
vollständig das letzte BSD-Release (4.4 Lite2) zu benutzen. Dies
wurde mit dem FreeBSD-2.0-Release erreicht. Das Projekt wurde von der
Firma Walnut Creek CD-ROM massiv unterstützt, weil sie
großes Interesse daran hatte, die neue Version zu vertreiben.
"Ohne Walnut Creek CD-ROM und ihre absolute Treue zu einem damals noch
vollkommen undefinierten Projekt, wäre FreeBSD nie soweit gekommen
wie es jetzt ist", sagt Jordan K. Hubbard. Bis zum heutigen Tag
unterstützt Walnut Creek das Projekt finanziell, zusammen mit
einer wachsenden Anzahl von Benutzern, die Spenden schicken. Das
FreeBSD-Projekt besteht aus einem harten Kern von 16 Entwicklern, die
den Vorstand bilden. Es gibt mehr als 120 Entwickler, die an dem
Projekt arbeiten, die meisten davon unentgeltlich. Einige werden von
ihren Arbeitgebern, die ein eigenes Interesse an FreeBSD haben,
bezuschusst. Das Ziel von FreeBSD ist es, Quellcodes mit den
geringstmöglichen Restriktionen zu verteilen. Der Großteil
des Systems wird unter der Original-BSD-Lizenz vertrieben, die sowohl
den kommerziellen und als auch den freien Einsatz der Software erlaubt.
Die verbleibenden Teile sind unter der GNU Public License, der Artistic
License und anderen Lizenzen erhältlich. Hubbard ist der Ansicht,
dass es die größte Herausforderung für FreeBSD
ist, langsam zu wachsen, ohne die Infrastruktur des Projekts zu
überlasten, und mehr auf die Bedürfnisse der Kunden
einzugehen, so wie es eine kommerzielle Firma machen würde. Er
sagt: "Wir wollten immer kommerzieller sein als die richtig
kommerziellen Betriebssysteme, ohne allerdings Geld ins Spiel zu
bringen". Das ist eine sehr interessante Herausforderung. Hubbard
schätzt konservativ, dass FreeBSD mindestens 1,5 Millionen
Benutzer hat. Japan ist mit Abstand der größte Markt. Mehr
Informationen zum FreeBSD-Projekt bzw. dessen Geschichte (A Brief
History of FreeBSD) gibt es unter http://www.freebsd.org/handbook/handbook3.html#3 von Jordan K. Hubbard. Die gesamte Web-Site http://www.freebsd.org enthält so ziemlich alles über das FreeBSD-Projekt.
-
Linux
Die Zeitschrift Wired bezeichnete Linux als "The Greatest Operating
System That (N)Ever Was" – eine Beschreibung, die gleichzeitig die
Bedeutung von Linux und seinen Aufstieg als freies Sofware-Projekt aus
dem Nichts anspricht. Das Betriebssystem wurde von Linus Torvalds
entwickelt, auch um anderen Programmierern zu beweisen, dass es
durchaus sinnvoll ist, ein Betriebssystem von Grund auf neu zu
schreiben und dass manchmal der eigene Weg der einzig richtige ist. Linux ist so bemerkenswert, weil seine Entwicklergemeinde
international zusammengesetzt ist und trotzdem ein sehr hohes Niveau
der Kooperation aufweist. Im Mittelpunkt steht Linus Torvalds, vormals
aus Helsinki, Finnland. Während sich UNIX schnell in mehrere
Dutzend Versionen aufteilte, was zu Verwirrung bei Managern und
Programmierern führte, hat es Linux geschafft, als ein
einheitliches System auf mehreren Architekturen zu bestehen. Es bietet
eine UNIX-ähnliche Plattform, die es den Programmierern erlaubt,
die beste Maschine auszusuchen, um produktiver zu arbeiten. Die
kommerzielle Reichweite von Linux ist schwer einzuschätzen, aber
man kann zweifellos feststellen, dass viele, die früher auf
UNIX setzten, nun Linux einsetzen. Viele sind der Ansicht, dass
Linux die einzige Alternative zu Microsofts NT/2k/XP darstellt. In der
Tat fangen immer mehr Hersteller von Multi-User-Software an, ihre
Software auf Linux zu portieren, wie z. B. Oracle, Informix, SAP R/3,
Corel, Netscape etc. Einige Hardware-Hersteller, wie z. B. SUN und IBM,
liefern ihre Maschinen auf Wunsch mit Linux aus. Für SUN gibt es
bei den billigsten Maschinen gar keine Portierung ihres eigenen
Solaris-Betriebssystems mehr. Die Firmen Red Hat (http://www.redhat.com/)
und Mandrake (http://www.mandrakelinux.com/de/) vertreiben verschiedene Versionen von Linux, in Deutschland ist die S.u.S.E.-Distribution (http://www.suse.de)
sehr populär. Diese Distributionen enthalten teilweise auch
kommerzielle Programme, die nicht frei sind. Die Debian-Linux-Distribution (http://www.debian.org) enthält ausschließlich Programme, die unter einer Open-Source-Lizenz veröffentlicht werden.
Informationen zu Linux sind unter den Adressen http://www.linux.de und http://www.linux.org verfügbar. Interessante Zusätze zu Linux sind auf http://www.linuxresources.com zu finden, wöchentliche Rückblicke und News aus der Linux-Welt auf http://lwn.net/.
Linus Torvalds ist nicht mehr ausschließlich mit Linux
beschäftigt. Er arbeitet in der Halbleiterindustrie, weil er
beschlossen hat, seinen Lebensunterhalt nicht mit Linux zu verdienen.
-
DNS und BIND
Der BIND-Daemon (Berkeley Internet Name Daemon) ist außerhalb der
Technikerelite fast völlig unbekannt, aber jeder kennt die
Dienstleistung, die er zur Verfügung stellt: das Domain Name
System (DNS). Der Verbund von Name-Servern ermöglicht die
Umsetzung von Adressen wie 207.25.98.191 in eine Form, die jeder
versteht, wie beispielsweis ibm.com, harvard.edu oder whitehouse.gov.
Ursprünglich von Paul Mockapetris im Jahr 1984 entwickelt, wird
die Entwicklung von DNS zur Zeit vom ISC (Internet Software Consortium)
gesteuert. Das ISC wurde 1993 von Rick Adams
(mit Paul Vixie und Carl Malamud) gegründet, als er die Firma UUNET von einer
Non-profit-Organisation in eine kommerzielle Firma umwandelte. Das ISC
ist ein gutes Beispiel dafür, was mit ausgereifter freier Software
passiert: Sie trägt dann einen Non-profit-Mantel – den gleichen
Effekt kann man bei HTML und HTTP erkennen. DNS und der Rest der
Berkeley-TCP/IP-Software-Suite ist die Grundlage für die gesamte
Internet-Industrie, einschließlich aller Internet-
Service-Provider, Produzenten von Web-Sites und vieler Softwarefirmen.
Die erste Geschäftsidee in Bezug auf das Internet entstand in Form
von Firmen wie UUnet, den ersten kommerziellen Internet-Service-Providern.
UUnet wurde 1997 an WorldCom in einer
Multimilliarden-Dollar-Transaktion verkauft. BIND ist fester
Bestandteil aller UNIX-Systeme, und auch Microsoft liefert eine
NT-Version von BIND aus. Paul Vixie ist Leiter der Vixie Enterprises,
einer Consulting-Firma in Redwood City, Kalifornien. Der URL hierzu ist
http://www.isc.org.
-
Sendmail
Sendmail wurde ursprünglich 1981 von Eric Allman entwickelt und
ist mit ca. 75-80% Marktanteil der dominierende Mail Transport Agent
(MTA) im Internet. Unabhängig davon, welches Programm genutzt
wird, um die Mail zu erstellen, wird fast jede Mail, die
außerhalb der Firma zugestellt werden muss, mit Hilfe von
sendmail weitergeleitet. Im November 1997 gründeten Eric Allman
und Greg Olson mit einigen privaten Geldgebern Sendmail Inc., um eine
kommerzielle Version von sendmail herzustellen. Die Firma wird
weiterhin den kostenlosen Freeware-MTA herstellen. Die kommerziellen
Teile werden eine Web-basierte Administrationsoberfläche und
andere Management-Tools sein. Sendmail 8.9 beinhaltet ein umfassendes
Tool, um Spam-Mails zu kontrollieren. Eric Allman ist selbst
überrascht vom Erfolg von sendmail: "Ich muss gestehen,
dass es mich erstaunt, dass sendmail so erfolgreich ist. Die
Ursache ist nicht eine massive Marketingorganisation oder ein
großes Budget. Ich glaube, es gibt drei Gründe: Erstens,
sendmail ist immer davon ausgegangen, dass es auch
Mail-Nachrichten akzeptieren, bereinigen und zustellen sollte, die in
Bezug auf die Einhaltung der Protokolle nicht ganz einwandfrei sind.
Ich hielt dies für wichtig, weil ich UUCP-Mail ins ARPANET bringen
wollte. Zu der Zeit war das ARPANET klein, das Usenet war die totale
Anarchie (manche sagen, dass dies heute noch so ist ...) und UNIX-Mail-Programme
verstanden noch nicht einmal Mail-Header. Auf diese
Weise war es zwar schwieriger, aber das Ziel war Kommunikation, nicht
Pedanterie. Zweitens habe ich mich auf die Routing-Funktion
beschränkt. Ich wollte keine Zustellungsagenten oder Front-Ends
schreiben. Dies war eine Abweichung vom damals gängigen Modell, wo
das Mail-Routing, die Zustellung und auch oft der Netzwerkcode im
gleichen Benutzeragenten implementiert waren. Natürlich war auch
entscheidend, dass es sendmail unentgeltlich gab, dass es zur
richtigen Zeit erhältlich war und dass es so funktionierte,
wie es sollte. Drittens war die sendmail-Konfigurationsdatei flexibel
genug, um sich an eine rapide verändernde Welt anzupassen. Sie ist
dynamisch, weil die Welt dynamisch ist. Eines Tages wird sendmail wie
X11 sterben, aber ich werde nicht den Atem anhalten, während ich
darauf warte." Die umfangreichsten Informationen zu sendmail gibt es zum
einen unter http://www.sendmail.org und für die kommerzielle Version unter http://www.sendmail.com.
-
Apache
Apache
ist eines der überraschendsten und erfolgreichsten freien
Software-Projekte. Als die Produktpläne von Netscape und Microsoft
die industriellen Schlagzeilen beherrschten, wurde Apache durch simple
Mundpropaganda und durch die Verbreitung über das Internet zu dem
am weitest verbreiteten Webserver. Als bescheidenes Unternehmen ohne
einen zentralen Visionär bricht Apache mit den Regeln, die
für normale Projekte freier Software gelten. Das Apache-Projekt
entstand aus der Einsicht, dass die Kontrolle über die
Quellcodes für Web-Server-Software entscheidend ist, um mit den
schnellen Änderungen im Web Schritt zu halten. Während
kommerzielle Firmen heutzutage immer wieder ihre Richtung ändern
und ihre Prioritäten neu bestimmen, hat das Apache-Projekt
bemerkenswerte Stabilität gezeigt und treu die Bedürfnisse
der Benutzer erfüllt – deshalb hält es nach wie vor die
Spitzenposition als der meist benutzte Web-Server. Im Juni 1998 hat IBM
seine offizielle Unterstützung für die Apache-Gruppe
angekündigt. IBM liefert Apache im Rahmen seines Web-Sphere-Produktes
aus. Die Ankündigung von IBM war ein wichtiger
Schritt, mit dem die freie Software-Bewegung viel an Akzeptanz in der
kommerziellen Entwicklungsumgebung gewonnen hat. Brian Behlendorf ist
der Pressesprecher der Apache-Gruppe, und obwohl er nie eine einzige
Zeile Code geschrieben hat, gilt er als einer der führenden
Köpfe des Projektes. Schon weniger als ein Jahr nach dem ersten
Apache-Release im Jahr 1995 hatte Apache den NCSA-httpd-Server vom
ersten Platz verdrängt. Mehr Informationen zu Apache gibt es unter
http://www.apache.org.
-
Samba
Ein erstes Release von Samba war 1993 verfügbar. Samba
ermöglicht es einer UNIX-Maschine, als File- und Druck-Server
für Windows-NT- und Windows-95/98-Clients auf einem Netz
tätig zu werden. Es ersetzt somit einen NT-Server und macht PC-NFS
auf den Clients überflüssig. Samba wurde von Andrew Tridgell
an der Australian National University entwickelt, und es stießen
andere Entwickler dazu, als er den Code im Internet verfügbar
machte. Zur Zeit ist Jeremy Allison, der bei SGI arbeitet, das einzige
bezahlte Mitglied im Team der Samba-Entwickler. Ähnlich wie Linux
wird Samba zur Zeit von der sogenannten Samba-Gruppe weiterentwickelt.
Samba wird unter der GNU GPL vertrieben und es gibt immer zwei
Releases: ein stabiles Release und eine Alpha-Version. Zur Zeit gibt es
das Samba-Release 2.03 - in der Tat zeigte dieses Release, wie schnell
die Entwicklergemeinde auf Probleme reagieren kann. Samba 2.0 wurde
nämlich mit einem schlimmen Bug im Signal-Handling ausgeliefert.
Innerhalb von drei Tagen konnte dieser Bug und dazu noch einige andere
repariert werden. Auf diese Weise machte Samba innerhalb von drei Tagen
den Sprung von 2.0 auf 2.02. Diese schnelle Reaktionszeit wird im Netz
als massiver Vorsprung gegenüber Firmen wie Microsoft oder
Netscape gewertet, die kaum innerhalb so kurzer Zeit auf das
Problem reagieren hätten können. Das 2.02er-Release von Samba
unterstützt erstmalig Samba in der Rolle als Microsoft Primary
Domain Controller: Diese undokumentierten Protokolle werden von
Microsoft bewusst zurückgehalten. Somit gibt es keinen Grund
mehr, für solche Dienste einen NT-Server zu beschaffen. Samba wird
von vielen Firmen eingesetzt, siehe dazu die Statistiken unter http://samba.anu.edu.au/pub/samba/survey/ssstats.html/.
SGI unterstützt Samba durch einen bezahlten Entwickler – und zur
Zeit stellen SGI-Server mit Samba die schnellsten NT-File-Server dar.
Weitere Infos zu Samba, auch über den wichtigsten Kopf, Andrew
Tridgell, der gerne in Pizza-Coupons bezahlt wird, gibt es unter
folgender URL: http://samba.anu.edu.au/samba/.
-
Perl
Perl (Practical Extraction and Report Language, im Scherz auch
Pathologically Eclectic Rubbish Lister) wurde 1986 von Larry Wall
entwickelt und ist ein wichtiges Werkzeug für System- und
Netzwerk-Administratoren, sowie zur CGI-Programmierung. Perl wird oft
als das Klebeband des Internets bezeichnet, weil es sozusagen als
Klebstoff mehrere Prozesse zusammenfügt. Große Sites wie
Yahoo, Netscape, CNET, Amazon und Excite benutzen Perl, um ihre Web-
Sites zu managen und interaktive Dienste zur Verfügung zu stellen.
Perl wird von einer Gruppe von ca. 100 Programmierern weiterentwickelt,
die über die perl5porters-Mailing-Liste miteinander kommunizieren.
Perl wird mit vielen UNIX-Systemen ausgeliefert, zudem ist es Teil des
Microsoft NT Resource Kit. Perl ist die am häufigsten benutzte
Sprache zur Entwicklung von Internet-Diensten und interaktiven
Datenbankabfragen. O'Reilly publiziert eine Vielzahl von
Perl-Büchern und veranstaltet jährlich eine große
Perl-Konferenz. ActiveState Tool Corp. vertreibt die
Standarddistribution sowie Profi-Tools für Perl für
Win32-Systeme. Es gibt etwa 500.000 Perl-Programmierer und viele
Millionen Perl-Anwender. Aufgrund der Buchverkäufe geht O'Reilly
davon aus, dass Perl mindestens ebenso oft genutzt wird wie Java.
Die wichtigsten Perl-Web-Sites sind http://www.perl.com und http:www.perl.org. Larry Wall hat eine persönliche Web Site (http://www.wall.org), wo er z. B. das Tagebuch seiner kürzlich überstandenen Hornhaut-Transplantation veröffentlichte.
-
Python
Python ist eine interpretierte, objektorientierte Sprache, die ein
weiteres Beispiel der typischen Open-Source-Entwicklung ist: Python
fing als ein kleines Tool an und wurde recht schnell zu einem
universellen Werkzeug. Guido von Rossum, der Chefentwickler von Python,
sieht es als eine verbesserte Perl-Version. Vor kurzem wurde Jpython
1.0, eine vollständige Integration von Python mit Java,
herausgebracht. Mit Jpython können Python-Programme überall
dort verwendet werden, wo ein Java-Interpreter läuft. Die Python-Home-Page ist unter http://www.python.org zu finden.
-
Tcl/Tk
John Ousterhout begann seine Arbeit an Tcl/Tk, als er Professor an der
University of California in Berkeley war. Er wechselte dann zu Sun
Microsystems, die Interesse an Sun Script, einer kommerziellen
Scripting-Sprache, hatten. Zur Zeit hat Ousterhout seine eigene Firma
namens Scriptics, um ähnlich wie Sendmail Inc. die Entwicklung der
Sprache voranzutreiben, während er auch kommerzielle Aspekte
abdecken will. Wie Perl und Python ist Tcl eine Script-Sprache - die
Tool Command Language. Von Anfang an wurde Tcl mit Tk verbunden, um die
Programmierung grafischer Oberflächen zu erleichtern.
Ursprünglich kommt Tk aus der X-Windows-Welt (X11), aber in der
Zwischenzeit wird auch das Windows- und Macintosh-Interface
unterstützt. 1997 gewann Tcl/Tk den Software Systems Award, der
von der Association for Computing Machinery (ACM) vergeben wird. Es
gibt zur Zeit zwischen 500.000 und einer Million Tcl/Tk-Entwickler. Pro
Woche finden ca. 12.000 Downloads von Tcl/Tk vom Scriptics-FTP-Rechner
statt, wobei die Plattform-Verteilung wie folgt aussieht: 65% Windows,
30% UNIX und 5% Macintosh. Von den drei Skript-Sprachen scheint Tcl/Tk
der designierte Nachfolger der Windows-Entwicklungsumgebungen zu
werden. Die hervorragende Unterstützung von grafischen
Benutzeroberflächen könnte auch Visual-Basic-Anhänger
ansprechen. Zudem bietet eine solche Sprache viele nützliche
Erweiterungen, die jedem Entwickler enorm viel Arbeit und Zeit sparen
können. Mehr Informationen unter http://www.tclconsortium.org, dort findet man die Software und Standards. http://www.scriptics.com ist die Web-Site von John Ousterhouts Firma. Unter http://www.NeoSoft.com/tcl findet man viele Shareware-Module zu Tcl.
-
Das K Desktop System
http://www.kde.org
ist die Web-Site des KDE (K Desktop Environment) für UNIX-Workstations.
Es verbindet einfache Benutzung und hervorragendes
grafisches Design mit der technologischen Überlegenheit des
UNIX-Systems und wird inzwischen mit fast allen Linux-Distributionen
ausgeliefert.
-
GNOME: GNU Network Object Model Environment
Unter http://www.gnome.org
findet man das GNU-Projekt, welches das Ziel hat, einen Desktop zu
entwickeln, der ausschließlich auf freier Software basiert. GNOME
benutzt das GTK (GNU GUI Toolkit) für alle GNOME-kompatiblen
Programme. Dieser Desktop wird von Red Hat unterstützt.
-
GIMP: das GNU-Image-Manipulation-Programm
The Gimp (GNU Image Manipulation Program) wird häufig als das
freie Photoshop bezeichnet. Es ist Bestandteil der meisten
Linux-Distributionen. Das leistungsfähige Werkzeug zur
Bildbearbeitung kann für Fotoretusche, Bildkomposition und
Bildmanipulation eingesetzt werden. Es wurde unter der GNU General
Public License (GPL) veröffentlicht. Informationen unter http://gimp.org.
-
GnuPG
GnuPG (GNU Privacy Guard) ist de facto der Standard in Sachen
Verschlüsselungssoftware. Der Autor, Phil Zimmermann, wählte
das Modell der freien Software, um eine weite Verbreitung seiner
Software sicherzustellen. Er hielt dies für wichtig, um
Regierungskontrolleure daran zu hindern, diese Software
einzuschränken. Die Web-Seiten sind unter http://www.gnupg.org/ zu finden.
-
AMANDA
Der Advanced Maryland Automatic Network Disk Archiver. Eine
Backup-Lösung, über die ein zentraler Master-Backup-Server
mehrere Netzwerkfilesysteme auf Band oder Festplatte sichern kann.
Avalaris widmet diesem Projekt einen eigenen Abschnitt auf unserer
Homepage. Siehe auch: http://www.amanda.org
Zurück nach oben
|