IT-Academy Logo
Sign Up Login Help
Home - Fortbildung­&Lektüre - Quergeschrieben - Open Source Software?



Open Source Software?

Immer mehr Menschen nutzen Open Source Software. Die Medien verbeißen sich in das Thema, die Wachstumszahlen sind gigantisch - ja, es werden sogar schon Kinofilme über dieses Thema gedreht ("StartUp"). Ein Grund zu erklären, was Open Source Software eigentlich ist, was es bedeutet und welche Zukunft es hat.


Autor: Martin Puaschitz (onestone)
Datum: 23-01-2002, 19:24:17
Referenzen: Broschüre Open-Source-Software - BMWI Deutschland
Schwierigkeit: Anfänger
Ansichten: 5386x
Rating: 6.71 (7x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



1. Was ist Open-Source-Software?

Ein Programm, welches als Open-Source-Software vertrieben wird, muss einige Auflagen erfüllen (hier nur die wichtigsten Punkte, eine ausführliche Liste der Kriterien ist unter http://www.opensource.org zu finden):

- Freie Weiterverbreitung
- Verfügbarkeit des Quellcodes
- Änderungen am Quellcode

Der erste Punkt besagt, dass Open Source Software unentgeltlich verbreitet werden soll, die Entwickler verschenken also ihr Produkt. Weiterhin muss auch der Quellcode (die Programmierung) frei verfügbar sein. Entweder der Autor legt sie dem Programm bei, oder verweist auf eine öffentlich zugängliche Stelle (z.B. eine Internetseite). Die letzte Eigenschaft besagt, dass es jedem Benutzer frei steht, die soeben erhaltene Software zu verändern und sie danach erneut zu verbreiten.

2. Die Geschichte von Open-Source-Software

In den Computeranfängen wurde die Software meist gratis zu einem gekauften System mitgeliefert. Auch der Source-Code wurde für weitere Entwicklungen anderer Programmierer beigelegt. Jegliche Programmier-Enthusiasten konnten sich an der Entwicklung beteiligen. Doch IBM beendete diesen Prozeß indem die Firma 1965 keine Gratis-Software zu ihren Hardwaresystem auslieferte. Schnell erkannten viele Programmierer, welch enorme Einnahmen sie durch Softwarelizenzen erzielen konnten. Somit wurden die Quellcodes der Programmierer zu den größten Geheimnissen der Welt.

Seit diesem Umbruch wurden die Wünsche der Anwender nicht mehr so stark bedacht. Früher konnte ein Unternehmen ein bereits bestehendes Programm mit wenigen Handgriffen in die Unternehmensstruktur eingliedern - das war jetzt nicht mehr möglich. Entweder man kaufte das fertige (teilweise unzureichende) Programm, oder man beschäftigte einen eigenen Programmiererstab, welcher aber meist zu teuer war.

Dies alles gefiel Richard Stallman vom Massachusetts Institute of Technology (MIT) nicht. Er beschloss 1984 ein wieder freies Programmpaket namens GNU zu publizieren. GNU stand für die unendliche Abkürzung "GNU is not Unix". In Verbindung mit einem Kernel (der "Kern" eines Betriebsystemes) ergänzen sich die GNU-Tools zu einem kompletten Betriebssystem.

Das Ziel von Stallman war es, die offene Zusammenarbeit die bis Mitte der Siebziger Jahre gedauert hatte, erneut aufleben zu lassen. Nach Gründung der FSF (Free Software Foundation) schuf Stallman die GPL (General Public License; siehe Punkt 8).

Doch viele (vor allem Unternehmen) konnten sich mit Free Software, also verschenkter Software, nicht anfreunden. Es schien zu instabil, zu experimentell als das man es für ein gesamtes Unternehmen hätte einsetzen können. Deshalb schuf der Softwareexperte Eric S. Raymond den Begriff Open-Source. Open-Source-Software lässt die Verwendung in kommerzieller Software im Gegensatz zu GPL (siehe Punkt 8) offen.

3. Wie entsteht Open-Source-Software?

Oftmals entstehen Open-Source-Projekte wenn sich geschickte Programmierer über unzureichende Funktionen in kommerzieller Software ärgern. So auch bei Richard Stallman: Er wollte ein Programm für das Netzwerk schreiben welches sofort Meldung erstattet sobald sein Druckauftrag nicht ausgeführt wurde. Für Stallman wäre dies ein leichtes Unterfangen gewesen, hätte er Einblick in den Quellcode des Druckertreibers gehabt. Doch die Erzeugerfirma verwehrte den Zugriff und Stallman musste den Druckertreiber selbst neu programmieren um seine Funktion zu implementieren.

Ähnlich ist der Ursprung vieler Open-Source-Entwicklungen. Ein Programmierer hat ein besonderes Problem, löst es durch ein neues Programm und veröffentlicht es mitsamt dem Quellcode im Internet. Erweist sich die Software als nützlich, wird sie von vielen anderen Anwendern getestet. Sobald Fehler auftreten, werden diese dem Autor gemeldet. Aufgrund der vielschichtigen Anwendungen wurden Fehler meist zur Gänze beseitigt.

Aber auch die Weiterentwicklung wird durch Open-Source-Software gefördert. Da der Quellcode ja öffentlich zugänglich ist, gibt es in vielen Fällen eine große Anzahl von Programmierern die das Programm in verschiedene Richtungen weiterentwickeln oder anpassen. Dadurch ergeben sich immer mehr Anwendungen für verschiedene Probleme.

4. Wie funktioniert die Zusammenarbeit bei Open-Source-Software?

Der Programmierer, welcher mit der Arbeit begonnen hat, ist auch meist der Projektleiter. Um diesen finden sich mehrere Programmierer ein, die auch an der Entwicklung dieser Software interessiert sind. Nach einiger Zeit gibt es meist fixe Zuweisungen für verschiedene Bereiche. Wichtig ist immer die Einhaltung aller wichtigen Standards - so kann es (fast) keine Programmkonflikte geben.

Wenn ein Programmierer in das "Kernteam" aufgenommen wird, ist das meist eine große Auszeichnung für ihn. Für viele Programmierer ist der finanzielle Part eher unwichtig - es zählen eher Prestige und Anerkennung.

5. Wie finanzieren sich Open-Source-Projekte?

In fast allen Fällen werden solche Projekte über das Internet abgewickelt. Der entstehende Kostenfaktor sind die Verbindungsgebühren zum Internet. Alles weitere wird per Mail und Newsgroups abgestimmt.

Bei größeren Projekten bedarf es meistens einer besseren Internet-Anbindung sobald das zu übertragene Datenvolumen steigt. Hier fallen deutlich höhere Kosten an, als bei kleineren Projekten. Ohne Hilfe nicht finanzierbar sind z.B. Projekte, bei welchen unterschiedliche Hardware verwendet werden muss oder Treffen arrangiert werden. Hier gibt es aber dann meist Firmen die als Sponsor dienen.

6. Beispiele für Open-Source-Software

UNIX

Das erste Open-Source-Projekt wahr ohne Zweifel UNIX. Die Telefongesellschaft AT&T entwickelte das Mehrbenutzer- und Multitasking-Betriebssystem 1969 da sie mehrere Rechner bei unterschiedlichen Herstellern gekauft hatten und diese nicht zueinander kompatibel waren. Deshalb wurde ein Plattformunabhängiges Betriebssystem namens UNIX geschaffen. Verantwortlich für diese Entwicklung (und für die Erfindung der Programmiersprache C) waren Ken Thompson und Dennis Ritchie. Der Durchbruch von UNIX bestand allerdings mit der frühen Integration von TCP/IP (Das Netzwerkprotokoll auf welchem das Internet basiert).
GNU-Projekte

Wie bereits erwähnt wurde GNU von Richard Stallman gegründet. Es war von Anfang an als Alternative zu UNIX gedacht. Zu Beginn der neunziger Jahre waren alle wichtigen Bestandteile von GNU fertiggestellt - nur noch der Betriebskern fehlte. Gleichzeitig entwickelte ein finnischer Student namens Linus Torvalds seinen Linux-Kernel. Richard Stallman in einem Interview mit Computer Channel am 24.1.2001: "Wir konnten uns gar nicht für oder gegen Linux als Kernel entscheiden, da wir ihn nicht kannten. Aber andere Leute, die den neuen Kernel ausprobiert hatten, suchten nach Möglichkeiten, ihn zu ergänzen und stießen dabei glücklicherweise auf GNU". So vervollständigte der Linux-Kernel das GNU-System zu einem vollständigen Betriebssystem.

Linux

GNU/Linux ist, wie schon erwähnt, ein freies, UNIX ähnliches Betriebssystem, das seinen Ursprung 1991 an der Universität in Helsinki fand. Linux steht unter der GPL (siehe Punkt 8) - somit ist der kostenlose Zugang zum Quellcode garantiert. Der Name Linux entstand aus "Linus' Unix" und sollte von Anfang an: "kein großes und professionelles Projekt wie GNU" werden, wie Torvalds bei seinen Anfängen verkündet hat.

Linux wird meist als Softwarepaket angesehen, ist aber im eigentlichen Sinne nur der Kernel, also der Betriebskern welcher die wichtigsten Funktionen steuert. Alle weiteren Dienste sind Programme aus dem GNU-Projekt.

Musste man früher den kompletten Source-Code herunterladen und dann kompliziert kompilieren und installieren, bieten heute einige Firmen sogenannte Distributionen an. Durch Distributionen ist es sehr leicht Linux zu installieren, da es verschiedene grafische Unterstützungen und Hilfsprograme gibt. Die wichtigsten auf diesem Markt sind S.u.S.E, Debian, RedHat, Corel Linux, Caldera, Mandrake, etc. Alle diese haben sich auf einen gemeinsamen Standard geeinigt.

Ein großer Vorteil zu anderen Betriebssystemen ist, dass sehr Stabil läuft, da der Betriebsystemen nur die wichtigsten Aufgaben erledigt. Sobald ein Programm den Dienst quittiert (aufgrund eines Fehlers) stürzt nur das Programm ab, nicht etwa das gesamte System. Im weiteren werden von Linux viel weniger Ressourcen verwendet, als von Windows oder anderen Systemen. Oftmals reicht ein alter 486er für einige zentrale Serverdienste aus.

KDE

Da UNIX oder LINUX in seinen eigentlichen Anfängen wie MS-DOS lediglich eine Textkonsole zur Steuerung bietet fanden die wenigsten Gefallen an den Systemen. Um wie bei Windows grafische Oberflächen zu bieten um mehr Anwenderfreundlichkeit zu gewähren wurde von einer Gruppe von Entwicklern im Oktober 1996 begonnen den KDE (K Desktop Environment) zu programmieren.

GNOME

Eine andere Variante eines freien Desktop-Systems stellt GNOME (GNU's Network Object Model Environment) dar. Wie KDE verfügt GNOME über eine integrierte, leicht zu bedienende grafische Oberfläche. GNOME wurde von Beginn an völlig frei entwickelt - im Gegensatz zu KDE, welches eine nicht freie Softwarebibliothek nutzte.

Apache

Der Apache-Web-Server ist heute der beste Webserver den Open Source bislang auf die Beine gestellt hat. Weit mehr als die Hälfte aller Webserver weltweit werden heute mit Apache betrieben. Der Name leitet sich aus "A patchy Server" ab, da der Server wie ein Flickerlteppich aus Programmen und Patches zusammengestellt wurde.

Apache wird seit 1995 entwickelt. In der aktuellen Version kann Apache quasi auf allen UNIX-/LINUX-Systemen genutzt werden. Es ist sogar eine Windows-NT-Version erhältlich. Der Apache Webserver wird seit 1999 von der Apache Software Foundation (ASF) betreut. Die ASF arbeitet nicht gewinnorientiert.

7. Stärken und Schwächen von Open-Source-Software

Was früher nur für Freaks und Programmierer ein Betriebsystem war ist heute eine sinnvolle und preiswerte Alternative zu kommerzieller Software. Nun gilt es, die Vor- aber auch die Nachteile von Open-Source-Software miteinander zu vergleichen:

Vorteile

- Verfügbarkeit des Quellcodes und das Recht, ihn ändern zu dürfen.
- Das Recht, die Open-Source-Software sowie alle Änderungen und Verbesserungen am Quellcode weiterzugeben.
- Keine Exklusivrechte an der Software.
- Niedrige Kosten.
- Schnellere Sicherheitsupdates.

Keine kommerzielle Firma wird es zustande bringen mit ihrer Software das gleiche Funktionsspektrum wie Open-Source abzudecken. Deshalb kann Open-Source hier eindeutig punkten.

Das Thema Sicherheit ist für viele Unternehmen aber auch zunehmend für Privatpersonen ein wichtiger Aspekt. Bei kommerzieller Software gibt es meist mehr Sicherheitslücken als bei Open-Source-Software da zweitere viel mehr Tests unterzogen wird (da es so viele verschiedene Anwender testen). Aber auch in der Bereitstellung von Updates und Patches sind die Programmierer von Open-Source-System meist schneller.

Aber auch für all jene, die erleichterte Administration und vor allem den sehr viel niedrigeren Kostenfaktor schätzen, ist Open-Source-Software eine tolle Lösung. Allerdings ist Open-Source kein Allheilmittel und es gibt leider auch Schwächen:

Nachteile

- In einigen Business-Bereichen noch wenig oder keine ausgereifte Software.
- Nicht immer können vorhandene Daten aus kommerzieller Software übertragen werden da einige Filter noch nicht ausgereift sind.
- Eine Hardware-Unterstüzung ist bei ganz neuen Produkten meist nicht sofort gegeben, da nur wenige Anbieter bereits Open-Source-Treiber mitliefern.

Diese Nachteile werden aller Voraussicht nach aber im Laufe der Zeit verschwinden, da bereits einige Software- und Hardwarehersteller bemerken, wie wichtig Open-Source-Systeme werden. Ein gutes Beispiel ist Corel, welches sein berühmtes Grafikprogramm Corel Draw bereits auf Linux portiert hat (allerdings ist es hier nicht gratis).

8. Softwarelizenzen

GPL

Die GPL wurde ja von Richard Stallman gegründet. Die Idee dahinter, war der Schutz von freier Software. Folgende Eigenschaften müssen eingehalten werden, wenn Programme unter der GPL stehen:

- Die Freiheit das Programm auszuführen.
- Die Freiheit, Kopien von dem Programm zu machen und sie zu verbreiten, sofern das Copyrightvermerk und der Lizenztext beigelegt werden. Dafür können Gebühren erhoben werden.
- Die Freiheit, das Programm zu modifizieren; die Änderungen müssen ersichtlich sein, und das geänderte Programm muss ebenfalls unter die GPL gestellt werden.
- Die Freiheit des Zugangs zum Quellcode; der Objektcode darf verbreitet werden, sofern der Quellcode öffentlich zugänglich gemacht wird (z.B. auf einer Internetseite).

GNU Lesser General Public License (LGPL)

Im Gegensatz zur GPL dürfen bei der LGPL alle unter diesen Nutzungsbedingungen stehenden Bibliotheken (und Programme) in kommerzielle Software eingebunden werden um sich als De-facto-Standard zu etablieren.

Ein Wechsel von der LGLP zur GPL ist jederzeit möglich; GPL-Programme können hingegen nachträglich nicht der LGPL unterstellt werden.

BSD-Lizenz

Die Berkeley Software Distribution enthält die wesentlichen Freiheiten der GPL. Die Software darf allerdings auch als Binary (kein Quellcode) verbreitet werden, ja sogar mit geschlossenem Quellcode unter konventionelle Lizenzen gestellt und privatisiert werden. Ein wesentliches Merkmal ist, dass bei weiterentwickelten Programmen auch der ursprünglichen Autor genannt werden muss.



paedubucher
Professonial
Beitrag vom:
26-10-2005, 21:44:03

Gut, aber...

Deinen Beitrag finde sehr gelungen - ein guter Einstieg für einen OpenSource Neuling.

[Ich habe noch folgendes zu ergänzen: OpenSource-Code kann durchaus in proprietären Programmen verwendet werden. Dies ist z.B. der Fall, wenn der Code unter der LGPL (Lesser General Public License, f rüher Library General Public License) steht.] Dies ist im Artikel durchaus erwähnt, mein vor-Kommentator hat dies allerdings scheinbar ausser Acht gelassen...

Übrigens: Entwickler freier Software lassen sich nur ungerne als OpenSource-Entwickler bezeichnen. Diese beiden Begriffe darf man nicht gleichsetzen! OpenSource steht eher für die praktischen Vorteile von Software, während freie Lizenzen einige ethische und moralische Aspekte miteinbringen.

-----------------------------------------------------


olba
Rookie
Beitrag vom:
29-05-2002, 01:58:20

GPL != kostenlos

Hallo, beim lesen dieses Artikels bin ich immer wieder über die Aussage gestolpert das "Open Source" Software kostenlos abzugeben, zu verschenken, sei. Meines Erachtens wird hier "Frei" falsch interpretiert. Frei wie in Freiheit, nicht wie in Freibier, ist die wohl bekannteste Erklärung ;). Die GPL verbietet niemanden den kommerziellen Umgang mit OpenSourcesoftware, solange der Sourcecode zugänglich ist. Auch der Hinweis darauf das man Quellcoder der unter der GPL veröffentlicht wurde nicht in kommerziellen Projekten verwenden darf ist nicht richtig. Die GPL verbietet ledeglich "statisches" linken (einbinden) von z.B. Programmbibliotheken in Programme die nicht unter der GPL stehen. Das dynamische linken (zur Laufzeit des Programmes), bei mitgeliefertem Sourcecode (bzw. der Hinweis wo dieser zu erhalten ist) ist hingegen erlaubt.

-----------------------------------------------------


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06245
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1147
Comments: 0