Home   Was ist ot ?   Regeln   Mitglieder   Maintainer   Impressum   FAQ/Hilfe  

Open Source - 2. Grundlagen

Maintainer: Frank Bauer, Version 1, 05.01.2002
Projekt-Typ: halboffen
Status: Archiv

2.1 Open Source - Definition, Begriffe, Abgrenzung und Lizenzen

2.1.1 The Open Source Definition

(2) Mit dem Begriff Open Source bzw. Open Source Software ist keine allgemein gültige, offizielle Definition verbunden, von zahlreichen Personen und Institutionen liegen ebenso viele individuelle Begriffsbestimmungen vor.

(3) Für diese Arbeit soll diejenige der Open Source Initiative (OSI) [1] übernommen werden. Im Vergleich zu anderen Definitionen stellt sie über die Forderungen nach uneingeschränkter Verfügbarkeit und möglichen Modifikationen des Quellcodes hinaus weitere Bedingungen an eine Softwarelizenz, bei deren Erfüllung sich ein Programm, das unter der betrachteten Lizenz veröffentlicht wird, die Bezeichnung OSI Certified Open Source Software erhält [2]. Die OSI prägte den Begriff Open Source, um einerseits eine Tradition öffentlich zugänglichen Quellcodes und gemeinschaftlicher Softwareentwicklung zu beschreiben und um andererseits eine gemeinsame Bezeichnung für diejenigen Softwarelizenzen nutzen zu können, welche nach ihrer Überzeugung "Freiheit im Sinne der Wissenschaft" [3] verkörpern.

(4) Die Definition der Open Source Initiative gilt als vergleichsweise umfassend und ist weitgehend anerkannt. Im einzelnen umfasst The Open Source Definition die folgenden neun Bedingungen [4]:

  1. Freie Weiterverbreitung: Die Lizenz darf niemanden am Verkauf oder an der unentgeltlichen Weitergabe der Software hindern. Lizenzgebühren oder vergleichbare Formen der Vergütung sind jedoch nicht zulässig.
  2. Quellcode: Der Quellcode muss der Software beiliegen. Sofern die Software in kompilierter Form vertrieben wird, muss eine öffentlich zugängliche und gebührenfreie Bezugsquelle für den Quellcode genannt werden.
  3. Abgeleitete Werke: Die Lizenz muss Veränderungen am ursprünglichen Programm erlauben sowie die Möglichkeit, Programme basierend auf dem ursprünglichen Programm zu erstellen. Diese sog. abgeleiteten Werke müssen unter denselben Lizenzbestimmungen wie das ursprüngliche Programm veröffentlicht werden können, abweichende Lizenzen sind jedoch ebenfalls zulässig.
  4. Unversehrtheit des Originalquellcodes: Die Verbreitung modifizierten Quellcodes kann nur dann untersagt werden, wenn die Modifikationen in zusätzlichen Dateien [5] zusammen mit dem Originalquellcode veröffentlicht werden dürfen [6]. Zudem können die Lizenzbestimmungen von abgeleiteten Werken verlangen, dass sie eine vom ursprünglichen Programm abweichende Bezeichnung oder Versionsnummer erhalten.
  5. Keine Diskriminierung von Personen oder Gruppen: Personen oder Personengruppen dürfen von der Lizenz nicht unterschiedlich behandelt werden.
  6. Keine Beschränkung auf bestimmte Anwendungsgebiete: Die Lizenz darf niemanden an der Benutzung der Software in einem bestimmten Bereich hindern. Das Programm muss auch im kommerziellen Bereich eingesetzt werden dürfen.
  7. Verbreitung der Lizenz: Die zum Programm gehörenden Rechte müssen in ihrer ursprünglichen Form für jeden gelten, der das Programm erhalten hat. Zusätzliche Bestimmungen durch weitere Lizenzen oder Vereinbarungen (z.B. durch Non-Disclosure Agreements) sind nicht zulässig.
  8. Keine Beschränkung auf ein bestimmtes Produkt: Wird das Programm außerhalb einer Softwaredistribution genutzt oder von dieser getrennt verbreitet, so müssen für das Programm dieselben Rechte gelten, wie sie für die ursprüngliche Distribution gewährt wurden.
  9. Keine Beeinträchtigung anderer Software: Die Lizenzbestimmungen anderer Programme, die mit der lizensierten Software gemeinsam verbreitet werden, dürfen in keiner Weise beeinflusst werden.

(5) Softwarelizenzen, die von der OSI hinsichtlich der Erfüllung dieser Punkte überprüft wurden und bei denen eine Übereinstimmung mit den genannten Forderungen festgestellt werden konnte, sind z.B. die Mozilla Public License, die IBM Public License, die GNU General Public License sowie die GNU Lesser General Public License [7].

(6) Die Free Software Foundation (FSF) [8] um Richard M. Stallman [9] dagegen bevorzugt aufgrund ihrer abweichenden Auffassung über freie Software die Bezeichung Free Software im Gegensatz zu Open Source Software. Ihrer Ansicht nach kommt der Gedanke der freien Nutzung und Veränderung von Software in der Open Source Definition zu kurz, eine Kommerzialisierung freier Software sei zu befürchten. Vor allem die Möglichkeit, abgeleitete Werke unter abweichenden Lizenzbestimmungen zu veröffentlichen, widerspricht den Vorstellungen der FSF hinsichtlich der unbedingten Weitergabe modifizierter Software als freie Software [10].

(7) Obwohl sowohl im englischen als auch im deutschen Sprachgebrauch häufig Free Software bzw. freie Software synonym zu Open Source Software verwendet wird, bestehen zwischen den Initiatoren dieser Begriffe teilweise abweichende Auffassungen über deren Bedeutung [11].

