container_background

Unsere Kunden

Hier sehen Sie einen Auszug aus unserer Kundenkartei.

contentBoxBottom

Paradigmen des Open-Source-Konzeptes am Beispiel von TYPO3

(mit freundlicher Genehmigung des LW-Verlages / Münster-Hiltrup: LW-Verlag, 2004)

von:

Alexander Wehrum (1), Claus Mückschel (2)

(1) Connecta AG Rheinstraße 17-21 D-65185 Wiesbaden
(2) Professur für Biometrie und Populationsgenetik, Justus-Liebig-Universität Heinrich-Buff-Ring 26-32 D-35392 Giessen

TYPO3 Artikel als pdf Version

contentBoxBottom

Abstract: Immer häufiger entscheiden sich private Nutzer, Unternehmen wie auch öffentliche Einrichtungen für den Einsatz von Open-Source (OS)-Software. Der Artikel fasst die wesentlichen Vor- und Nachteile von OS-Software zusammen. Darüber hinaus wird exemplarisch ein durch die Autoren durchgeführtes OS-Projekt vorgestellt, bei dem das Content-Management-System TYPO3 zum Einsatz kam.

1. Einführung
Open-Source-Software ist zur Zeit ein vielfach diskutiertes Thema in Wissenschaft und Praxis. OS steht im Kontrast zu rein kommerziellen Softwareprodukten, denn im Gegensatz zu konventioneller Software wird OS meist durch räumlich verteilte, heterogene Gruppen entwickelt, in denen Expertenwissen freiwillig und zumeist ohne Erwartung einer direkten Gegenleistung geteilt wird. Das eigentliche Phänomen von OS ist, dass trotz der größtenteils freiwilligen und unentgeltlichen Beiträge einzelner Entwickler und des scheinbar unorganisierten und kollektiven Entwicklungsprozesses,technisch überzeugende und konkurrenzfähige Ergebnisse hervorgebracht werden. Immer häufiger entscheiden sich deswegen private Nutzer, Unternehmen wie auch öffentliche Einrichtungen für den Einsatz von OS-Software. So ist der Einsatz von OS Server Plattformen mittlerweile auf ein beachtliches Maß gestiegen.

Parallel zu dieser rasanten Entwicklung ist auch auf Desktop-Systemen ein verstärkter Einsatz festzustellen. In zahlreichen Marktsegmenten sind OS-Systeme erhältlich, die kommerziellen Lösungen in nichts nachstehen oder diesen sogar überlegen sind. Beispiele hierfür sind Informations- und Content-Management-Lösungen wie der Webserver Apache oder das Programm TYPO3. So ist Apache als Webserver-Software mittlerweile zum Marktführer avanciert, mit einen Marktanteil von 68 % gefolgt von Microsofts US mit 21% (Netcraft 2004).

Die Gründe für diese beachtlichen Erfolge von OS-Produkten sind vielfältig. Die am häufigsten aufgeführten Argumente, die für ihren Einsatz sprechen, sind die wegfallenden Lizenzkosten, erhöhte IT-Sicherheit, Offenheit und Erweiterbarkeit der Systeme sowie Unabhängigkeit von monopolistischen Softwareanbietern.

Trotz teilweise erheblicher Vorteile beim Einsatz von OS-Produkten gibt es auch einige Problemfelder und Risiken, die es bei einer Entscheidungsfindung bezüglich der Softwareauswahl zu beachten gilt. Im vorliegenden Beitrag wird zunächst geklärt, welches die wesentlichen Charakteristika einer OS-Software sind. Anschließend werden die Chancen und Risiken beim Gebrauch von OS-Produkten zusammengefasst, die bei einer Entscheidungsfindung behilflich sein sollen. Im letzten Teil wird exemplarisch ein durch die Autoren durchgeführtes OS-Projekt vorgestellt, bei dem das Content-Management-System TYPO3 zum Einsatz kam.

