Die Erstellung, Einrichtung, und Betreuung von Websites war in der Vergangenheit nur mit Spezialwissen zu bewältigen und dementsprechend teuer auf dem Markt zu haben. Zum einen wurden hohe Beträge für den Kauf spezieller Software aufgewendet und zum anderen mussten Spezialisten engagiert werden, die die Installation, Administration und Pflege übernahmen. Diesen Aufwand konnten und wollten sich viele Betreiber von Websites nicht leisten. Zudem waren die Unternehmen bei der Gestaltung und Aktualisierung der Webinhalte von Fachkräften in der Weise abhängig, dass sie auf die Verfügbarkeit dieser angewiesen waren.
In der jüngeren Vergangenheit sind mit dem Aufkommen der Open Source-Gemeinde die notwendigen Softwareprodukte (von denen einige im Verlauf dieser Arbeit vorgestellt werden) zu günstigen Preisen, wenn nicht sogar umsonst (inklusive ausführlicher Installations- und Softwareanleitungen) im Internet zu beziehen. Außerdem finden sich dort die Grundzüge der Open Source-Bestimmungen (Lizenzen), auf dessen Grundlage diese Programme entwickelt, vertrieben und genutzt werden können.
Des Weiteren gibt es zahlreiche Literatur zu dem Themengebiet „Open Source Software“ (deren hochrangigsten Vertreter sind: Linux, Apache, PHP, MySQL) wie das Literaturverzeichnis am Ende dieser Arbeit dokumentiert. Nicht zuletzt hat das Internet (mit seinen Diensten: www, ftp, mailto, usenet news) dafür gesorgt, dass aus Ideen und anfänglichen Programmcodes ausgewachsene und meist „brauchbare“ Software entstanden ist. Eine Folge war, dass sich kommerzielle Anbieter mit einer neuen Preispolitik im Markt positionieren mussten. Zusätzlich ermöglicht sie jedem, der Interesse an der Erstellung von Websites hat, dies kostengünstig (abgesehen von dem Downloadaufwand der Software, die meist mehrere MB groß ist) mit „fast“ professionellen Hilfsmitteln zu erstellen.
Inhaltsverzeichnis
Danksagung
Abkürzungsverzeichnis
Abbildungsverzeichnis
Tabellen- und Symbolenverzeichnis
1 Grundlagen
1.1 Problemstellung und Zielsetzung
1.2 Aufbau der Arbeit
1.3 Begrifflichkeiten
1.3.1 World Wide Web (WWW)
1.3.2 Website
1.3.3 Dynamische vs. Statische Webseiten
1.3.3.1 Statische Webseiten
1.3.3.2 Dynamische Webseiten
1.3.3.3 Anwendungsbeispiele
1.3.4 Software
1.3.4.1 Typologisierung von Software
1.3.4.2 Aufwendungen
1.3.4.3 Sicherheit
1.3.5 Open-Source-Software
1.3.5.1 Open Source - Lizenzmodelle
1.3.5.2 Stärken und Schwächen von Open-Source-Software
1.3.5.3 Einsatzbereiche/Ausgewählte Open-Source-Projekte
1.3.6 Erstellung
2 Konfigurierung des Anwendungssystems
2.1 Betriebssystem (Windows und Linux)
2.1.1 Öffentlicher Server (Praxiseinsatz)
2.1.2 Testserver (Erstellungsumgebung)
2.2 Webserver (Apache)
2.2.1 Entwicklung des Apache
2.2.2 Lizenzbestimmungen
2.2.3 Funktionsweise des Apache
2.2.4 Leistungsmerkmale des Apache
2.2.5 Stärken und Schwächen des Apache
2.3 Webservererweiterung (PHP)
2.3.1 Webseitenerzeugung mittels CGI-Skript und Servererweiterung
2.3.2 Entwicklung von PHP
2.3.3 Lizenzbestimmungen
2.3.4 Funktionsweise von PHP
2.3.5 Leistungsmerkmale des PHP
2.3.6 Stärken von PHP
2.4 Datenbankserver (MySQL)
2.4.1 Aufbau eines Datenbanksystems
2.4.2 Relationales Datenmodell
2.4.3 Entwicklung von MySQL
2.4.4 Lizenzbestimmungen
2.4.5 Funktionsweise von MySQL
2.4.6 Stärken und Schwächen von MySQL
2.4.7 Komponenten der MySQL-Distribution
2.4.8 Benutzeroberflächen für MySQL
2.4.8.1 mysql (MySQL-Monitor)
2.4.8.2 W inMy S QLadmin
2.4.8.3 MySQL Control Center (MySQLCC)
2.4.8.4 phpMyAdmin
2.5 Hilfsmittel zur Webseitenerstellung
2.5.1 HTML-Editoren
2.5.1.1 WYSIWYG-Editoren
2.5.1.2 HTML-Texteditoren
2.5.2 Web-Browser
2.5.3 Grafikprogramme
2.5.4 Sonstige Tools
3 Architektur des Anwendungssystems
3.1 Integration von OSS in das Betriebssystem Win2000 Pro
3.2 Kompatibilität der OSS-Elemente
4 Zusammenstellung des Anwendungssystems
4.1 Systemvoraussetzungen
4.2 Implementierung des Apache Webservers
4.2.1 Vorbereitung
4.2.1.1 Voraussetzung für den Betrieb des Webservers
4.2.1.2 Binäry vs. Sourcecode
4.2.1.3 Beschaffung der Software
4.2.2 Installation des Apache
4.2.3 Funktionstest
4.2.4 Starten, Stoppen und Neustarten des Webservers
4.2.5 Konfiguration des Servers
4.2.5.1 Authentifizierung
4.2.5.2 Apache-Konfiguration testen
4.3 Implementierung von PHP Modul
4.3.1 Beschaffung der Software
4.3.2 Installation von PHP
4.3.3 Funktionstest
4.3.4 Konfiguration von PHP
4.4 Implementierung von MySQL-Datenbankserver
4.4.1 Beschaffung der Software
4.4.2 Installation von MySQL
4.4.3 Administration mit W inMy S QLadmin
4.4.4 Starten und Stoppen des MySQL-Servers/ Einrichtung als Dienst
4.4.5 Funktionstest
4.4.6 Konfiguration des MySQL-Servers
4.4.7 Administration mit phpMyAdmin
4.4.7.1 Beschaffung der Software und Installation
4.4.7.2 Funktionstest
4.4.7.3 Konfiguration von phpMyAdmin
4.4.7.4 Benutzerverwaltung
5 Fallstudie
5.1 Struktur der Website
5.2 Seitenlayout
5.2.1 Trennung von Layout und Inhalt
5.2.2 Die Hauptnavigation
5.3 S eiteninhalte
5.3.1 Formulare: Interaktivität der Website
5.3.1.1 F ormularelemente
5.3.1.2 HTML-Formulare erstellen/Formularelemente einfügen
5.3.1.3 Parameterübergabe mit POST und GET
5.3.1.4 Formularauswertung mit PHP
5.3.2 Sessionmanagement
5.3.2.1 Sessions mit URI
5.3.2.2 Sessions mit versteckten Feldern
5.3.2.3 Nutzung von Cookies
5.3.2.4 Textdateien und Datenbanken
5.3.3 Mailen mit PHP: Kontaktformulare
5.3.4 Arbeit mit Dateien: Besucherzähler
5.3.5 Cookies: Besucher wiedererkennen
5.3.5.1 Cookies setzen mit PHP
5.3.5.2 Persönliche Begrüßung
5.3.5.3 Web-Umfrage
5.3.6 Datenbankgestütztes News-System
5.3.6.1 Datenbank und Tabelle anlegen
5.3.6.2 Speicherung von Binärdateien
5.3.6.3 Tabellendaten einfügen, anzeigen und ändern
5.3.6.4 Die „öffentliche“ Newsseite
5.3.6.5 Administration des News-Systems
5.3.7 Weitere praktische Anwendungen
5.4 Sicherheitskopien erstellen
6 Nutzwertanalyse
7 Literaturverzeichnis
7.1 Fachbücher und Printmedien
7.2 Elektronische Medien
Glossar
Anhang
Danksagung
Diese Gelegenheit möchte ich wahmehmen, um mich bei allen Personen zu bedanken, die mich bei der Erstellung dieser Arbeit unterstützt haben.
An erster Stelle danke ich meinen lieben Eltern, die mir während des gesamten Studiums geholfen haben. Für ihr enormes Engagement möchte ich ihnen hiermit ganz herzlich danken.
Ein großer Dank gilt meinen wissenschaftlichen Betreuern Herrn Prof. Dr. Otto K. Amon und Herrn Prof. Dr.-Ing. Werner Müller, die mir mit konzeptionellen Anregungen und fachlichen Ratschlägen jederzeit zur Seite standen.
Besonders möchte ich mich auch bei Nico Laudor bedanken, der mich bei der Verwirklichung tatkräftig und moralisch unterstützt hat. Für seinen unermüdlichen Einsatz gebührt ihm ein großes Dankeschön.
Natalia Fahrenbruch
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
Abbildungsverzeichnis
Abb. 1: Gliederungsschema für Begrifflichkeiten
Abb. 2: Kommunikationsschema für statische Webseiten
Abb. 3: Kommunikationsschema für Dynamische Webseiten
Abb. 4: Beispiel für eine statische Webseite
Abb. 5: Beispiel für eine Dynamische Website
Abb. 6: Klassifizierung von Software
Abb. 7: Beispiele für Anwendungssoftware
Abb. 8: Die aktuellen Software-Kategorien
Abb. 9: Die wesentlichen Kriterien der aktuellen Software-Kategorien
Abb. 10: Lebenszyklus der Software u. die dabei entstehenden Aufwendungen..
Abb. 11: Vor- und Nachteile von Open-Source-Software
Abb. 12: Erstellungsphasen
Abb. 13: Marktdurchdringung der Webserver (August 1995- Mai 2003)
Abb. 14: Das "Powered by Apache"-Logo
Abb. 15: Interaktion von APR und Betriebssystem aus Sicht eines Entwicklers . 46
Abb. 16: Funktionsweise des durch mpm_winnt implementierten Laufzeitverhaltens
Abb. 17: Webseitenerzeugung mittels CGI-Skript
Abb. 18: Verbreitung von PHP
Abb. 19: Das offizielle "PHP"-Logo
Abb. 20: Entstehung einer Dynamischen Webseite mit PHP
Abb. 21: Aufbau eines Datenbanksystems
Abb. 22: Darstellung der Tabelle "autor"
Abb. 23: Beispiel eines Relationenmodells
Abb. 24: Das offizielle "MySQL"-Logo
Abb. 25: Datenbank-Client-Server-Architektur
Abb. 26: Multithreading
Abb. 27: Komponenten des Softwarepaketes MySQL
Abb. 28: Das offizielle "phpMyAdmin"-Logo
Abb. 29: phpMyAdmin-Startseite
Abb. 30: phpMyAdmin-Datenbankansicht
Abb. 31: phpMyAdmin-Tabellenansicht
Abb. 32: Syntax-Highlightings für verschiedene Sprachen
Abb. 33: Das "Weaverslave"-Logo
Abb. 34: "The Gimp"-Logo
Abb. 35: Architektur des Anwendungssystems
Abb. 36: Marktdurchdringug des PHP Moduls
Abb. 37: Erfolgreicher Kontakt zu dem lokalen Rechner mit Ping-Befehl
Abb. 38: Die Fehlermeldung des Windows-Installers
Abb. 39: Start der Apache 2-Installation
Abb. 40: Grundlegende Servereinstellungen
Abb. 41: Feature-Auswahl bei der benutzerdefinierten Installation
Abb. 42: Änderung des Apache-Installationsverzeichnisses
Abb. 43: Apache-Icon im System-Tray
Abb. 44: Verzeichnisbaum der Apache-Installation
Abb. 45: Startseite nach erfolgreicher Apache-Installation
Abb. 46: Die Einstellungen für den Einsatz des Internet Explorer 5.5
Abb. 47: access.log
Abb. 48: Überprüfung der Log-Dateien
Abb. 49: Allgemeine Optionen der Dienst-Steuerung
Abb. 50: So wird der Apache Monotor gestartet
Abb. 51: Apache-Icon mit möglichen Aktionen zur Schnellsteuerung
Abb. 52: Zentrale Steuerung des Apache-Monitors
Abb. 53: Der Apache Service Monitor
Abb. 54: Steuerung des Apache Servers über das Konsolenfenster
Abb. 55: Laufzeitverhalten des Servers nach Einschalten der KeepAlive-Funktionalität
Abb. 56: Dynamisches Verzeichnislisting bei fehlender Indexdatei
Abb. 57: Fehlermeldung bei fehlender Indexes-Angabe
Abb. 58: Eingabemaske zum Einloggen im Administrationsbereich
Abb. 59: Eintrag im Startmenü zum Testen der httpd.conf
Abb. 60: Überprüfung der Syntax
Abb. 61: Basisverzeichnis der PHP-Installation
Abb. 62: Ausgabe des "phptesť'-Skripts im Browserfenster nach erfolgreicher Installation
Abb. 63: phpinfo()-Statusbericht
Abb. 64: Start der MySQL-Installation
Abb. 65: Hinweis bei Änderung des Installationsverzeichnisses
Abb. 66: Auswahl der Komponenten bei der benutzerdefinierten Installation...
Abb. 67: Verzeichnisstruktur der MySQL-Installation
Abb. 68: Eingabemaske beim ersten Start von WinMySQLadmin
Abb. 69: WinMySQLadmin als Ampel-Icon im System-Tray
Abb. 70: Benutzeroberfläche von WinMySQLadmin
Abb. 71: WIN NT-Menüeinträge im WinMySQLadmin-Icon
Abb. 72: So wird WinMySQLadmin gestartet
Abb. 73: Sicherheitsabfrage zum Herunterfahren des MySQL-Servers
Abb. 74: MySQL-Service starten/MySQL-Server als Dienst einrichten
Abb. 75: MySQL als Windows-Dienst (de)installieren, starten und stoppen
Abb. 76: Steuerung des MySQL-Dienstes über Windows-Dienst-Manager
Abb. 77: MySQL-Server als Standalone-Programm starten
Abb. 78: Test der MySQL-Installation
Abb. 79: my.ini-Datei in WinMySQLadmin editieren
Abb. 80: Ein Ausschnitt aus der Datei config.inc.php
Abb. 81: Die Startseite von phpMyAdmin nach erfolgreicher Installation
Abb. 82: Anonymen Benutzer entfernen
Abb. 83: Neuen Benutzer in MySQL anlegen
Abb. 84: Der neue Benutzer mit eingeschränkten Rechten in der Tabelle "user"
Abb. 85: Die Ordnerstruktur der Website kinder Überraschung Eis
Abb. 86: Das Rohlayout in der Entwurfsansicht von Macromedia DWMX
Abb. 87: Eine einfache Tabelle mit zwei Zeilen und vier Zellen (Spalten)
Abb. 88: Ein Ausschnitt des zerlegten Layouts in der Code- u. Entwurfsansicht
Abb. 89: Das Layout in zerlegter Form
Abb. 90: Zwischenstand: Layoutvorlage mit korrigierten Links in header.inc...
Abb. 91: Die Hauptnavigation in der Datei footer.inc im Quelltext
Abb. 92: Ein Rollover-Bild mittels DWMX erzeugen
Abb. 93: Die Menüleiste Ü-Eis ist aktiviert
Abb. 94: Die Registerkarte "Formulare"
Abb. 95: Der Eigenschaften-Inspektor in der Ansicht "Formulare"
Abb. 96: Das Demonstrationsformular m. den wichtigsten Formularelementen
Abb. 97: Parameterübergabe mit GET
Abb. 98: Fehlermeldung bei Reload einer durch POST übergebenen Seite
Abb. 99: Auswertung der Eingaben des Demonstrationsformulars
Abb. 100: Das Kontakt-Formular
Abb. 101: Rückmeldung bei freigelassenen Eingabefeldern
Abb. 102: Das unvollständig ausgefüllte Formular
Abb. 103: Sendebestätigung mit einem Dankeswort
Abb. 104: Die automatisch generierte E-Mail aus dem Kontakt-Formular in Outlook Express
Abb. 105: Der grafische Counter
Abb. 106: Die "Willkommen"-Seite mit dem Formular zur Abfrage des Benutzernamens
Abb. 107: Persönliche Begrüßung mit Cookie realisiert
Abb. 108: Das Umfrage-Formular: Verhindern von Mehrfachabstimmung
Abb. 109: Umfrageergebnisse: Grafische Auswertung
Abb. 110: Ein Popup-Fenster mit den Umfrageergebnissen
Abb. 111: Neue Datenbank anlegen
Abb. 112: Neue Tabelle anlegen
Abb. 113: Die Definition der Tabellenfelder inkl. der Zuordnungswerte
Abb. 114: Einen Datensatz mit phpMyAdmin einfügen
Abb. 115: Aktuelle Zeitangaben mit der SQL-Funktion now() ermitteln
Abb. 116: Die news-Tabelle mit Beispieldatensätzen in der Datenansicht
Abb. 117: Die News-Seite mit einem datenbankgestützten News-System
Abb. 118: Eine Meldung m. "langem" Text u. dem Verweis auf die Detailseite 233
Abb. 119: Newsseite m. der Möglichkeit, ZURÜCK und WEITER zu blättern. 236
Abb. 120: Ein HTML-Dokument (m. mehreren Grafiken) dynamisch anzeigen
Abb. 121: Grafikdateien dynamisch anzeigen
Abb. 122: Sprungmenü zum Navigieren zwischen übrigen Detailseiten
Abb. 123: Die Begrüßungsseite im Administrationsbereich
Abb. 124: Schematische Darstellung der Abläufe im Administrationsbereich des News-Systems
Abb. 125: Das Skript news_list.php in Aktion
Abb. 126: Das Formular zum Aufnehmen neuer Meldungen
Abb. 127: Das Formular zum Bearbeiten vorhandener Meldungen
Abb. 128: Die Startseite der Rubrik "POESIEALBUM"
Abb. 129: Formular zum Eintrag ins Gästebuch
Abb. 130: Ein Popup-Fenster mit der Anleitung zum Dateiupload
Abb. 131: Gästebuch-Einträge, mit der Möglichkeit, ZURÜCK und WEITER zublättern
Abb. 132: Rückmeldung auf die fehlenden Formular-Eingaben
Abb. 133: Die automatisch generierte E-Mail in Outlook Express
Abb. 134: Das Gewinnspiel-Formular
Abb. 135: Die automatisch generierte E-Mail aus dem Gewinnspiel-Formular in Outlook Express
Abb. 136: Farbwahl individuell: Der Besucher wählt seine Farbe selbst!
Abb. 137: Administration des Gästebuchs
Abb. 138: Eine Sicherheitskopie der Datenbank "eis" erstellen
Tabellen- und Symbolenverzeichnis
Tab. 1: Übersicht der verschiedenen Lizenzmodelle
Tab. 2: Lizenzgebühren für MySQL-Server
Tab. 3: WYSIWYG-Editoren im Überblick
Tab. 4: Übersicht der gängigsten Webbrowser
Tab. 5: Aktuelle Preise der proprietären Bildbearbeitungsprogramme
Tab. 6: Marktdurchdringung der Apache-Module
Tab. 7: Beschreibung der Apache-Distribution
Tab. 8: "Globale Umgebung"
Tab. 9: "Hauptserver-Konfiguration"
Tab. 10: Allgemeine Parameter der php.ini
Tab. 11: Modulspezifische Parameter der php.ini
Tab. 12: Die wichtigsten ausführbaren Programme in MySQL
Tab. 13: Die wichtigsten Einstellungen der my.ini
Tab. 14: Die wichtigsten Einstellungen der Datei config.inc.php
Tab. 15: Zugriffsrechte des Benutzers von MySQL
Tab. 16: Beschreibung der Formularelemente
Tab. 17: Nutzwertanalyse
Abbildung in dieser Leseprobe nicht enthalten
1 Grundlagen
1.1 Problemstellung und Zielsetzung
Die Erstellung, Einrichtung, und Betreuung von Websites war in der Vergangenheit nur mit Spezialwissen zu bewältigen und dementsprechend teuer auf dem Markt zu haben. Zum einen wurden hohe Beträge für den Kauf spezieller Software aufgewendet und zum anderen mussten Spezialisten engagiert werden, die die Installation, Administration und Pflege übernahmen. Diesen Aufwand konnten und wollten sich viele Betreiber von Websites nicht leisten. Zudem waren die Unternehmen bei der Gestaltung und Aktualisierung der Webinhalte von Fachkräften in der Weise abhängig, dass sie auf die Verfügbarkeit dieser angewiesen waren.
In der jüngeren Vergangenheit sind mit dem Aufkommen der Open SourceGemeinde die notwendigen Softwareprodukte (von denen einige im Verlauf dieser Arbeit vorgestellt werden) zu günstigen Preisen, wenn nicht sogar umsonst (inklusive ausführlicher Installations- und Softwareanleitungen) im Internet zu beziehen. Außerdem finden sich dort die Grundzüge der Open SourceBestimmungen (Lizenzen), auf dessen Grundlage diese Programme entwickelt, vertrieben und genutzt werden können.
Des Weiteren gibt es zahlreiche Literatur zu dem Themengebiet „Open Source Software“ (deren hochrangigsten Vertreter sind: Linux, Apache, PHP, MySQL) wie das Literaturverzeichnis am Ende dieser Arbeit dokumentiert.
Nicht zuletzt hat das Internet (mit seinen Diensten: www, ftp, mailto, usenet news) dafür gesorgt, dass aus Ideen und anfänglichen Programmcodes ausgewachsene und meist „brauchbare“ Software entstanden ist. Eine Folge war, dass sich kommerzielle Anbieter mit einer neuen Preispolitik im Markt positionieren mussten. Zusätzlich ermöglicht sie jedem, der Interesse an der Erstellung von Websites hat, dies kostengünstig (abgesehen von dem Downloadaufwand der Software, die meist mehrere MB groß ist) mit „fast“ professionellen Hilfsmitteln zu erstellen.
Mit der Entwicklung neuer Technologien zur einfachen Gestaltung und Anbindung an Datenbanken von Websites ist es mehr und mehr möglich die Wartung des Webauftritts in die eigenen Hände zu nehmen. Die Bestrebung von WebsiteBetreibern, dynamische Inhalte anzubieten, scheitert oft an dem damit verbundenen Aufwand. Die Verwendung von Open Source Software bietet jedoch ein angemessenes Preis-Leistungsverhältnis. „Eines der signifikanten Vorteile bei der Nutzung von Open Source Software ist das Fehlen jeglicher Anschaffungskosten. Insbesondere der Mittelstand, der durchschnittlich 20 bis 80 EDV-Arbeitsplätze samt der notwendigen Infrastruktur unterhalten muss, profitiert von der lizenzkostenfreien Alternative. Je EDV-Arbeitsplatz können jährlich im Durchschnitt 1.000 bis 2.500 Euro alleine an Update- und Lizenzgebühren gespart werden. Durch die Einführung von Open Source Software lassen sich weiterhin die Kosten für Anschaffungen und Inbetriebnahme um mehr als 50% verringern.“1
Die Erstellung einer Webpräsenz kann in vielen Fällen direkt im Anschluss an die Registrierung der gewünschten Internetadresse erfolgen. Vor der Veröffentlichung sollte jedoch das mit den Open Source Software-Elementen (Apache, PHP und MySQL) zusammengestellte System auf einer internen Anwendungsumgebung getestet werden.
Die Internet Service Provider haben sich auf die entsprechenden Technologien eingestellt und bieten verschiedene Konfigurationsmöglichkeiten an. Unter anderem kann darunter auch die Verwendung von PHP-Skripten auf den Webservern der Internet Service Provider erlaubt sein.
Ziel dieser Arbeit ist es, den Aufbau eines Anwendungssystems zu beschreiben, dass die Erstellung von Dynamischen Websites unterstützt. Dabei wird darauf geachtet, dass es sich ausschließlich um Open Source Software-Elemente handelt, die frei im Internet zugänglich und kostenlos erhältlich sind.
1.2 Aufbau der Arbeit
Zu Beginn der Arbeit werden die Problemstellung und die Zielsetzung definiert sowie relevante Begrifflichkeiten erläutert.
Daraufhin folgt eine Vorstellung der in dieser Arbeit verwendeten Open-Source- Software. Außerdem werden im zweiten Kapitel Hilfsmittel zur Webseitenerstellung beschrieben.
Das dritte Kapitel beschäftigt sich mit der Darstellung der Beziehungen unter den Open-Source-Software-Elementen.
Im vierten Kapitel wird auf die Implementierung der Software und insbesondere auf die Installation und Konfiguration der Programme eingegangen.
Im fünften Kapitel wird die Funktionalität des Anwendungssystems im Rahmen einer Fallstudie für ein fiktives „kinder Überraschung Eis“ getestet.
Das sechste Kapitel beinhaltet die abschließende Bewertung des Systems und die Darstellung der Ergebnisse in einer Nutzwertanalyse.
1.3 Begrifflichkeiten
Die Begriffe werden nach folgendem Schema in den Untergliederungspunkten definiert (s. Abb. 1):
Abbildung in dieser Leseprobe nicht enthalten
Abb. 1: Gliederungsschema für Begrifflichkeiten
1.3.1 World Wide Web (WWW)
Im allgemeinen Sprachgebrauch werden die Begriffe WWW und Internet fälschlicherweise synonym verwendet. „Als Internet wird die Einheit aller Personen, Firmen, Organisationen verstanden, die sich unter Einhaltung bestimmter Standards und Normen zusammenschließen. Das können auf der einen Seite Informationsanbieter (die Server) sein, auf der anderen Seite gehören auch alle Informationsnutzer (die Surfer [bzw. Clients]) dazu.“2 Das Internet trägt den Beinahmen „Netz der Netze“, „das weltweit andere Netze verbindet und mittels verschiedener Protokolle eine Reihe von Anwendungsdiensten, vor allem das World Wide Web [...], zur Verfügung stellt.“3
Die anwendungsnahen Dienste im Internet basieren auf standardisierten Protokollen, die zwischen Client und Server verwendet werden. Im Wesentlichen handelt es sich dabei um
- World Wide Web: Hypertext Transfer Protocol (^-HTTP, S. 283),
- File Transfer: File Transfer Protocol (^FTP, S. 282),
- E-Mail: Simple Mail Transfer Protocol (^-SMTP, S. 288),
- Usenet News: Network News Transfer Protocol (NNTP) und
- Terminal Emulation: Telnet Protocol (Telnet).
Das Standardisierungsgremium IETF (Internet Engineering Task Force) steuert und überwacht die Weiterentwicklung der im Internet verwendeten Protokolle. Entwurf und Veröffentlichung der Standards erfolgt in Form von RFC4 im Internet.
Viele der Kernprotokolle sind seit der Frühzeit des Internets weitgehend unverändert im Einsatz (z.B. Telnet seit 1972, FTP seit 1973, SMTP seit 1982). Die Aufmerksamkeit, die das Internet in den letzten Jahren in der Öffentlichkeit und in der Wirtschaft erfahren hat, ist in erster Linie auf das World Wide Web zurückzuführen.5
Der Begriff World Wide Web (auch als WWW, W3 oder kurz Web bezeichnet) wurde 1989 von Tim Berners-Lee geprägt. Das ursprüngliche Ziel war die Verknüpfung der auf verschiedenen Computersystemen vorhandenen Informationen6 (vor allem wissenschaftliche Texte) zu einem großen Informationssystem. Dadurch sollten die Informationsflüsse zwischen den Mitarbeitern verbessert und beschleunigt werden. Berners Lee entwickelte und kombinierte als Basis des Web drei einfache Protokolle/Spezifikationen7:
- Für die Adressierung einer Ressource8: URI (Uniform Resource Identifier)
- Für die Übertragung einer Ressource: HTTP (Hypertext Transfer Protocol)
- Für die Darstellung einer Ressource: HTML (Hypertext Markup Language)
Die erste Version der Web-Spezifikation wurde 1991 vom CERN (Abk. für: Conseil Européen pour la Recherche Nucléaire, europäisches Forschungszentrum für Teilchenphysik, http://www.cern.ch) freigegeben.9
Die Weiterentwicklung und Standardisierung des Web wird vom World Wide Web Consortium (^W3C, http://www.w3.org, S. 290) koordiniert. Dieses unabhängige Gremium wird von Industrie und Wissenschaft getragen und von vielen Staaten unterstützt.10
Das zentrale Element des Web ist das multimediale Dokument (Webseite, S. 6), das verschiedene Medien wie Texte, Bilder, Audio- und Videodaten integriert und die weiteren Dokumente (auch anderer Rechner) im Internet über Querverweise (Links) verknüpft (Hypertext-Prinzip). Die Eingangsseite zu einem mehrere Seiten umfassenden Informationsangebot wird als Homepage bezeichnet.
Das Web basiert auf dem Client-Server-Modell. Die grafische Aufbereitung von Webseiten erfolgt auf der Client-Seite vorwiegend in sog. Webbrowsern (S. 90), die das Blättern und Navigieren durch verknüpfte Dokumente ermöglichen.
Eine Webseite wird auf Anfrage des Webbrowsers von einem Webserver geliefert. Die Kommunikation zwischen Webbrowser und Webserver wird durch das HTTP geregelt. (Weitere Informationen zu HTTP: siehe Anhang B).
Jede Webseite und jede andere Ressource wird über eine eindeutige Adresse in Form der URL definiert, bspw. http://www.wi.fh-koeln.de/bwl/orga/ (Weitere Informationen zu URL: siehe Anhang A).
Die Seitenbeschreibungssprache HTML ist der Standard für die Darstellung der Informationen einer Webseite. Mit Hilfe vordefinierter Markierungen (Tags) können die Inhalte einer Webseite (Texte, Bilder usw.) angeordnet und formatiert werden. (Weitere Informationen zu HTML: siehe Anhang C).
1.3.2 Website
Unter einer Website (auch Webpräsenz, -auftritt oder einfach Site genannt) wird ein virtueller Ort im Web verstanden, an dem ein oder mehrere zusammengehörige HTML-Dokumente, sog. (Web-)Seiten zu finden sind, die durch eine einheitliche Navigation zusammengefasst und durch Hyperlinks miteinander vernetzt werden. Diesem Ort wird durch die URL eine eindeutige Adresse im Netz zugewiesen, die ihn von allen anderen Sites unterscheidbar macht und den gezielten Zugriff erlaubt.11 Außer der URL-Adresse sind keine weiteren Informationen notwendig, um auf die damit bezeichnete Ressource im Netz zugreifen zu können.12
Die Homepage13 (die „Startseite“ eines Webauftritts) dient als Eingangsseite in ein solches Netz. Sie stellt die gesamte Website in einen thematischen Kontext und ermöglicht die Navigation durch dessen Teilinhalte. Von ihr aus wird der Besucher durch die Website interaktiv geführt. Dadurch wird die Homepage zum zentralen Orientierungspunkt einer Website und trägt wesentlich dazu bei, diese als eigenständige Einheit im Web zu identifizieren.
1.3.3 Dynamische vs. Statische Webseiten
1.3.3.1 Statische Webseiten
Am einfachsten werden Informationen im Web in Form von statischen Webseiten zur Verfügung gestellt. Ihr Zweck ist die Darstellung von Informationen auf der Basis eines Hypertextsystems: Die in statischen Webseiten enthaltenen Informationen werden mittels HTML-Tags formatiert und als fertige Datei auf der Festplatte des Servers abgelegt. Wird die zu dieser Datei passende URL aufgerufen, liest der Webserver die zugehörige Datei von seiner Festplatte und stellt sie dem Webbrowser ohne Änderungen zur Verfügung (s. Abb. 2).
Abbildung in dieser Leseprobe nicht enthalten14
Statische Webseiten werden per Hand erstellt, gespeichert und sind damit festgelegt. Die Informationen, die dem Besucher bei statischen Webseiten übermittelt werden, sind fest in den HTML-Dateien verankert. „Eine Trennung von Format und Inhalt ist nicht vorgesehen. Wie bei einem gedruckten Buch wird die Seite immer so angezeigt, wie sie erstellt wurde. Vorteil gegenüber einem Buch sind die Verweise auf verwandte Artikel durch Hyperlinks.“ 15 Nachteil der statischen Webseiten ist, dass jede Änderung des dargestellten Inhalts manuell bzw. über entsprechende Tools in eine HTML-Seite eingefügt werden muss, was bei häufigen Änderungen mit einem hohen Aufwand verbunden ist.
Für kleinere Websites mit einer überschaubaren Zahl an HTML-Dokumenten und seltener Aktualisierung ist das statische Verfahren ausreichend. Sobald die Zahl der Seiten wächst und die Site möglichst täglich aktualisiert werden soll, sind andere Techniken notwendig, Dynamische Verfahren, bei denen der Inhalt der Webseite, nicht die Webseite selbst ausgetauscht wird.
1.3.3.2 Dynamische Webseiten
Im Unterschied zu statischen Webseiten (die für alle Benutzer in unveränderter Form zum Abruf bereitstehen) werden Dynamische Webseiten erst dann erzeugt, wenn der Benutzer sie anfordert. Mit dynamisch sind die Inhalte der Webseite gemeint, die sich nach aktuellen Erfordernissen (wie Benutzereingaben) ändern. Diese Inhalte können aus verschiedenen externen Informationsquellen (z.B. Datenbanken) stammen. „Der Begriff Dynamische Webseiten bezeichnet nicht Webseiten mit Multimedia-Effekten, sondern solche Seiten, die - im Gegensatz zu statischen Webseiten - erst auf Anfrage eines Besuchers hin, quasi ,zur Laufzeit‘, aus einem Datenpool erstellt werden. Der Server bezieht Inhalte dynamischer Seiten (die sogenannte, dynamische Inhalte‘ oder ,Dynamic Content‘) aus einer Datenquelle wie bspw. eine MySQL-Datenbank oder eine XML[16 ]-Datei.“17
Im Gegensatz zu statischen Webseiten enthalten Dynamische Webseiten neben dem HTML-Code weitere Programmieranweisungen, die auf dem Webserver ausgeführt werden und die zurückgesendete HTML-Seite erst generieren. Die Webseite kann so individuell und zeitnah auf unterschiedliche Ereignisse, bspw. Formulareingaben, reagieren (s. Abb. 3).
Abbildung in dieser Leseprobe nicht enthalten
Abb. 3: Kommunikationsschema für Dynamische Webseiten18
Dynamische Webseiten müssen nicht zwangsläufig von einer Datenbank unterstützt werden.19 Kontaktformulare, Counter und einfache Gästebücher lassen sich bspw. ohne Datenbank erstellen. Dagegen benötigen z.B. Adressbücher, News- und Katalogsysteme i.d.R. eine Datenbank. „Heute [erlangt] die Integration von Informationssystemen in Webprojekte und der Zugriff auf Informationsressourcen in einer verteilten Umgebung eine wachsende Bedeutung. Umfragen in Webagenturen zeigen, dass heute mehr als 80 % aller Webapplikationen direkt oder indirekt mit der Webanbindung von Datenbanksystemen zu tun haben.“20 „Allen Systemen ist gemeinsam, dass Webinhalte nicht mehr statisch, sondern dynamisch erzeugt werden. Zur Verwaltung der Webinhalte werden in der Regel Datenbanken benutzt. Besonders viele Systeme setzen dabei auf kostengünstige Open- Source-Komponenten wie das Datenbanksystem MySQL, den Webserver Apache und die Scriptsprache für serverbasierte Anwendungen PHP.“21
Vorteile Dynamischer Websites
Zusammenfassend lassen sich die folgenden Vorteile Dynamischer Websites nennen22:
- Trennung von Layout und Inhalt
Da Dynamische Webseiten aus verschiedenen Informationsquellen erzeugt werden, ist eine Trennung von Layout (design) und dem Inhalt Dynamischer Webseiten (dynamic content) möglich. (Die „Rohinformationen“ sind meist strukturiert in Form von Datenbanken hinterlegt und werden z.B. mit HTML- Templates23 kombiniert, um im Webbrowser darstellbare Seiten zu erhalten.) Der Pflegeaufwand statischer Webseiten ist hoch, z.B. wenn eine Site-weite Layoutänderung durchgeführt werden soll. Bei Dynamischen Sites werden in diesem Fall nur HTML-Templates oder eine allgemeine Layout-Vorschrift (Document Type Definition, DTD24 ) geändert, und alle hiernach erzeugten Seiten verwenden diese Änderung automatisch wieder.
- Zeitnahe Erstellung der dargestellten Informationen (Aktualität)
Weil die Seiten Dynamischer Websites in kurzen Abständen oder zeitnah, d.h. „im Augenblick des Abrufes“25 erzeugt werden, stellen Sie den aktuellen Informationsstand dar.
- Interaktivität
Die zeitnahe Erzeugung der Seiten ermöglicht es, auf Nutzereingaben reagieren zu können. Dies ist für den Erfolg einer Website entscheidend, denn „dynamisch erstellte Webseiten machen erst Sinn, wenn der Nutzer damit interagieren kann.“26
Client- und serverseitige Verarbeitung Dynamischer Websites
Das Standardformat des Web ist HTML. Diese Seitenbeschreibungssprache wurde für die Präsentation von statischen Inhalten konzipiert. Die ursprünglich einzigen dynamischen Elemente waren Hyperlinks, mit denen sich andere statische Seiten und Grafiken aufrufen ließen. HTML ist nicht in der Lage, dynamische Inhalte (also Inhalte, die von Aktionen des Nutzers abhängig sind) anzuzeigen und zu verarbeiten. Um dieser Beschränkung abzuhelfen, sind Erweiterungen entwickelt worden, mit denen sich HTML-Seiten um interaktive Funktionen ergänzen lassen. „Alle HTML-Erweiterungen sind dazu gedacht, Daten und Benutzereingaben zu verarbeiten.“27
Da eine Web-Anwendung eine Client/Server-Anwendung ist, lassen sich die aktuellen Technologien nach dem Ort der Verarbeitung unterscheiden:
- Die Verarbeitung erfolgt auf dem Client, also im Webbrowser des Nutzers. JavaScript und VBScript funktionieren nach diesem Prinzip.
- Die Verarbeitung erfolgt auf dem Server. Dieses Verfahren wird u.a. von CGI (Common Gateway Interface, bspw. Perl), JSP (Java Server Pages), ASP (Active Server Pages) und PHP (PHP Hypertext Preprocessor) verwendet.
Diese Unterscheidung hat Konsequenzen: Die Verarbeitung auf dem Client setzt voraus, dass alle Ressourcen auf dem Client verfügbar sind. Da client-basierte Skriptsprachen keine Funktionen besitzen, um auf das Dateisystem oder auf eine Datenbank zuzugreifen, muss dies mit server-seitigen Skripten geschehen. Serverbasierte Erweiterungen sind i.d.R. leistungsfähiger, weil sie auf alle Ressourcen zugreifen können, die sich auf dem Server befinden. Dies ermöglicht erst die Durchführung häufig vorkommender Vorgänge wie z.B. die Suche nach bestimmten Daten, die Auswahl spezifischer Informationen oder die Übermittlung von Daten an den Server.
1.3.3.3 Anwendungsbeispiele
... für Statische Webseiten
Statische Seiten sind typisch für Webauftritte mit Plakatcharakter, bei denen keine direkte Rückkopplung zum Anbieter (Server) vorgesehen ist und deren Inhalte selten oder nicht aktualisiert werden (s. Abb. 4).
Abbildung in dieser Leseprobe nicht enthalten
Abb. 4: Beispiel für eine statische Webseite28
Private Homepages, Hilfesysteme oder Online-Dokumentationen basieren oft auf statischen Webseiten.
... für Dynamische Webseiten
Folgende Abbildung zeigt eine Website, die deutlich sichtbar mit dynamisch generierten Inhalten arbeitet.
Abbildung in dieser Leseprobe nicht enthalten29
Ein Beispiel: Der Benutzer erfasst den Namen eines Autors in einem Formular. Der Webbrowser sendet diese Daten an den Webserver, der nach den verfügbaren Buchtiteln dieses Autors in einer Datenbank sucht. Das Suchergebnis wird zu einer HTML-Seite automatisch zusammengestellt und zum Client gesendet.
Oder hat sich z.B. der Benutzer durch einen Login-Mechanismus identifiziert, werden ihm wichtige Informationen hervorgehoben, das Seitenlayout entspricht seinen optischen Vorlieben.
1.3.4 Software
Eine kennzeichnende Eigenschaft von Rechnern ist, dass sie programmierbar sind. Dies bedeutet, dass dem Rechner mitgeteilt werden muss, welche Arbeitsschritte er verrichten soll. Die Summe der Arbeitsschritte zur Verrichtung einer Aufgabe wird als Programm bezeichnet.30
Software ist „der Sammelbegriff für (Computer-)Programme“.31 Der Begriff Software bezeichnet alles, „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).“32 „Software ist strikt betrachtet nicht mit Daten identisch, da Daten keine Instruktionen enthalten und auf dem Rechner nicht ausgeführt, sondern verarbeitet werden.“33
Software wird in drei Klassen eingeteilt: Systemsoftware (Systemprogramme), Entwicklungssoftware (Entwicklungsprogramme) und Anwendungssoftware (Anwendungsprogramme) (s. Abb. 6).
„Die Systemsoftware stellt die grundlegenden Dienste für andere Programme zur Verfügung, insbesondere den Zugriff auf eine konkrete Rechnerplattform. Die zentralen Dienste der Systemsoftware werden zusammenfassend auch als Betriebssystem bezeichnet.“34
Das Betriebssystem (S. 39) ist das Bindeglied zwischen der Hard- und Software, so dass durch Treiberprogramme die Hardware erst angesprochen werden kann und der Anwender über andere Software (z.B. Anwendungsprogramme) in Interaktion mit dem Rechner treten kann. Dabei „steuert und überwacht [das Betriebssystem] die Ausführung von Anwendungsprogrammen auf der Maschinenkonfiguration (der Rechnerhardware).“35
Abbildung in dieser Leseprobe nicht enthalten
Abb. 6: Klassifizierung von Software36
„Die Entwicklungssoftware setzt auf dem Betriebssystem auf und ermöglicht die Programmierung [..] beliebiger Programme.“37 Die Entwicklungssoftware besteht aus den in der Abb. 6 genannten Komponenten. Hierbei wird häufig zwischen einer Entwicklungs- und einer Laufzeitumgebung unterschieden, wobei letztere nur für die Ausführung der entwickelten Software notwendig ist.38
Ein wichtiger Teil einer Entwicklungsumgebung ist die zugehörige Programmiersprache. „Programme werden in einer Programmiersprache entwickelt und enthalten detaillierte Anweisungen an den Rechner, wie eine bestimmte Problemstellung zu lösen ist. Die Summe aller Programmiersprachenanweisungen innerhalb eines Programms wird als [..] Quellprogramm ([..] auch Quellcode oder Quelltext, engl.: source code) bezeichnet. Es kann mittels Compiler und/oder Interpreter [...] auf einem Rechner in den Maschinencode übersetzt und ausgeführt werden.“39 Mit Hilfe der Entwicklungssoftware werden sowohl System- und Anwendungs- als auch die Entwicklungssoftware selbst erstellt.
Die Anwendungssoftware (Anwendungsprogramme, Anwendungen, Applikationen, engl.: application programm, user programm) wird zur Lösung der fachlichen Probleme der Anwender eingesetzt.40 Dazu gehören die in der Abb. 6 genannten Programme. Voraussetzung für den Einsatz der Anwendungen ist die Systemsoftware.
Bei Anwendungssoftware wird zwischen Standard- und Individualsoftware unterschieden (s. Abb. 7).
Abbildung in dieser Leseprobe nicht enthalten
Abb. 7: Beispiele für Anwendungssoftware41
Als Standardsoftware „(Standardprogramme, engl.: packaged software) werden fertige Programme bezeichnet, die auf Allgemeingültigkeit und mehrfache Nutzung hin ausgelegt sind.“42
Individualsoftware (Individualprogramme, engl.: custom software) umfasst hingegen Programme, „die entsprechend der Bedürfnisse eines einzelnen Anwenders entwickelt und nur von diesem eingesetzt“43 werden.
1.3.4.1 Typologisierung von Software
Die aktuelle Software unterteilt sich in zwei Bereiche. So gibt es zum einen Software, deren Quelltext nicht offen gelegt, d.h. für den Anwender nicht einsehbar ist (Closed Source), z.B. Adobe Photoshop und zum anderen Open-Source- Software wie The GIMP (GNU Image Manipulation Programm, S. 93), deren Programmtext allgemein zugänglich ist. Die folgende Darstellung gibt einen Überblick über die (in diese zwei Bereiche eingeteilten) Software-Kategorien, die im weiteren Verlauf der Arbeit näher beleuchtet werden.
Abbildung in dieser Leseprobe nicht enthalten
Abb. 8: Die aktuellen Software-Kategorien44
Closed Source
Das charakteristische an dieser Software ist, dass der Quellcode nicht zugänglich ist. Der Programmcode wird vor der Herausgabe kompiliert und so zu einem lauffähigen Programm übersetzt (Binary). Damit wird ein Einblick Dritter in den Quellcode erschwert, mit dem Zweck, Algorithmen und Datenstrukturen geheim zu halten.45 Im Folgenden wird auf die Software-Kategorien eingegangen, deren Quellcode nicht öffentlich ist.
Der Begriff „Closed-Source-Software“ hat sich nicht durchgesetzt. Stattdessen werden, je nach Kontext die Begriffe „proprietäre“ Software (^S. 286) und „kommerzielle“ Software verwendet.46
Der Begriff Proprietary Software ist doppeldeutig47. Zum einen ist darunter eine herstellerspezifische Software zu verstehen. Zum anderen wird damit Copyright- (urheberrechtlich-) geschützte Software bezeichnet.
Herstellerspezifisch ist die Software, die nur von einem Unternehmen entwickelt und nicht auf einer öffentlichen Plattform spezifiziert wird.48 Außerdem harmoniert diese Software aus technischer Sicht nicht mit anderen Softwarestandards und ist damit nicht portabel, d.h. auf andere Systeme übertragbar. Copyright-geschützt ist die Software, die ohne ausdrückliche Genehmigung weder kopiert noch weitergegeben werden darf.
Proprietäre Software ist i.d.R. kommerzielle Software. „Kommerzielle Software ist Software, die [...] entwickelt wird, [... um durch deren] Benutzung [... Gewinn zu erzielen]. ,Kommerziell‘ und ,proprietär‘ [.. bedeutet also] nicht das selbe! Die meiste kommerzielle Software ist proprietär, aber es gibt auch kommerzielle freie Software [z.B. Einsatz von MySQL mit einer kommerziellen Lizenz, S. 69] und es gibt nichtkommerzielle unfreie Software [z.B. Public Domain Software, S. 21].“49 Im Sinne der Free Software Foundation (FSF) ist „kommerzielle“ Software jedoch ein Gegenbegriff zu Open-Source-Software (S. 26)50.
Aus Vereinfachungsgründen werden die beiden Begriffe „reine proprietäre“ Software und „kommerzielle“ Software im Folgenden synonym verwendet.
Shareware (auch Demo- oder Testversion) ist urheberrechtlich geschützte Software und funktioniert grundsätzlich nach dem „Try and Buy“ Prinzip. Das heißt, der Autor stellt die Testversion kostenlos für einen begrenzten Zeitraum zur Verfügung (oft sind das 30 Tage). In dieser Zeit kann das Programm beliebig oft kopiert und weitergegeben werden, ist aber häufig in seinem Leistungsumfang eingeschränkt. Entspricht die Software den Erwartungen, muss zur dauerhaften Nutzung eine Registrierungsgebühr entrichtet werden. (Diese liegt i.d.R. weit unterhalb des Preises kommerzieller Software). Daraufhin wird vom Entwickler entweder die Vollversion des Programms oder der Geheimcode, der die Funktionalitäten der Vollversion aktiviert, zur Verfügung gestellt.51
Als Freeware werden frei verfügbare (kostenlose) Programme bezeichnet, die urheberrechtlich geschützt sind. Jeder darf sie kopieren und weitergeben. Im Gegensatz zur Shareware verfügen diese Programme über ihren vollen Leistungsumfang. Eine Veränderung und Weiterentwicklung des Programms ist jedoch nicht möglich, da es (wie bei den oben aufgeführten Programmen) keinen Zugriff auf den Quellcode gibt.52 Diese Software wird z.T. aus unterschiedlichen Motiven von den Autoren verschenkt. „Oft glauben die Autoren selbst nicht an den kommerziellen Erfolg Ihrer Software, oder die Freeware ist Teil einer umfassenden Marketingstrategie für kommerzielle Programme.“53 Als Beispiel für diese Strategie lässt sich NuSphere PHPEdTM (PHP-Editor) anführen, der als ursprüngliche Freeware heute ab 299.00 US-Dollar54 erworben werden kann.
Den Begriffen Freeware und Open-Source-Software (auch Free Software) ist gemeinsam, dass für das Kopieren, Verwenden und Weitergeben der Software keine Lizenzgebühr anfallt.
Open Source
Ein weiteres Charakteristikum von Open-Source-Software ist, dass der SourceCode frei zugänglich ist. „Frei“ wurde durch die Bezeichnung „open“ ersetzt, um zu erreichen, dass damit nicht mehr „umsonst“, sondern „offen“ assoziiert wird.55 Dies impliziert, dass eine Veränderung und Weiterentwicklung der Programme durch die Nutzerschaft je nach ihren Bedürfnissen möglich ist. Dies steht im Gegensatz zu den oben aufgeführten Softwarekategorien, deren Weiterentwicklung nur einer exklusiven Gruppe vorbehalten bleibt.
Die Freiheit der Software wird durch spezielle Lizenzen ermöglicht. (s. Kap. 1.3.5.1, S. 27)
Mit „Open Source“ wurde somit ein Begriff etabliert, „der die Entwickler und Verfechter freier Software [von] der Notwendigkeit enthebt, ständig sowohl zwischen kostenloser [..] und freier Software als auch zwischen den verschiedenen Lizenzen freier Software differenzieren zu müssen.“56
Bei den folgenden Softwaretypen ist der Quellcode zugänglich.
Copylefted Software
Copylefted Software ist Software, die rechtlich davor geschützt ist, dass Entwickler, die diese Software weiterentwickeln oder in seine Programme einbinden, ein Copyright auf das neue Programm erheben können. Das bedeutet, dass die neue Software wiederum den Copyleft-Bedingungen unterstellt werden muss.
Mit einer Lizenz, die die Eigenschaft „Copyleft“ hat, wird versucht, die Idee des Urheberrechts in ihr Gegenteil zu verkehren, um jedem Benutzer seine Freiheit zu garantieren: „Copyleft - All rights reversed“.57 (Vgl. Abb. 9 und Tab. 1)
Die Standardlizenz für Copylefted Software ist die GNU58 General Public License (S. 28).
Non - Copylefted Software
Nicht unter Copyleft stehende Freie Software ist mit der Erlaubnis des Autors verbunden, sie weiterzuverbreiten, zu verändern und zusätzliche Restriktionen hinzuzufügen.59 Das heißt, der Entwickler kann die neue Software
- weiterhin als Free Software zu Verfügung stellen oder
- ohne ausdrückliche Erlaubnis zu proprietärer Software machen und kommerziell vertreiben.60
Die meisten Lizenzen für Open Source sind non-copylefted. Die bekanntesten Lizenzen dieser Softwarekategorie sind: Berkley Software Distribution License (BSD License, S. 29), Netscape Public License (NPL, S. 29), GNU Lesser GPL (S. 29), license of Apache (S. 44).
Public Domain Software
Public Domain ist eine Spezialform von Non-Copylefted Software.61 Bei Public Domain Software handelt es sich um „Programme, die (über Netze oder per Datenträger) kostenlos abgegeben werden können und beliebig genutzt und kopiert werden dürfen.“62
Public Domain Software ist nicht urheberrechtlich geschützt, stellt also keine Lizenz im Sinne des Open Source dar. (Auch Programme, deren Urheberrechte verfallen sind, gehören in diese Kategorie). Das bedeutet im Wesentlichen, dass der Autor auf jeglichen Einfluss auf sein Werk verzichtet und jeder Anwender mit der Software nach seinen Bedürfnissen verfahren kann.63
Folgende Übersicht fasst die wesentlichen Kriterien der oben erläuterten Softwarekategorien zusammen.
Abbildung in dieser Leseprobe nicht enthalten
Wie aus der obigen Grafik ersichtlich, stehen sich zwei grundsätzlich verschiedene Konzepte gegenüber. Zum einen die (reine) proprietäre Software, bei der die Rechte des Anwenders auf ein Minimum beschränkt sind. Und zum anderen Open-Source-Software, bei der es eine Reihe verschiedener Lizenzen gibt, die dem Benutzer jeweils unterschiedliche Freiheitsgrade im Umgang mit der Software und bezüglich ihrer Weiterverbreitung gewähren.64 (s.a. Tab. 1, S. 27)
In der Literatur und im Internet werden Vor- und Nachteile von Open-Source- und proprietärer Software diskutiert, wobei wirtschaftliche und sicherheitstechnische Aspekte im Vordergrund stehen.65 Im Folgenden werden diese beiden Aspekte näher beleuchtet.
1.3.4.2 Aufwendungen
Die Software hat unterschiedliche Lebensphasen. Wie aus der Abb. 10 ersichtlich, fallen verschiedene Aufwendungen für diese Software an.
Abbildung in dieser Leseprobe nicht enthalten
Abb. 10: Lebenszyklus der Software u. die dabei entstehenden Aufwendungen66
Zum Beschaffungsaufwand gehören in erster Linie die Lizenzgebühren einer Software. Die Lizenzgebühren können einmalig oder im Rahmen von Ratenzahlungen oder Mietmodellen über mehrere Jahre anfallen.67
Die Lizenzgeber arbeiten mit unterschiedlichen Modellen. Je nach Software- bzw. Lizenz-Modell werden Aufwendungen pro Rechner, pro Prozessor oder pro Nutzer (Client) berechnet. Manche Lizenzen erlauben einen unbegrenzten, unternehmensweiten Einsatz.68
Neben den Lizenzgebühren können noch weitere Anschaffungsaufwendungen für das Unternehmen entstehen, z.B. beim Herunterladen von Open-Source-Software aus dem Internet. Auch erheben manche Händler für das Brennen der Software auf CD-ROM, begleitende Handbücher usw. Gebühren, die nicht zu den Lizenzgebühren gehören.69
In der Einführungsphase können bspw. Aufwendungen für die Schulung der Mitarbeiter anfallen.
Bei der Inbetriebnahme fallen Aufwendungen für den internen Administrator (u.a. Pflege der Software, z.B. Einspielung von Patches) und externen Support an. Schließlich fallen noch Aufwendungen für Upgrades an, die die Software auf den aktuellen Stand bringen.
Software wird von den Herstellern in sog. Versionen (engl.: release) herausgebracht bzw. freigegeben. Werden Änderungen am Programm durchgeführt, so wird dies durch eine geänderte Versionsnummer gekennzeichnet (z.B. Suse Linux 8.1, Suse Linux 8.2).70 Mit dem Versionswechsel beginnt der Lebenszyklus der Software von vorne.
1.3.4.3 Sicherheit
Im Wesentlichen lässt sich Sicherheit an drei zentralen Schutzzielen darstellen71:
- Verfügbarkeit72
Auf Systeme, Informationen, Anwendungen und Kommunikationsbeziehungen muss im Bedarfsfall zugegriffen werden können. „Je stabiler ein System ist, desto seltener stürzt es ab und desto höher ist seine Verfügbarkeit“.73
- Vertraulichkeit
Informationen sind Unbefugten nicht zugänglich. Das setzt voraus, dass nachvollziehbar ist, wer die Daten versendet und wer sie empfängt (Authentizität).
- Integrität
Eine unbefugte Modifikation der Systeme, der Informationen, der Anwendungen und der Kommunikationsbeziehungen ist ausgeschlossen. Nachrichten oder Systeme können von Dritten nicht manipuliert oder verfälscht werden. Dies wird mithilfe von Verschlüsselung (Kryptographie) erreicht.
Eine Gefahr für die Sicherheit der Software besteht in Angriffen aus dem Netz, z.B. über das Internet. Neben den Angriffen auf die Webserver-Software (die über das HTTP-Protokoll Daten an die entsprechenden Clientprogramme liefert) sind Angriffe auf die Schwachstellen des verwendeten Betriebssystems oder anderer über das Netz erreichbarer Programme möglich. Das Bundesamt für Sicherheit in der Informationstechnik (BSI) empfiehlt in diesem Fall, folgende Punkte zum Schutz der Software zu beachten74:
- Es sollten stets die aktuellen Software-Releases des Betriebssystems und aller auf der Server-Software installierten, sicherheitsrelevanten Applikationen verwendet werden. Alle sicherheitsrelevanten Patches75 oder Bugfixes sind einzuspielen.
- Die Installation des Betriebssystems sollte möglichst „minimal“ sein, so dass nur die notwendigen Dienste und Programme laufen.
- Die Rechte, über die der Webserver oder andere Server-Software verfügen, sollten möglichst restriktiv vergeben werden. Dadurch kann der Schaden begrenzt werden, der entsteht, falls eine Sicherheitslücke in einem der Programme gefunden und von einem Angreifer ausgenutzt werden sollte.
1.3.5 Open-Source-Software
Wie der Begriff Open-Source-Software (OSS) zu verstehen ist, wird in der Open Source-Gemeinde kontrovers diskutiert.76
Die Zersplitterung in verschiedene Lizenzmodelle (s. Kap. 1.3.5.1, S. 27) und unterschiedliche Auffassungen, was den Kern von OSS ausmacht, begleitete die Entwicklung von Anfang an. Im Jahr 1998 stellten führende Köpfe der OSS- Bewegung die Debian Free Software Guidelines77 auf, in denen festgelegt wurde, welche Bedingungen eine Software erfüllen muss, damit sie sich „Open-Source- Software“ nennen darf. Diese Richtlinien werden ständig weiterentwickelt.78
In neun Punkten werden die Kriterien freier Software definiert. Die wesent- lichen79 davon sind:
„Freie Weiterverbreitung:
Jeder darf Open-Source-Software nutzen und beliebig weiterverteilen. Verfügbarkeit des Quellcodes:
Das Software-Paket muss den Quellcode enthalten oder angeben, an welcher frei zugänglichen Stelle dieser zu erhalten ist.
Änderungen am Quellcode:
Der Quellcode darf an eigene Bedürfnisse angepasst und in dieser veränderten Form weitergegeben werden.“80
Die „Open Source Definition“ liefert eine klare Begriffsabgrenzung und spezifiziert die Anforderungen an OSS-Lizenzen. Geklärt werden die Fragen, die sich aus abgeleiteter Software ergeben, und welche Rechte die Autoren des Ursprungswerks haben. Festgeschrieben ist auch der uneingeschränkte und diskriminierungsfreie Zugang zum Quellecode.
1.3.5.1 Open Source - Lizenzmodelle
„Allgemein bedeutet Lizenz eine Erlaubnis. Speziell ist eine Lizenz das vertraglich oder gesetzlich zugesicherte Recht, ein Werk, welches dem Urheberrecht unterliegt oder eine Erfindung, für welche ein Patent gewährt wurde, zu nutzen.“81 Eine Lizenz kann sowohl bei proprietärer Software als auch im Bereich der Freien Software erworben werden. In der Tab. 1 werden die Nutzungsrechte von proprietärer und Freier Software gegenübergestellt.
Abbildung in dieser Leseprobe nicht enthalten
Tab. 1: Übersicht der verschiedenen Lizenzmodelle82
Die obige Tabelle verdeutlicht, dass der Benutzer von kommerzieller Software keine weitergehende Rechte hat, außer denen, die sich aus einem „EndbenutzerLizenzvertrag (EULA, End User License Agreement)“83 ergeben.
Im Folgenden werden die im Bereich der Freien Software gängigsten84 Lizenzen (s. Tab. 1) erläutert.
GNU General Public License (GPL)
Die GPL (http://www.gnu.org/copyleft/gpl.html) ist eine von der FSF herausgegebene Lizenz für die Freie Software. Die GPL wurde von Richard Stallman, dem Begründer des GNU-Projektes entworfen und sichert die folgenden vier Freiheiten als Bestandteile der Lizenz85:
1. Die Freiheit, ein Programm für jeden Zweck zu nutzen.
2. Die Freiheit, Kopien für sich und für Dritte anzufertigen.
3. Die Freiheit untersuchen zu dürfen, wie ein Programm funktioniert und es den eigenen Bedürfnissen anzupassen.
4. Die Freiheit, das Programm zu verbessern und diese Verbesserungen der Allgemeinheit zugänglich zu machen.
Die dauerhafte Freiheit der Software, die der GPL untersteht, wird dadurch gesichert, dass alle aus dieser Software abgeleiteten Programme wiederum der GPL unterstellt werden müssen.86 Das heißt: „Wer einmal ein Programm unter eine freie Lizenz gestellt hat, kann nicht mehr verhindern, dass der davon betroffene Source-Code weiterverbreitet wird.“87 Das bedeutet auch, dass GPL- Programme nicht in proprietäre Software integriert werden dürfen. Diese Einschränkung macht die Verwendung von GNU-Software im kommerziellen Umfeld unbrauchbar. In der Folge entstanden daher zahlreiche Lizenzen, die die strikten Regelungen der GPL entschärften.88
„Die GPL schließt, wie die meisten kommerziellen Lizenzen auch, Haftung und Gewährleistung aus, soweit das mit länderspezifischem Recht vereinbar ist.“89
GNU Lesser General Public License (LGPL)
Die Lesser GPL90 (http://www.gnu.org/copyleft/lesser.html) ist eine weniger restriktive Variante der GPL. Die LGPL beinhaltet alle Freiheiten der GPL. Im Gegensatz zu dieser gestattet sie ausdrücklich, alle unter diesen Lizenzbedingungen stehenden Bibliotheken (und Programme) in proprietäre Software einzubinden. Die eingebundenen Bibliotheken unterliegen wieder der LGPL.
Ein Wechsel von der LGPL zur GPL ist jederzeit möglich; GPL-Programme hingegen können nicht nachträglich der LGPL unterstellt werden.91
Berkeley Software Distribution License (BSD-License)
Die BSD-License (http://www.debian.org/misc/bsd.license) ist eine Lizenz mit minimalen Einschränkungen. Anders als die GPL verhindert die BSD Lizenz nicht, dass ein Programm oder Teile davon in ein unfreies Programm integriert werden. Die modifizierte Software darf also „mit geschlossenem Quellcode [..] unter konventionelle Lizenzen gestellt und privatisiert werden“92 und muss sich nicht wiederum den BSD-Lizenzbestimmungen unterwerfen. Außerdem kann der Quellcode, der unter BSD Lizenz steht, in andere Freie Software Projekte integriert werden, unabhängig davon welche Lizenz diese Projekte verwenden. Als einzige Bedingung muss das Programm den Copyright-Vermerk der ursprünglichen Autoren (auch bei Fortentwicklungen) in einem „About Fenster“ oder im Sourcecode als Kommentar anzeigen. Die BSD-Lizenz sieht außerdem einen Haftungsausschluss gegenüber den Autoren vor.93
Die Problematik der Verknüpfung von OSS mit kommerzieller Software brachte weitere Derivate der ursprünglichen Lizenzmodelle hervor wie Netscape Public License (NPL) (http://www.mozilla.org/NPL/NPL-L0.html). Netscape behält sich besondere Rechte an dem Code vor. Dies beinhaltet u.a. die Möglichkeit, diesen in proprietären Programmen zu verwenden.94
1.3.5.2 Stärken und Schwächen von Open-Source-Software
Die Vorteile resultieren aus den drei Kernprinzipien, auf denen OSS beruht:
- Offenlegung des Quellcodes
- Recht der Weitergabe des Quellcodes und aller Änderungen
- Keine Exklusivrechte an der Software
Nachfolgend werden, losgelöst von den spezifischen Unterschieden verschiedener Lizenzen, wichtige Stärken der OSS unter verschiedenen Aspekten beleuchtet.
- Sicherheit
Durch die Vielzahl von Entwicklern, die am offenen Quellcode arbeiten, lassen sich die schnelle Fehlerbehebung von OSS und damit die kurzen Innovationszyklen erklären: Durch die Veröffentlichung in Foren werden „Fehler und Sicherheitslücken“95 publik gemacht und durch Forenmitglieder kurzfristig behoben.96 Ein bekanntes Beispiel hierfür ist Samba97: Die im Februar 1999 erschienene Version 2.0.1 enthielt einen gravierenden Fehler. Es dauerte nur wenige Stunden, bis dieser Bug behoben war und die Version 2.0.2 von
Abbildung in dieser Leseprobe nicht enthalten
Samba im Internet zur Verfügung stand.98 Die Offenlegung des Quellcodes allein reicht für die Sicherheit zwar nicht aus, sie ist jedoch eine wesentliche Voraussetzung „für effektive Sicherheitsuntersuchungen“99. „Anwender sind nun in der Lage, die Funktionen eines Programmes [!] überprüfen zu lassen und Fehler zu beheben. Dies bringt in der Regel [..] Vorteile für die Sicherheit und führt zu höherer Stabili-tat100
- Anpassbarkeit (^Customizing, S. 279)
Die OSS lässt sich durch den offenen Quellcode den individuellen Bedürfnissen anpassen. Bspw. können „eventuell sicherheitskritische Funktionen [..] von jedem persönlich begutachtet und bei Bedarf deaktiviert werden.“101
- Qualität
Da jeder Anwender Änderungen am Quellcode vornehmen und diese verbreiten kann, wird eine kontinuierliche Qualitätsverbesserung der Software sichergestellt: „der Programmcode wird von vielen Augen geprüft und schlechter Code durch besseren ersetzt.“102 Dies gewährleistet die Existenzsicherung von OSS, da keine Abhängigkeit von einem Hersteller besteht, der die Verwendungsmöglichkeiten der Software einschränkt.103
- Wirtschaftlichkeit
Diese resultiert daraus, dass die OSS zum Träger-Beschaffungspreis (CD- Kauf, Internet-Download etc.) zu beziehen ist, und weder für das verwendete Betriebssystem noch für Veränderungen an der Software Lizenzgebühren zu entrichten sind.104 Auch Mehrfachlizenzen sind kostenlos.105
- Service und Support
Als Vorteil lässt sich auch die Vielfalt an Unterstützungsmöglichkeiten anführen. Von Begleitdokumentation über Newsgroups sowie Mailinglisten bis zu den Supportfunktionen von non-profit-Organisationen und spezialisierten Consultingfirmen.
- Portabilität106
Wenn OSS für Standards entwickelt wird, dann ist dort die Portabilität gegeben.
[...]
1 http://www.riccaut.de/produkte/oss, 26.06.2003
2 Krause, J.: PHP 4, 2003, S. 41
3 Stahlknecht, P. u.a.: Wirtschaftsinformatik, 2002, S. 89
4 Die Abk. RFC steht für Requests for Comments und bezeichnet Dokumente, die Vorschläge für Standards, Technologien oder Vorgehensweisen innerhalb des Internets enthalten.
5 Vgl. Stahlknecht, P. u.a.: Wirtschaftsinformatik, 2002, S. 113
6 Information, S. 283. Umfassende Hinweise zu Grundbegriffen gibt die Norm DIN 44300 (Grundbegriffe der Informationsverarbeitung)
7 Vgl. TEIA: Apache, 2001, Abschnitt 1.1, http://www.teia.de, 24.05.2003
8 Ressource, S. 287
9 Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 1192
10 Vgl. Stahlknecht, P. u.a.: Wirtschaftsinformatik, 2002, S. 113
11 Vgl. Kurz, A.: Net-Lexikon, http://www.net-lexikon.de/Web-Site.html, 11.04.2003
12 Vgl. TEIA: Apache, 2001, Abschnitt 1.4.2, http://www.teia.de, 24.05.2003
13 Wird im allgemeinen Sprachgebrauch fälschlicherweise oft synonym mit Website verwendet.
14 Vgl. Saamer, S.: Portale, 2000, S. 21
15 Saamer, S.: Portale, 2000, S. 21
16 XML steht für extensible Markup Language.
17 Martins, F. P. u.a.: Dynamic Content in: Internet Intern: PC Praxis-Intern, 2/03 Mai-Juli, S. 50
18 Vgl. Saamer, S.: Portale, 2000, S. 23
19 Vgl. Krause, J.: PHP 4, 2003, S. 34
20 Däßler, R.: MySQL, 2003, S. 35
21 Siehe FN 20
22 Vgl. Lillich, J.: Dynamische Websites, http://www.unix-ag.uni-kl.de/..., 11.04.2003
23 Templates, S. 289 (Weitere Informationen zur Arbeit mit Templates: McCarty B.: PHP 4, 2002, S. 427ff)
24 Definitionsdatei (.css-Datei, Cascading Style Sheets).
25 Krause, J.: PHP 4, 2003, S. 33
26 Krause, J.: PHP 4, 2003, S. 333
27 o.V.: S. 15, http://www.czernohous.de/php/php-skript.pdf, 11.04.2003
28 http://multimedia.zawiw.uni-ulm.de/~webdemo/webkurs/static-de.html, 10.06.2003
29 Warp-Speed.de: http://warpspeed.4thdimension.de, 10.06.2003
30 Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 150
31 Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 150
32 o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003
33 Kurz, A.: Net-Lexikon, http://www.net-lexikon.de/Software.html, 10.04.2003
34 Siehe FN 31
35 Siehe FN 31
36 Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 151 Vgl.a. Hansen, H. R.: Wirtschaftsinformatik, 1992, S. 355
37 Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 151
38 Siehe FN 36
39 Siehe FN 37
40 Siehe FN 36
41 Vgl. Keil, P.: Open Source, S. 7, http://www.it-vergabe.de/..., 8.06.2003
42 Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 152
43 Keil, P.: Open Source, S. 6, http://www.it-vergabe.de/., 8.06.2003
44 Vgl. das Diagramm von Chao-Kuei: Categories, http://www.fsf.org/..., 10.04.2003; Vgl.a. Walch, D.: Open Source, http://wwwai.wu-wien.ac.at/., 10.04.2003 Vgl.a. Keil, P.: Open Source, S. 3, http://www.it-vergabe.de/., 8.06.2003
45 Vgl. WikipediA: Enzyklopädie, http://de.wikipedia.org/wiki/Closed_Source, 15.06.2003
46 Vgl. BMWi, Open, 2001, S. 47f, http://www.bmwi-softwarepaket.de/..., 4.07.2003
47 Vgl. http://coforum.de/index.php47Propriet%E4re_Software, 10.04.2003
48 Vgl. Kurz, A.: Net-Lexikon, http://www.net-lexikon.de/proprietaer.html, 10.04.2003
49 http://www.gnu.org/philosophy/categories.de.html, 10.04.2003
50 Siehe FN 46 (Näheres unter: http://www.gnu.org/philosophy/categories.de.html, 10.04.2003)
51 Vgl. Oebbeke, A.: Glossar, http://www.glossar.de/glossar/z_shareware.htm, 10.04.2003
52 Vgl. Kurz, A.: Net-Lexikon, http://www.net-lexikon.de/Freeware.html, 10.04.2003
53 Oebbeke, A.: Glossar, http://www.glossar.de/glossar/z_shareware.htm, 10.04.2003
54 Vgl. http://www.php-snippet.de/artikel/editoren.php#kommerziell, 24.04.2003
55 Vgl. o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003
56 o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003
57 Vgl. Walch, D.: Open Source, http://wwwai.wu-wien.ac.at/..., 10.04.2003
58 GNU ist ein rekursives Akronym und steht für „GNU is not Unix“.
59 Vgl. http://www.gnu.org/philosophy/categories.de.html, 10.04.2003
60 Vgl. Walch, D.: Open Source, http://wwwai.wu-wien.ac.at/..., 10.04.2003
61 Siehe FN 59
62 Stahlknecht, P. u.a.: Wirtschaftsinformatik, 2002, S. 302
63 Vgl. o.V.: kurz, http://www.oreiUy.de/german/freebooks/os_tb/toc.html, 10.04.2003
64 Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 160
65 Vgl. WikipediA: Enzyklopädie, http://de.wikipedia.org/wiki/Closed_Source, 15.06.2003
66 Vgl. Binder, S. u.a.: Kassensturz, Mai 2003, S. 8, http://www.serion.de, 3.06.2003
67 Siehe FN 66
68 Weitere Informationen zu den Lizenz-Modellen: s. Kap. 1.3.5.1, S. 27
69 Vgl. Binder, S. u.a.: Kassensturz, Mai 2003, S. 9, http://www.serion.de, 3.06.2003
70 Vgl. Voss, A.: PC Lexikon, 2001, S. 787
71 Vgl. BMWi: Open, 2001, S. 20-22, http://www.bmwi-softwarepaket.de/..., 4.07.2003
72 Verfügbarkeit gibt den Grad der Erreichbarkeit im Verhältnis zu den Ausfällen wieder. Stürzt etwa ein Rechner ab, ist die Verfügbarkeit nicht gewährleistet.
73 Keil, P.: Open Source, S. 11, http://www.it-vergabe.de/., 8.06.2003
74 Vgl. Münch, I.: Sicherheitsstudie, 2002, S. 10f, http://www.bsi.bund.de/..., 7.06.2003
75 Patch ist ein kurzfristig erstelltes Programm, das Bugs (Fehlfunktionen) von bereits veröffentlichter Software beheben soll (Reparaturcode für Programmbugs, bugfix).
76 Vgl. Bold, M.: Sparen mit Open Source, in: Internet Professionell, 10-2002, S. 26
77 Die „Open Source Definition“ (Weiterführende Informationen: Anhang E)
78 Die jeweils aktuellste Fassung der Definition s.u.: www.opensource.org/docs/definition.php
79 Weitere Kriterien, die Open-Source-Software (bzw. -Lizenz) erfüllen muss: Vgl. Anhang E.
80 BMWi: Open, 2001, S. 8, http://www.bmwi-softwarepaket.de/..., 4.07.2003
81 WikipediA: Enzyklopädie, http://de.wikipedia.org/wiki/Lizenz, 16.06.2003
82 Vgl. BMWi: Open, 2001, S. 40, http://www.bmwi-softwarepaket.de/..., 4.07.2003, zitiert aus: Siepmann, J.: Freie Software, LinuxLand International, 2000; Vgl.a. o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003 (Public Domain stellt keine Lizenz dar und wird hier lediglich zum Vergleich angeführt).
83 Vgl. Hilfe zu Windows 2000, Einführung in Windows 2000 Professional: Lizenzvertrag
84 Eine Aufstellung aller Lizenzen, die im Umfeld von Open Source relevant sind, findet sich unter: http://www.opensource.org/licenses, 10.04.2003
85 Vgl. Riek, D.: Freie Software, in: Linux Report, 2-2002, S. 129
86 Vgl. WikipediA: http://de.wikipedia.org/wiki/GNU_General_Public_License, 15.06.2003
87 Jaeger, T.: Einmal GPL, immer GPL, 2001, https://www.linux-magazin.de/..., 10.04.2003
88 Vgl. http://coforum.de/index.php47Gnu_General_Public_License, 10.04.2003
89 BMWi: Open, 2001, S. 40, http://www.bmwi-softwarepaket.de/., 4.07.2003 In den USA ist Haftungs- und Gewährleistungsausschluss möglich, in Deutschland nicht.
90 GNU Lesser GPL gilt als Nachfolger der GNU Library GPL. Gründe, warum diese Änderung nötig war, s.u.: http://www.gnu.org/philosophy/why-not-lgpl.html, 10.04.2003
91 Vgl. BMWi: Open, 2001, S. 40, http://www.bmwi-softwarepaket.de/..., 4.07.2003
92 BMWi: Open, 2001, S. 40, http://www.bmwi-softwarepaket.de/., 4.07.2003
93 Vgl. o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003
94 Vgl. Weber, N. u.a.: OSS, http://flp.cs.tu-berlin.de/., 13.07.2003
95 BMWi: Open, 2001, S. 21, http://www.bmwi-softwarepaket.de/..., 4.01.2003
96 Als Beispiel für derartige Foren lässt sich Advogato (http://www.advogato.org/), ein Forum für Entwickler von Free Software, anführen.
97 91 Samba dient als Schnittstelle zwischen Windows, MacOS und UNIX-Rechnern.
98 Vgl. BMWi: Open, 2001, S. 18, http://www.bmwi-softwarepaket.de/., 4.01.2003
99 Zitiert aus (siehe Artikel-Ausschnitt) in: Siehe FN 95, S. 20 („Trojanische Pferde“ sind Programme mit versteckten Schadensroutinen).
100 Riek, D.: Freie Software, in: Linux Report, 2-2002, S. 129
101 Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 161
102 Riek, D.: Freie Software, in: Linux Report, 2-2002, S. 129
103 Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 161
104 Vgl. Anhang E: Die „Open Source Definition“
105 1998 hat die mexikanische Regierung in 140.000 Schulen Linux eingeführt. Durch den Verzicht auf Microsoft-Produkte wurden Lizenzgebühren von ca. 124 Mio. US-Dollar eingespart. (Vgl. Keil, P.: Open Source, FN 22, http://www.it-vergabe.de/..., 8.06.2003)
106 Zu Portabilität siehe: Schiestl, C.: Portabilität, http://www.ssw.uni-linz.ac.at/., 15.06.2003
-
-
-
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X.