(8) Beide Organisationen weisen jedoch ausdrücklich darauf hin, dass Free Software bzw. Open Source Software nicht unbedingt kostenlose Software meint, sondern vielmehr die persönliche Freiheit des Anwenders, die Software nach seinen Wünschen einsetzen und verändern zu können. Eine Beschränkung der eingeräumten Rechte auf einen bestimmten Anwenderkreis oder auf einen bestimmten Anwendungsbereich ist nicht zulässig [12].

(9) Zusammenfassend kann festgehalten werden, dass Free Software Open Source Software ist, die umgekehrte Aussage gilt jedoch nicht in jedem Fall. Open Source Software schließt Free Software im Sinne der FSF ein. Da eine solche Abgrenzung jedoch nur schwer aufrechtzuerhalten ist, wird in dieser Arbeit der Begriff freie Software gleichbedeutend zu Open Source Software (OSS) genutzt.

2.1.2 Ergänzende Begriffsbestimmungen

(10) Ebensowenig wie für Open Source Software eine allgemein gültige Definition vorliegt, lassen sich für die folgenden, im Zusammenhang mit freier Software relevanten Begriffe keine generellen Definitionen geben. Aus diesem Grund soll an dieser Stelle lediglich eine Umschreibung erfolgen.

2.1.2.1 Copyleft

(11) Richard M. Stallman vertritt die Überzeugung, dass die freie Verfügbarkeit des Softwarequellcodes für Weiterentwicklungen und Innovationen auf dem Gebiet der Computerwissenschaft notwendig sei [13]. Copyleft ist ein vom ihm entwickeltes Konzept, das jedem Nutzer die Freiheit geben soll, Software nach seinen Vorstellungen einzusetzen, zu verändern und weiterzuverteilen. Jede Weitergabe von Copyleft-Software - gleichgültig, ob sie modifiziert wurde oder nicht - muss wiederum gewährleisten, dass für alle Nutzer dieselben Freiheiten gelten, wie sie für diejenigen der ursprünglichen Software eingeräumt wurden. Eine Beschränkung der Rechte durch zusätzliche Reglementierungen ist nicht erlaubt [14]. Die konkrete, juristisch verbindliche Umsetzung des Copyleft-Konzepts erfolgt in den entsprechenden Softwarelizenzen, wie z.B. der GNU General Public License.

2.1.2.2 Hacker

(12) Durch die neue, interaktive Form der Computernutzung mittels Time Sharing-Systemen lösten sich Programmierer in den 60-er Jahren vereinzelt von der althergebrachten Methode der Softwareentwicklung, welche größtenteils abstrakt auf Papier stattfand. Es war nun vielmehr möglich, eine Idee per Tastatur einzugeben, das Programm laufen zu lassen, Fehler zu entdecken, die Korrekturen vorzunehmen und es sofort wieder ablaufen zu lassen. Diese Art der iterativen Programmierung trug den Namen Hacken [15].

(13) Die Wurzeln freier Software sind untrennbar mit denen der Hackergemeinschaften, die sich vor allem an Universitäten anfangs der 60-er Jahre bildeten, verbunden. Sie waren die ersten, die freie Software entwickelten, obwohl es den Begriff zu dieser Zeit noch gar nicht gab [16].

(14) Durch abweichende Darstellungen in den Medien wurden mit der Zeit Hacker als Personen bezeichnet, die böswillig in fremde Computersysteme einbrechen. Bei derartigen Personen handelt es sich jedoch nicht um Hacker, sondern um Cracker: "The basic difference is this: hackers build things, crackers break them" [17].

2.1.2.3 Community

(15) Community bedeutet in etwa Gemeinschaft oder Gemeinde. Bei Open Source-Communities handelt es sich um freie Interessengemeinschaften verschiedener Personen, welche sich über entsprechende Kommunikationsmittel [18] organisieren und gemeinsam an einem Projekt arbeiten. Die Anfänge freier Software gehen auf derartige Communities zurück und noch immer entsteht OSS vor allem in und durch solche Gemeinschaften.

(16) Bei genauerer Betrachtung besteht die Open Source-Community aus vielen themen- oder interessenspezifischen Teil-Communities, die in ihrer Gesamtheit ein verbundenes und untereinander verflochtenes System von Gruppen und Projekten darstellen. Diese Communities unterscheiden sich nicht nur in der Größe ihres Projekts und in der ohnehin schwankenden Anzahl ihrer Mitglieder, sondern u.a. in der von ihnen verfolgten Lizenzpolitik und in dem Ausmaß ihrer Kooperation mit kommerziellen Interessengruppen [19].

2.1.3 Abgrenzung freier Software von nicht-freier Software

(17) Zu Missverständnissen führt oftmals die Tatsache, dass im Zusammenhang mit freier Software gleichbedeutend andere, nicht-freie Softwarekategorien bzw. -konzepte genannt werden. Nachfolgend sollen die gebräuchlichsten derartigen Kategorien vorgestellt und eine Abgrenzung zu freier Software vorgenommen werden.

2.1.3.1 Public Domain-Software

(18) Public Domain-Software [20] ist eine US-amerikanische Besonderheit. Es kann sich hierbei um Software handeln, die entweder durch staatliche Unterstützung - z.B. an Universitäten - entstanden und somit aufgrund gesetzlicher Bestimmungen kostenlos sowie für die Öffentlichkeit uneingeschränkt zugänglich ist oder um solche, deren Autoren gänzlich auf ihr Copyright verzichten [21].