2 Hintergrund und Begriffsklärung
Wenngleich Open-Source-Software schon in den späten 60er Jahren existierte, entstand der eigentliche Begriff erst um 1998 mit Gründung der Open-Source Initiation (OSI). Die OSI überprüft die Lizenz einer Software hinsichtlich 10 festgelegter Kriterien und erkennt an Hand dieser Kriterien die Lizenz und damit das ihr zu Grunde liegende Programm gegebenenfalls als Open-Source-Software an.

Zu den Kriterien der OSI gehören u.s. die folgenden:
1) Freie Weitergabe: Niemand darf in seinem Recht hinsichtlich der Weitergabe (Schenkung oder Verkauf) eingeschränkt werden. In der Lizenz darf folglich keine Lizenz oder Verkaufsgebühr festgeschrieben sein.
2) Offenheit des Quellcodes: Der Quellcode muss für jeden erhältlich sein (z.B. per Download aus dem Internet). Dabei muss der Quellcode in verständlicher Form abgefasst sein. Ein absichtlich unverständlich geschriebener Quellcode ist nicht zulässig.
3) Abgeleitete Software: Die Lizenz muss Derivate und Veränderungen zulassen, wobei die daraus resultierenden Programme wiederum unter den selben Bedingungen wie die  Ausgangssoftware weitergegeben werden können müssen.
4) Keine Einschränkung bezüglich des Einsatzes: Die Lizenz darf das Einsatzgebiet der Software in keinem Fall einschränken.
5) Weitergabe der Lizenz: Die Rechte am zugrunde liegenden Programm müssen auf alle Personen übergehen, die es erhalten. Eine Pflicht zum Erwerb einer zusätzlichen Lizenz darf nicht bestehen. Auf die genaue Beschreibung der fünf übrigen Kriterien wird an dieser Stelle verzichtet, sie beinhalten a) Das Verbot der Diskriminierung von Personen oder Gruppen, b) das Verbot der Lizenzbeschränkungen auf ein bestimmtes Produktpaket, c) das Verbot der Lizenzbeschränkung für die Weitergabe der Software mit anderer Software und d) das Gebot der Technologieneutralität.

Unterschiedliche Formen von OS-Software
Zunächst lässt sich Open-Source-Software nach ihrer Lizenzform unterscheiden. Im Oktober 2004 waren insgesamt 54 unterschiedliche Lizenz-Formate von der OSI anerkannt und zertifiziert. Das wichtigste Format ist die GNU General Public License (GPL) mit ca. 71 % Verwendungshäufigkeit, dann folgt die Lesser General Public License (LGPL) mit 11% und als dritthäufigste die Berkely Software Distribution (BSD) mit 7 % (vgl. OSI 2004). Wichtigster Unterschied zwischen GPL und LGPL ist, dass letztere erlaubt, die zugrunde liegende Software als Baustein für eine proprietäre Software zu benutzen, d. h. bei Integration eines LGPL-lizensierten Bausteins muss - im Gegensatz zur GPD - nur der Quellcode des Bausteins offen gelegt werden und nicht der Quellcode des kompletten, neu entstandenen Gesamtwerks.

Das wichtigste Lizenzformat GPL geht auf Richard Stallman zurück, der 1989 die Version 1.0 zusammen mit dem Rechtsprofessor Eben Moglen veröffentlichte. Ziel war dabei vor allem, eine  eventuell mögliche Proprietarisierung einer offengelegten und abgeleiteten Software zu verhindern (FSF 2004). Open-Source-Software lässt sich auch nach ihrer Nutzung und ihrem Vertrieb  durch kommerzielle Firmen unterscheiden. Zwar sind die Wurzeln der OSS klar von nicht kommerziellem Gedankengut geprägt, jedoch gibt es eine Reihe von Unternehmen wie Novell oder IBM, die sich die Vorteile von OSS aus rein kommerziellen Interessen zunutze machen. Beispiele hierfür sind die Linux-Distributionen RedHat und Suse, letztere wurde im Jahre 2003 durch  den US-Konzern Novell aufgekauft, was ein eindeutiges Indiz ist für das gesteigerte Interesse etablierter Unternehmen an den Marktchancen von OS-Software. Des weiteren lässt sich OS-Software nach ihrer Organisationsform unterscheiden. Raymond (1999) verglich die Entwicklung von OS-Software mit einem Basar, während klassische Softwareentwicklung dem Bau einer Kathedrale entspräche. Prinzipiell kann die Entwicklung von OS-Software jedoch in beiden Formen, d.h. offen oder geschlossen stattfinden. Allerdings überwiegt die offene Organisation, in der eine große, meist weltweit verstreute Anzahl von Personen Zugriff auf Quellcode, Fehlerdatenbank oder Diskussionsforen und Mailinglisten des Projektes hat und somit an der Weiterentwicklung und an Entscheidungen teilhaben kann. Ein Beispiel für eine eher geschlossene, klassische Form, geprägt durch einen stark organisierten Stil der Entwicklung, ist die Open-Source-Software MySQL (Krishnamurthy 2002).