(19) Derartige Software unterliegt keinen urheberrechtlichen Bestimmungen, sie kann uneingeschränkt und vergütungsfrei genutzt, modifiziert und verbreitet werden [22]. Bei Public Domain-Software handelt es sich um freie Software.

2.1.3.2 Shareware

(20) Shareware ist eine Form der Softwaredistribution, welche es dem Anwender zu Testzwecken erlaubt, die frei zugängliche, i.d.R. jedoch nur in kompilierter Form veröffentlichte Software für einen bestimmten, vom Autor festgelegten und in den Lizenzbestimmungen genannten Zeitraum kostenlos zu nutzen. Will der Anwender die Software nach Ablauf dieses sog. Testzeitraums weiterhin nutzen, so muss er eine Lizenzgebühr an den Autor entrichten, andernfalls liegt ein Verstoß gegen das Urheberrecht vor [23]. Shareware kann im Allgemeinen uneingeschränkt weiterverteilt werden, Modifikationen sind jedoch - sofern der Quellcode überhaupt zugänglich ist - untersagt [24]. Derartige Programme sind demnach nicht-freie Software.

2.1.3.3 Freeware und Semi-Free Software

(21) Bei Freeware handelt es sich um die lizenzgebührenfreie Entsprechung von Shareware, Änderungen an der Software sind demnach ebensowenig erlaubt [25]. Schränkt der Autor die lizenzgebührenfreie Nutzung auf einen bestimmten Anwenderkreis (z.B. Privatanwender) ein, so handelt es sich um Semi-Free Software [26]. Derartige Software liegt i.d.R. lediglich in kompilierter Form vor. Weder Freeware noch Semi-Free Software sind freie Software.

2.1.3.4 Proprietäre Software

(22) Sowohl der Gebrauch als auch die Veränderung und die Weitergabe proprietärer Software unterliegen der Erlaubnis ihres Urhebers [27]. Proprietäre Software wird von Personen oder Unternehmen unter Geheimhaltung des Quellcodes entwickelt und veröffentlicht [28] sowie gegen Lizenzgebühren zum Kauf angeboten. Bei derartiger Software handelt es sich demnach um das Gegenteil von freier Software [29].

Tab. 2.1.3/1: Vergleich verschiedener Softwarekategorien

(23) Tabelle 2.1.3/1 veranschaulicht die wesentlichen Merkmale der genannten Softwarekategorien im Unterschied zu Open Source Software (OSS).

Softwarekategorie Quellcode verfügbar und modifizierbar Modifikationen unterliegen stets denselben Bestimmungen dauerhaft lizenzgebührenfrei uneingeschränkte Nutzung Weiterverteilung erlaubt
OSS X (X) X X X
PD X   X X X
Freeware     X X X
Semi-Free     X   X
Shareware         X
Proprietär          

2.1.4 Softwarelizenzen

(24) Die Lizensierung von Software ist nicht nur im kommerziellen Bereich zu beobachten. Richard M. Stallman erkannte schon frühzeitig, dass rechtliche Rahmenbedingungen durch juristisch verbindliche Lizenzbestimmungen für den Erhalt freier Software unabdingbar sind. Von verschiedenen Personen und Gruppen aus der Open Source-Community wurden - nicht zuletzt durch das zunehmende Interesse kommerzieller Softwareunternehmen - mit der Zeit zahlreiche Softwarelizenzen [30] formuliert, die mitunter in ihren Inhalten nur geringfügig voneinander abweichen, in ihrer Verbreitung jedoch wesentliche Unterschiede aufweisen. An dieser Stelle sollen die gebräuchlichsten OSS-Lizenzen überblicksartig vorgestellt werden.

2.1.4.1 GNU General Public License (GPL)

(25) Die GPL ist vermutlich die bekannteste und gebräuchlichste Lizenz freier Software [31]. Sie erlaubt es, die ihr unterliegenden Programme uneingeschränkt zu nutzen, zu verändern, zu kopieren und weiterzugeben [32]. Software, die unter diese Lizenz gestellt wird, muss im Quellcode vorliegen. Durch Umsetzung des Copyleft-Konzepts verlangt sie zudem von einem Programm, welches ganz oder teilweise auf einem anderen GPL-Programm basiert - d.h. von einem abgeleiteten Werk - dass jenes ebenfalls den Bestimmungen der GPL zu unterliegen hat [33]. Sie verhindert somit, dass Software, die unter dieser Lizenz veröffentlicht wird, in proprietäre Software umgewandelt werden kann [34].

2.1.4.2 GNU Lesser General Public License (LGPL)

(26) Die ebenfalls von der FSF formulierte GNU Lesser General Public License ist der Nachfolger der GNU Library General Public License und findet vorwiegend auf Softwarebibliotheken Anwendung. Der wesentliche Unterschied zur GPL ist, dass ein Programm, welches auf einer LGPL-Bibliothek basiert, auch nicht-frei sein darf, indem es nicht als ein abgeleitetes Werk im Sinne der GPL betrachtet wird und beliebigen Lizenzen unterstellt werden kann. Änderungen an der Bibliothek selbst müssen jedoch wieder der LGPL (oder der GPL) unterliegen [35]. Während Software, die Funktionalitäten von GPL-Bibliotheken nutzt, ebenfalls der GPL zu unterliegen hat, ermöglicht die LGPL die kommerzielle Verwertung von auf LGPL-Bibliotheken beruhender Software. Ein wesentlicher Grund für die Formulierung der LGPL war die Erhöhung des Verbreitungsgrades freier Software [36].

2.1.4.3 Sonstige Lizenzen

(27) Neben den oben genannten gibt es noch zahlreiche andere Softwarelizenzen im Open Source-Umfeld, deren Beschreibung an dieser Stelle jedoch zu weit führen würde. Aufgrund ihrer Bekanntheit seien lediglich die Mozilla Public License der Mozilla Organisation [37] und die Apache Software License der Apache Software Foundation [38] erwähnt. Derartige Lizenzen - welche teilweise auf der GPL bzw. der LGPL basieren - verfolgen im wesentlichen das Ziel, sowohl Programmierern als auch Anwendern "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" [39].

2.2 Historische Entwicklung freier Software und der Open Source Software-Bewegung

(28) Von entscheidender Bedeutung für die historische Entwicklung freier Software ist das Betriebssystem UNIX, welches nicht zuletzt durch seinen Verbreitungsgrad und seine zunächst weitgehend freie Verfügbarkeit wesentlich zur Entstehung dieser Art Software beigetragen hat. Darüber hinaus sollen im folgenden weitere grundlegende Ereignisse, die zur Entstehung und Verbreitung freier Software beigetragen haben, vorgestellt werden.

Die ersten Software-Sharing Communities

(29) Die kommerzielle Entwicklung von Software spielte in den Anfängen der Computerindustrie nur eine unwesentliche Rolle. Das Computergeschäft bestand zu dieser Zeit meist nur in dem Verkauf von Hardware. Da die meisten Anwender ihre Programme selbst schrieben, war Software damals nicht mehr als ein Nebenprodukt der Hardware [40].

(30) Mit der Verfügbarkeit von Time Sharing-Systemen als Alternative zu Batch-Systemen in den 60-er Jahren jedoch gewann die Softwareentwicklung an Bedeutung. Festplatten und Magnetbänder ermöglichten darüber hinaus eine Speicherung und Modifikation von Programmen auf dem Rechner selbst. Diese neue Form der Computernutzung sowie die damals selbstverständliche Offenlegung des Quellcodes förderten die Kooperation der Nutzer sowie den gegenseitigen Austausch von Programmen [41].

(31) Richard M. Stallman prägte für diese Gemeinschaften von Computernutzern, die den Quellcode ihrer Programme offenlegten, untereinander Software austauschten und sich gegenseitig bei der Verbesserung ihrer Programme halfen, den Begriff der Software-Sharing Community [42].

Die Entwicklung von UNIX

(32) 1969 begann Ken Thompson in den AT&T Bell Telephone Laboratories mit der Entwicklung von UNIX als Ersatz für das gescheiterte Betriebssystem MULTICS [43]. Parallel arbeitete dort Dennis Ritchie an der Entwicklung der Programmiersprache C. 1971 beschlossen Thompson und Ritchie, das bislang in Assembler auf den damals verbreiteten Rechnern der PDP-Serie von Digital Equipment Corporation (DEC) geschriebene UNIX in C neu zu schreiben. Auf der Basis dieser Zusammenarbeit wurde im November 1973 mit UNIX, 4th Edition, erstmals ein Betriebssystem vorgestellt, das auf verschiedenartige Rechner portiert werden konnte [44].

(33) AT&T blieb jedoch aufgrund einer Vereinbarung mit dem US-Justizministerium aus dem Jahr 1956 der Einstieg in die Computerbranche untersagt, weshalb UNIX gegen nur geringe Lizenzgebühren [45] an Universitäten und andere Institutionen abgegeben werden konnte. Aufgrund der mit C verbundenen Portierbarkeit und Zugänglichkeit sowie der geringen Lizenzgebühren fand UNIX vor allem im universitären Umfeld rasch Verbreitung [46].

(34) Zudem erlaubte das bis zu diesem Zeitpunkt entwickelte ARPAnet eine wesentliche Erleichterung und Beschleunigung des Informationsaustausches zwischen den angebundenen Institutionen. Da von AT&T nur marginale Unterstützung und Beratung geboten wurde, entwickelte sich mit der Zeit zwischen den Universitäten ein schnelles und leistungsfähiges UNIX-Support-Netzwerk [47], wodurch das Betriebssystem bald einen hohen Reifegrad erreichen konnte [48].

Das GNU-Projekt und die Free Software Foundation

(35) 1971 wurde Richard M. Stallman Mitglied der Software-Sharing Community im Artificial Intelligence Laboratory des Massachusetts Institute of Technology (MIT), das in den 70-er Jahren eine der einflussreichsten Hacker-Communities beherbergte. Als jedoch Unternehmen der Computerindustrie zunehmend erkannten, dass sich mit Software erhebliche Erlöse erzielen lassen und immer mehr Hacker von diesen Unternehmen abgeworben wurden, löste sich die Hacker-Community am MIT anfangs der 80-er Jahre zunehmend auf [49].

(36) Zur selben Zeit veröffentlichten Unternehmen wie IBM, Hewlett-Packard und DEC die ersten kommerziellen UNIX-Varianten, welche nur auf der Hardware von Rechnern ihres Unternehmens lauffähig waren. AT&T selbst wurde aufgrund einer Entscheidung des US-Justizministeriums mit Wirkung zum 1. Januar 1984 in mehrere Unternehmen aufgeteilt und durfte im Gegenzug von nun an als Wettbewerber in der Computerindustrie auftreten [50]. Zu diesem Zweck gründete AT&T das Tochterunternehmen UNIX System Laboratories (USL). Durch die Möglichkeit der kommerziellen Nutzung hob USL die Lizenzgebühren für UNIX drastisch an [51] und setzte somit dem Zugriff auf den Quellcode, an dem bislang zahllose Programmierer in der ganzen Welt mitgearbeitet hatten, sowie dem Austausch von UNIX-Programmen faktisch ein Ende [52].