3. Vor- und Nachteile von OS-Software
Im Folgenden sollen kurz die Vor- und Nachteile beim Einsatz von OS-Software zusammengefasst und anschließend eine Übersicht derjenigen Faktoren gegeben werden, die bei der Auswahlentscheidung bezüglich des Einsatzes von OS-Software beachtet werden sollten. Die Empfehlungen beruhen auf den Erfahrungen, die die Autoren als Mitarbeiter der Connecta AG bei der Umsetzung zahlreicher OS-Projekte gemacht haben.

3.1 Vorteile von OS-Software
Kostenvorteil
Das wichtigste Argument für den Einsatz von OSS sind zweifelsfrei die augenscheinlich niedrigen Kosten. Allerdings sind für eine ökonomisch richtige Entscheidung nicht nur die Anschaffungskosten, sondern die Gesamtkosten zu beachten. Die Gesamtkosten werden üblicherweise nach dem Total Cost of Ownership (TCO) Ansatz der Gärtner Group berechnet. Dies
beinhaltet alle direkten und indirekten Kosten, die bei der Implementierung und Nutzung über einen bestimmten Zeitraum hin anfallen. Zu den direkten Kosten zählen in erster Linie die Hard- und Softwarekosten, aber auch Kosten für technischen Support, Verwaltungskosten oder für die Schulung der Mitarbeiter. Indirekte Kosten sind zum Bespiel mögliche Ausfallzeiten der Systeme oder die Kosten für das Erlernen der Software im Arbeitsalltag. Eine Reihe von Studien belegt, dass Open-Source-Software meist nicht nur bei Betrachtung der Anschaffungskosten vorteilhafter als proprietäre Software ist, sondern auch unter Einbeziehung der Gesamtkosten. Die im deutschsprachigen Raum bekannteste Studie ist die von Unilog für die Landeshauptstadt München durchgeführte Untersuchung, bei der Windows XP / Microsoft Office mit Linux und anderen OSKomponenten verglichen wurde. Laut dem Ergebnis kann die Stadt München beim Einsatz von OS-Software 12 Millionen Euro einsparen (Unilog 2003).

Beständigkeit und Updates
Das nicht zu unterschätzende Lieferantenrisiko bei der Anschaffung proprietärer Software fällt bei OSS weniger ins Gewicht, denn bei OSS begibt man sich nicht in ein Abhängigkeitsverhältnis zu einem Drittanbieter, und ist somit nicht dessen produkt- und marktstrategischen Entscheidungen ausgeliefert. So stellt selbst Microsoft die technische Unterstützung für ältere Windows- oder andere Software-Versionen regelmäßig ein und zwingt die Endnutzer zur Anschaffung neuerer Versionen, die dann unter Umständen tiefgreifende  Veränderungen der Soft- und Hardwarearchitektur nach sich ziehen. Etablierte und weit verbreitete Open-Source-Software ist nach heutigem Erfahrungsstand um einiges beständiger. Zudem sind durch die größere Anzahl von Entwicklern die Zyklen für Softwareupdates für neue Funktionen oder Fehlerbehebungen in der Regel wesentlich kürzer als bei proprietärer Software.