(37) Im Zuge dieser Veränderungen kündigte Stallman 1984 seine Stelle am MIT und gründete das GNU-Projekt [53] mit dem Ziel, ein freies, zu UNIX funktional äquivalentes Betriebssystem in der Programmiersprache C zu entwickeln, das die von ihm entschieden abgelehnte proprietäre Software irgendwann einmal überflüssig machen solle [54]. Erste Ergebnisse des GNU-Projekts waren der GNU C Compiler gcc [55] und der Editor GNU Emacs. Um zu verhindern, dass GNU-Software in proprietäre Software umgewandelt werden kann, entwickelte Stallman das Copyleft-Konzept. Ein Jahr später gründete er die Free Software Foundation (FSF), eine gemeinnützige Organisation als Koordinationsstelle und zur Erwirtschaftung von Einnahmen durch den Versand von Kopien der im Rahmen des GNU-Projekts erstellten Software und Dokumentationen [56].

GNU HURD und der Linux-Kernel

(38) Mit der Zeit arbeiteten immer mehr Entwickler am GNU-Projekt mit. Nach und nach konnten UNIX-Komponenten durch entsprechende GNU-Programme ersetzt werden [57]. 1990 war das GNU-System nahezu komplett, die einzige, wesentliche fehlende Komponente war der Betriebssystem-Kernel [58], den das GNU HURD-Projekt beisteuern sollte [59]. Die Entwicklung eines UNIX-kompatiblen Kernels erwies sich jedoch problematischer und langwieriger als erwartet. Die Fertigstellung von GNU HURD und damit des gesamten GNU-Systems sollte sich noch Jahre hinziehen [60].

(39) 1991 jedoch entwickelte Linus Torvalds, ein Student der Informatik an der Universität Helsinki, einen zu UNIX funktional äquivalenten Kernel für Personal Computer mit Intel 80386-Mikroprozessoren, basierend auf dem UNIX-artigen Betriebssystem MINIX [61]. Ein Jahr später konnte dieser sog. Linux-Kernel, welchen Torvalds unter der GPL veröffentlichte, mit dem GNU-System kombiniert werden. Ergebnis dieser Zusammenführung ist das Betriebssystem GNU/Linux [62]. Mit der zunehmenden Akzeptanz und Nutzung des Internet Mitte der 90-er Jahre wurde GNU/Linux von einer breiteren Öffentlichkeit wahrgenommen. Die Aktivitäten interessierter Entwickler richteten sich verstärkt auf dieses Betriebssystem, welches zunehmend Stabilität erlangte und sich als Plattform für Entwickler etablieren konnte. Inzwischen gilt GNU/Linux als der Prototyp eines einheitlichen Systems für unterschiedliche Rechnerarchitekturen und einzige ernsthafte Alternative zu Microsoft Windows [63].

(39.1) 16.01.2003, 21:19, Ano Nym: Vielleicht solltest du auch was dazu schreiben, warum Linux sich so schnell entwickeln konnte, und HURD nicht. Ich denke, dass es ist, wie Eric s. Raymond sagt("cathedral and the bazar"). Ließ dir mal sein Buch durch, ist nicht sehr lang, und Online verfügbar. Musst ne Suchmaschine benutzen, ich hab den Link nicht im Kopf, glaub aber tuxedo.org/~esr

Die Open Source Initiative

(40) Zu Beginn des Jahres 1998 fanden sich Eric S. Raymond [64] und andere Mitglieder der Community zusammen und diskutierten die Möglichkeiten, einen Begriff zu etablieren, der die Anhänger freier Software der Notwendigkeit entheben kann, ständig sowohl zwischen kostenloser Software und freier Software als auch zwischen den verschiedenen Lizenzen derartiger Software unterscheiden zu müssen [65].

(41) Das Adjektiv free wurde durch open ersetzt, um nicht nur auf den Aspekt der kostenlosen Verfügbarkeit reduziert zu werden und um somit der verbreiteten Annahme entgegenzuwirken, die Befürworter eines derartigen Konzepts würden Software als öffentliches Gut betrachten und folglich keinen Personen oder Unternehmen Erlöse hieraus zugestehen [66].

(42) Ergebnis dieser Zusammenkunft ist die Gründung der Open Source Initiative (OSI), einer gemeinnützigen Organisation mit dem Ziel, den Open Source-Gedanken in den Bereich der kommerziellen Softwareentwicklung zu verbreiten und traditionelle Softwareunternehmen zur Freigabe des Quellcodes ihrer Produkte zu ermutigen. Kurz nach ihrer Gründung veröffentlichte die OSI ihre Open Source Definition [67], die auf den Debian Free Software Guidelines [68] von Bruce Perens basiert [69].

2.3 Ausgewählte Open Source Software-Projekte

(43) Um einen Eindruck von der Bedeutung freier Software zu bekommen, soll der folgende Abschnitt einen Überblick über die neben GNU/Linux [70] verbreitetsten Open Source Software-Projekte vermitteln [71].

2.3.1 Apache

(44) Basis des Apache HTTP-Servers [72] ist der HTTP-Daemon [73] httpd, der ursprünglich von Rob McCool am National Center for Supercomputing Applications (NCSA) der Universität von Illinois in Urbana-Champaign entwickelt wurde. Aufgrund nachlassender Aktivitäten seitens der NCSA-Entwickler entschlossen sich 1994 der damals 21-jährige Brian Behlendorf und andere Programmierer dazu, die von der NCSA mitunter unberücksichtigten Korrekturen und Erweiterungen zahlreicher Anwender zu sammeln und selbst in den frei zugänglichen Quellcode des httpd zu integrieren [74]. Ergebnis dieser Bemühungen ist der Apache HTTP-Server, dessen erstes Release 1995 veröffentlicht wurde. Innerhalb eines Jahres wurde der httpd vom NCSA von Platz eins der Liste der am häufigsten installierten HTTP-Server verdrängt [75]. Gegenwärtig gilt der Apache als der am weitesten verbreitete Webserver weltweit [76].

2.3.2 Sendmail

(45) Eric Allman entwickelte 1981 an der Universität von Kalifornien in Berkeley mit Sendmail den noch immer dominierenden Message Transport Agent (MTA) [77] im Internet. Nach einer Studie von Daniel J. Bernstein an der University of Chicago aus dem Jahr 2000 läuft Sendmail auf 47% aller Internet Mail-Server und leitet somit die meisten der über das Internet versendeten Nachrichten weiter [78]. 1998 gründeten Allman und Greg Olson mit der Unterstützung privater Investoren das gleichnamige Unternehmen Sendmail, um neben der freien eine erweiterte kommerzielle Version der Software anzubieten und durch deren Verkaufserlöse den Fortbestand und die Weiterentwicklung von Sendmail zu sichern [79].

2.3.3 Perl

(46) 1987 veröffentlichte Larry Wall die erste Version von Perl (Practical Extraction and Report Language). Ziel von Wall war es, mit Perl eine Skriptsprache zu entwickeln, die es ermöglichen sollte, beliebige Textdateien einzulesen, Informationen aus diesen Textdateien zu extrahieren und einen Bericht basierend auf diesen Informationen zu generieren [80]. Mit den Jahren arbeiteten zahlreiche Programmierer an der Weiterentwicklung von Perl und erhöhten deren Leistungsumfang beträchtlich [81]. Das CPAN (Comprehensive Perl Archive Network), ein Onlineverzeichnis für Perl-Quellcode, Dokumentationen, Skripte sowie Module und Erweiterungen, gilt als beispielhaft für die Kooperation innerhalb der Open Source-Community. Hauptsächlich wird Perl als Skriptsprache für die CGI-Programmierung zur dynamischen Gestaltung von HTML-Seiten [82] und für Aufgaben der Systemadministration eingesetzt. Schätzungen gehen von mehr als einer Million Perl-Anwendern weltweit aus [83].

Fußnoten

(47) [1] Vgl. Abschnitt 2.2.
[2] Bei genauerer Betrachtung ist die Open Source Definition der OSI eine Kombination aus einer Definition und Rahmenbedingungen für Softwarelizenzen.
[3] Müller (1999), S. 8.
[4] Vgl. Open Source Initiative (Hrsg.) (2001).
[5] Gemeint sind sog. Patches. Ein Patch (Flicken) ist ein Stück Software, das durch Integration in ein zugehöriges Programm Fehler in diesem behebt oder dessen Funktionalität erweitert.

(48) [6] Die Q Public License des norwegischen Unternehmens Trolltech beinhaltet bspw. eine solche Bestimmung, vgl. Trolltech (Hrsg.) (2001).
[7] Vgl. Abschnitt 2.1.4.
[8] Vgl. Abschnitt 2.2.
[9] Stallman ist einer der Protagonisten der Free Software-Gemeinschaft und Initiator der Free Software Foundation. Vgl. Stallman (2001a).
[10] Vgl. Free Software Foundation (Hrsg.) (2001a).

(49) [11] "The core of the GNU project is the idea of free software as a social, ethical, political issue. ... Free software is a political philosophy and open source is a development methodology." Stallman (2001b). Vgl. bzgl. des GNU-Projekts Abschnitt 2.2.
[12] Vgl. Free Software Foundation (Hrsg.) (2001b).
[13] Vgl. DiBona/Ockman/Stone (1999), S. 2.
[14] Vgl. Free Software Foundation (Hrsg.) (2001c) und Lerner/Tirole (2000), S. 5 f. "Copyleft uses copyright law, but flips it over to serve the opposite of its usual purpose: instead of a means of privatizing software, it becomes a means of keeping software free." Stallman (1999), S. 59.
[15] Vgl. Levy (1994), S. 21 f.

(50) [16] Vgl. Raymond (2001b), S. 4 - 7. Einen Überblick über Normen und Verhaltensweisen innerhalb der Hackerkultur liefert Eric S. Raymond in seinem Essay Homesteading the Noosphere, vgl. Raymond (2001c).
[17] Raymond (2001a), S. 196.
[18] Vgl. Abschnitt 3.3.1.
[19] Vgl. Nüttgens/Tesei (2001a), S. 10 - 18 und Raymond (2001c), S. 67 - 71.
[20] Public Domain lässt sich am ehesten mit Allgemeingut oder mit Gemeinfreiheit übersetzen, vgl. Müller (1999), S. 9.

(51) [21] Vgl. Nüttgens/Tesei (2001b), S. 14. Nach §201, Absatz d, Ziffer 1 des Copyright Law of the United States of America kann ein Autor auf sein individuelles Copyright verzichten. Das deutsche Urheberrechtsgesetz (UrhG) sieht eine solche Möglichkeit dagegen nicht vor. Vgl. The Library of Congress (Hrsg.) (2001).
[22] Aufgrund des Fehlens urheber- bzw. lizenzrechtlicher Bestimmungen kann Public Domain-Software jederzeit Grundlage der Entwicklung proprietärer Software sein. Diese Möglichkeit hat letztendlich wesentlich zur Formulierung von OSS-Lizenzen beigetragen. Vgl. zu proprietärer Software Abschnitt 2.1.3.4.
[23] Vgl. Nüttgens/Tesei (2001b), S. 14 ff.
[24] Vgl. Lerner/Tirole (2001), S. 821.
[25] Vgl. Nüttgens/Tesei (2001b), S. 16.