Offenheit und Unabhängigkeit
Die Schwierigkeiten und Herausforderungen einer informationstechnischen Infrastruktur liegen weniger in der Phase des Aufbaus als im dauerhaften Betrieb (Czegka et al. 2003). Aus diesem Grund sind bei der Konzeption offene Informationssysteme vorzuziehen, welche sich möglichst ohne großen Aufwand anpassen, erweitern, integrieren oder auch ersetzen lassen. Hier haben Open-Source basierte Systeme einen entscheidenden Vorteil gegenüber den meisten proprietären Produkten, da zum einen durch den offenen Quellcode und die (meist) gute Dokumentation jeder sich in die Funktionsweise des Programms einarbeiten kann und zum anderen OS-Software in der Regel so programmiert ist, dass sie offen für Erweiterungen ist. Erst durch diese beiden Charakteristika wird es möglich, dass eine Vielzahl unterschiedlicher, unabhängiger Entwickler das Programm weiterentwickeln können. Durch die Offenheit von OS-Produkten , die sowohl den Quellcodes, als auch die allgemeine Softwarearchitektur umfasst, können Programme leicht um fehlende Funktionen durch eigene Programmierung ergänzt und somit auch veränderten Anforderungen gerecht werden. Ebenso können völlig neue, gewinnbringende Funktionalitäten problemlos integriert werden. Damit ist man bei OS nicht mehr an die Vorgaben bestimmter Unternehmen und deren Software- Features gebunden. Ganz anders bei kommerziellen Produkten, wo der Quellcode zurückbehalten wird oder die Softwarearchitektur Erweiterungen - wenn überhaupt - nur mit größerem Aufwand zulässt.

Sicherheitsargument
Ein häufiger Einwand gegen OS-Software besagt, dass bei offenem Quellcode das Sicherheitsrisiko wachse, weil damit Schwächen der Software bekannt sind. Zumindest nach heutigem Erfahrungsstand hat sich diese Befürchtung nicht materialisiert. Ganz im Gegenteil, durch die Vielzahl von Entwicklern, die an der Software arbeiten und den Quellcode auf Sicherheitslücken prüfen, werden vorhandene Fehler schneller entdeckt und bestehende Sicherheitslücken alsbald geschlossen. Dies belegte unter anderem im Jahre 2003 eine Studie des MITRE und des US-Verteidigungsministeriums (Mitre 2002).

Kompetente Unterstützung durch die OS-Community
Bei Verwendung von OS-Software steht ein umfangreiches, weltweites Angebot an Unterstützung durch andere Anwender und Entwickler zur Verfügung. Die meisten großen OS-Projekte  verfügen über Fehlerdatenbanken, FAQ-Seiten, Mailinglisten und Foren, in denen Neuerungen und Probleme angesprochen und diskutiert werden. Wenn ein Entwickler eine konkrete Frage hat, zum Beispiel wenn er durch die Implementierung eines vorhandenen oder eines eigens entwickelten Moduls eine OS-Software an seine spezifischen Anforderungen anpassen möchte, so kann er sein Problem in einem entsprechenden Forum publizieren. Innerhalb kürzester Zeit ist dann mit der Unterstützung seitens anderer Entwickler zu rechnen. Dieser Umstand verkürzt die notwendige Entwicklungszeit erheblich.

3.2 Nachteile von OS-Software
Gewährleistung und Wartung
Gegenüber konventionellen Produkten ist OS-Software insofern im Nachteil, dass hinsichtlich Wartung und Gewährleistung rechtliche Ansprüche meist völlig ausgeschlossen sind. Dies scheint auf den ersten Blick ein schwerwiegender Nachteil, bei genauerer Betrachtung allerdings bieten sich dem Anwender von OS-Software jedoch durchaus vielfältige Möglichkeiten zur Fehlerkorrektur und zur Anpassung der Software an die eigenen spezifischen Ansprüche, auch wenn hierauf keinerlei rechtlicher Anspruch gegenüber irgendeiner Seite besteht. Wie im letzten Abschnitt beschrieben, sind Fehlerkorrekturen und Anpassungswünsche meist sehr schnell und qualitativ hochwertig über öffentliche Diskussionsforen zu erreichen, weil eine große Anzahl von Anwendern und Entwicklern gemeinsam an der Lösung der Softwareprobleme arbeiten können. Das Risiko fehlender Gewährleistung fällt daher faktisch nur dort ins Gewicht, wo die Entwicklergemeinde eher klein ist.