(52) [26] Vgl. Free Software Foundation (Hrsg.) (2001d).
[27] Vgl. Nüttgens/Tesei (2001a), S. 2.
[28] Proprietäre Software wird daher mitunter als Closed Source Software bezeichnet.
[29] Die Begriffe kommerzielle Software und proprietäre Software werden oft synonym zueinander verwendet. Da proprietäre Software i.d.R. kommerziell verwertet wird, ist in dieser Arbeit mit kommerzieller Software stets proprietäre Software gemeint.
[30] Allein die Anzahl der Lizenzen, die von der OSI als übereinstimmend mit der Open Source Definition erklärt werden, beläuft sich auf 26. Stand: 2001-09-28.

(53) [31] In einer Untersuchung kommt David A. Wheeler zu dem Ergebnis, dass ca. 50% des Quellcodes der GNU/Linux Distribution Red Hat Linux 7.1 der GPL unterliegt, vgl. Wheeler (2001).
[32] Die Verbreitung der Software kann auch gegen eine Gebühr erfolgen. Hierbei handelt es sich jedoch nicht um eine Lizenzgebühr, sondern vielmehr um einen Ausgleich für den durch das Anfertigen und Verteilen der Kopien entstandenen Aufwand. Vgl. Nüttgens/Tesei (2001a), S. 20 f. Die wirtschaftliche Verwertung freier Software sollte durch diese Gebühr nicht gänzlich ausgeschlossen werden.
[33] Vgl. Free Software Foundation (Hrsg.) (2001e). Wegen dieser zentralen, auf Unternehmen der Softwareindustrie häufig abschreckend wirkenden Lizenzbestimmung erhielt die GPL von ihren Kritikern die Bezeichnung GNU Public Virus.
[34] Vgl. zur Konformität der GPL mit dem UrhG Abschnitt 5.3.1.
[35] Vgl. Free Software Foundation (Hrsg.) (2001f).

(54) [36] Vgl. Müller (1999), S. 10.
[37] Vgl. The Mozilla Organisation (Hrsg.) (2001a).
[38] Vgl. The Apache Software Foundation (Hrsg.) (2001a).
[39] Müller (1999), S. 9.
[40] Vgl. Müller (1999), S. 16.

(55) [41] Vgl. Nüttgens (2001), S. 3 f. Zudem fiel Software zu dieser Zeit noch nicht unter die durch das Urheberrecht schutzfähigen Werke. In den USA empfahl die National Commission on New Technological Uses of Copyrighted Works (CONTU) erstmals 1976, Computerprogramme unter den Schutz des Copyright Law zu stellen. Vgl. Borchers (2001).
[42] Vgl. Stallman (1999), S. 53 und Lerner/Tirole (2000), S. 4.
[43] MULTICS steht für MULTiplexed Information and Computing Service. UNIX sollte sich durch Einfachheit von MULTICS unterscheiden, weshalb es den Namen UNiplexed Information and Computing Service erhielt, aus dessen Abkürzung UNICS schließlich UNIX wurde. Vgl. Tanenbaum (1987), S. 10 f.
[44] Vgl. Raymond (2001b), S. 22 f. und Salus (1994), S. 43. Unter Portierung wird die Anpassung einer Software an bzw. ihre Übertragung auf eine neue oder geänderte Hardwareumgebung verstanden. Vgl. Schwander (1996), S. 21.
[45] Anfangs beliefen sich die Lizenzgebühren für UNIX einschließlich des Quellcodes auf $50, vgl. Grassmuck (2001a).

(56) [46] Vgl. Duncan/Hull (2001).
[47] Als zentrale Koordinationsstelle fungierte schon bald die Universität von Kalifornien in Berkeley. Der spätere Gründer von Sun Microsystems, William Joy, sammelte dort alle Korrekturen und Ergänzungen, arbeitete selbst an zahlreichen Erweiterungen von UNIX - bspw. an der durch die Advanced Research Projects Agency (ARPA) finanzierten Integration von TCP/IP - mit und veröffentlichte diese erstmals 1978 als Berkeley Software Distribution (BSD UNIX). Vgl. Grassmuck (2001b).
[48] Vgl. Müller (1999), S. 16. "Dies ist deshalb bemerkenswert, da kein Entwicklungsauftrag hinter diesem Prozess stand und die starke Verbreitung von UNIX nicht auf den Vertrieb oder die Werbung eines Herstellers, sondern primär auf das Benutzerinteresse zurückzuführen ist." Gulbins/Obermayr (1995), S. 7.
[49] Vgl. Stallman (1999), S. 53 f. und BMWi (Hrsg.) (2001), S. 8 f.
[50] Vgl. Duncan/Hull (2001).

(57) [51] Die Lizenzgebühren für UNIX stiegen mit der Zeit auf bis zu $100.000, vgl. Grassmuck (2001a).
[52] Vgl. Müller (1999), S. 16.
[53] GNU ist ein rekursives Akronym für GNU's Not UNIX. Die Tatsache, dass Stallman am renommierten MIT beschäftigt war, mag dazu beigetragen haben, dass ihm und seinem Projekt die für einen Erfolg notwendige Glaubwürdigkeit und Beachtung zu Teil wurden.
[54] Vgl. Stallman (2001c). Seine endgültige Entscheidung, das GNU-Projekt zu gründen, beruht angeblich auf der Weigerung eines Händlers, Stallman den Quellcode eines Druckertreibers auszuhändigen, vgl. O'Reilly (2001).
[55] Der GNU C Compiler wurde im April 1999 nach der Zusammenführung mit dem Experimental GNU Compiler System egcs in GNU Compiler Collection umbenannt.

(58) [56] Vgl. Müller (1999), S. 17.
[57] Die modulare Struktur von UNIX sollte sich für das Ersetzen seiner einzelnen Komponenten als eine wesentliche Erleichterung herausstellen. Vgl. Abschnitt 3.1.3.4.
[58] Der Kernel ist für elementare Funktionen des jeweiligen Betriebssystems zuständig und befindet sich zur Laufzeit stets im Arbeitsspeicher des Rechners. Zu seinen Hauptaufgaben zählen die Prozess- und die Betriebsmittelverwaltung. Vgl. Tanenbaum (1987), S. 87 - 92.
[59] HURD war damals bereits das zweite Projekt, dessen Ziel die Entwicklung eines Kernels war. TRIX scheiterte jedoch schon frühzeitig.
[60] Tatsächlich wurde die erste Release von GNU HURD 1996 vorgestellt.

(59) [61] MINIX wurde ursprünglich von Andrew S. Tanenbaum zur Demonstration der Funktionalität und der Arbeitsweise eines Betriebssystems entwickelt. Vgl. Tanenbaum (1987), S. 13 f. Die Tatsache, dass Torvalds einen Großteil der MINIX-Community für Linux gewinnen konnte, mag wesentlich zu dessen Erfolg beigetragen haben.
[62] Vgl. Stallman (1999), S. 65 f. Oftmals wird nur von Linux gesprochen, richtiger aber ist die Bezeichnung GNU/Linux, da es sich bei Linux lediglich um den Betriebssystem-Kernel handelt.
[63] Vgl. Nüttgens/Tesei (2001a), S. 13 f.
[64] Raymond ist neben Richard M. Stallman einer der prominentesten Vertreter der Open Source-Community und eines der Gründungsmitglieder der OSI. Vgl. Raymond (2001e).
[65] Vgl. Müller (1999), S. 8.

(60) [66] Vgl. Nüttgens/Tesei (2001a), S. 3. In zahlreichen Beiträgen und Veröffentlichungen konnte sich der Begriff Open Source innerhalb nur weniger Monate gegen freie Software durchsetzen.
[67] Vgl. Abschnitt 2.1.1.
[68] Vgl. Perens (2001).
[69] Vgl. Müller (1999), S. 12 und Lakhani/von Hippel (2001), S. 7.
[70] Durch die Möglichkeit, GNU/Linux aus dem Internet zu beziehen und entsprechende Datenträger beliebig oft zu kopieren, sind Schätzungen über die Anzahl der Installationen nahezu unmöglich. Prognosen für das Jahr 2000 reichen von 9 Mio. bis zu 20 Mio. GNU/Linux-Installationen weltweit. Vgl. Flynn (2001) und Grassmuck (2001b).

(61) [71] Aufgrund der folgenden Ausführungen ist anzunehmen, dass nahezu jeder Anwender eines beliebigen Internetdienstes direkt oder indirekt freie Software nutzt.
[72] Vgl. The Apache Software Foundation (Hrsg.) (2001b).
[73] Ein Daemon (Disk And Execution MONitor) ist ein Programm, das permanent im Hintergrund eines Computersystems läuft und darauf wartet, bei bestimmten Systemereignissen aktiv zu werden, um anschließend eine zuvor definierte Aufgabe auszuführen. Vgl. Tanenbaum (1987), S. 121.
[74] Vgl. Behlendorf (1999), S. 158 und Lerner/Tirole (2000), S. 10 f. Aufgrund der Vielzahl der Korrekturen und Erweiterungen (Patches) erhielt das Projekt den Namen A Patchy Server, aus dem schließlich Apache wurde.
[75] Vgl. O'Reilly & Associates (Hrsg.) (1999), S. 26 f.

(62) [76] Dem Netcraft Web Server Survey vom August 2001 zufolge entfallen auf den Apache HTTP-Server ca. 60% der weltweit installierten Webserver. Vgl. Netcraft (Hrsg.) (2001).
[77] Ein MTA ist für die Verteilung von Nachrichten innerhalb eines Netzwerks zuständig.
[78] Vgl. Bernstein (2001).
[79] Vgl. O'Reilly & Associates (Hrsg.) (1999), S. 25 f.
[80] Vgl. Duncan/Hull (2001).

(63) [81] Die aktuelle Version Perl 5.x verfügt bspw. über objektorientierte Features, vgl. Perl Mongers (Hrsg.) (2001).
[82] Große Websites wie Yahoo, Amazon und Netscape setzen Perl ein, um interaktive Dienste zur Verfügung zu stellen. Perl ist die am häufigsten benutzte Programmiersprache zur Entwicklung von Internetdiensten und interaktiven Datenbankabfragen. Vgl. O'Reilly & Associates (Hrsg.) (1999), S. 28.
[83] Vgl. Nüttgens/Tesei (2001a), S. 16.

Kapitel 3: Open Source Software-Projekte

(64) Zurück:
Vorwort
Inhalts- und Abkürzungsverzeichnis
Kapitel 1: Einleitung


Valid HTML 4.01 Transitional