Copyright- und Patentrecht-Risiko
Weitere Risiken beim Einsatz von OS-Software ergeben sich im Hinblick auf Rechte Dritter an der Software oder an Teilen hiervon. Ist der Quellcode des OS-Produktes ganz oder partiell  zugunsten Dritter geschützt, weil die ihre Softwareentwicklungen nicht zu OS-Software erklärt haben, kann der Einsatz ohne entsprechende Lizenz als Rechtsverletzung eingestuft werden. Die Tatsache, dass oft unbegrenzt viele Entwickler an der Weiterentwicklung eines Programms beteiligt sind, macht es praktisch unmöglich, jeden Teil des Codes auf eventuelle Urheberrechtsverletzungen hin zu überprüfen. Theoretisch könnte dann der Lizenznehmer einer OS-Software von einem geschädigten Eigentümer der Urheberrechte in Regress genommen werden (Erbert & Ruffm 2004) oder zumindest gezwungen werden, die Software nicht weiter unverändert zu verwenden. Gegebenenfalls muss der beanstandete Code abgeändert oder ersetzt werden, was mit einem erhöhten Aufwand verbunden wäre.

Der Rechtsschutz für Software folgt gegenwärtig aus dem Urheberrecht. Seit einiger Zeit gibt es Bestrebungen dahingehend, dass in Zukunft Software auch patentrechtlich geschützt werden kann, was das OS-Konzept insgesamt gefährden könnte (Blind et al. 2003). In Japan und den USA ist die Patentierbarkeit  von Software bereits Realität. In Europa wird die Ausdehnung des Patentrechts auf Software gegenwärtig noch heftig diskutiert, denn die Einfuhrung der Patentfähigkeit von Software würde kommerziellen Anbietern ein breites juristisches Feld eröffnen, um Klagen gegen OS-Software zu führen, wenn diese OS-Software Bestandteile enthielte, die vom klagenden Anbieter vorher patentiert wurde. Da der Quellcode von OS immer offen verfügbar ist, wäre der Nachweis der Patentverletzung besonders leicht möglich. Andererseits wäre jeder OS-Entwickler ständig in Gefahr, unbeabsichtigt Patentverletzungen zu begehen, da es kaum möglich ist, eine umfassende Patentrecherche durchzuführen (Brügge 2004). Falls es tatsächlich zur gesetzlichen Neuregelung des Patentrechts innerhalb der EU in der Form kommen sollte, dass generell Patente auf Software erteilt werden könnten, würde sich das Risiko für OS-Entwickler und -Anwender, gegen Rechte Dritter zu verstoßen, signifikant erhöhen (Pfuhl 2004). Denn anders als beim Urheberrecht würde das Softwarepatent Ideen und Grundsätze schützen, nicht nur den konkreten Code. Ein gutes Beispiel für die gegenwärtige Rechtsunsicherheit stellt ein Projekt der Stadt München dar. Das Linux-Migrationsprojekt der Stadt München wurde vorübergehend gestoppt, weil die Stadt patentrechtliche Probleme beim Einsatz von Linux befürchtete. Ein Rechtsgutachten hat vorerst ergeben, dass München wohl keinerlei Risiken zu befürchten hat (Heise-Online 2004).

Begrenztes Angebot
Für viele Anwendungsfelder ist noch gar keine oder nur sehr unausgereifte OS-Software vorhanden. Dies gilt zum Beispiel für die Bereiche Customer Relationship Management, Supply Chain Management, Enterprise Relationship Management oder andere spezifische Branchensoftware (Gläser 2004). Dieses lückenhafte Angebot kann ein erheblicher Nachteil für die betroffenen Anwendungs-Gebiete darstellen.

Weiterlesen:

2. Teil: Auswahlkriterien bei Open-Source Software

3. Teil: Das Open-Source CMS TYPO3