Aufbau eines Anwendungssystems zur Erstellung Dynamischer Websites


Diplomarbeit, 2004

375 Seiten, Note: 1,0


Leseprobe

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üd­lichen 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 Vergangen­heit 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 ausge­wachsene 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 Anbin­dung 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 Website­Betreibern, dynamische Inhalte anzubieten, scheitert oft an dem damit verbun­denen 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 lizenz­kostenfreien 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 ande­rem 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 Webseiten­erstellung 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älsch­licherweise synonym verwendet. „Als Internet wird die Einheit aller Personen, Firmen, Organisationen verstanden, die sich unter Einhaltung bestimmter Stan­dards und Normen zusammenschließen. Das können auf der einen Seite Informa­tionsanbieter (die Server) sein, auf der anderen Seite gehören auch alle Informa­tionsnutzer (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 Proto­kollen, 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 Ver­knüpfung der auf verschiedenen Computersystemen vorhandenen Informationen6 (vor allem wissenschaftliche Texte) zu einem großen Informationssystem. Da­durch 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 zusammen­gehö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 Infor­mationen 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 Informa­tionen werden mittels HTML-Tags formatiert und als fertige Datei auf der Festplatte des Servers abgelegt. Wird die zu dieser Datei passende URL aufgeru­fen, 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 fest­gelegt. 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äufi­gen Ä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 dyna­mischer 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 unter­stü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 Webagen­turen 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 Daten­banken 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 wur­de für die Präsentation von statischen Inhalten konzipiert. Die ursprünglich einzi­gen 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 ent­wickelt worden, mit denen sich HTML-Seiten um interaktive Funktionen ergän­zen lassen. „Alle HTML-Erweiterungen sind dazu gedacht, Daten und Benut­zereingaben 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. Server­basierte 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 bestimm­ten 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 Instruk­tionen 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 Inter­aktion mit dem Rechner treten kann. Dabei „steuert und überwacht [das Betriebs­system] die Ausführung von Anwendungsprogrammen auf der Maschinenkonfi­guration (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 Programmier­sprache. „Programme werden in einer Programmiersprache entwickelt und enthalten detaillierte Anweisungen an den Rechner, wie eine bestimmte Problem­stellung zu lösen ist. Die Summe aller Programmiersprachenanweisungen inner­halb 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 ausge­führt werden.“39 Mit Hilfe der Entwicklungssoftware werden sowohl System- und Anwendungs- als auch die Entwicklungssoftware selbst erstellt.

Die Anwendungssoftware (Anwendungsprogramme, Anwendungen, Applikatio­nen, 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 System­software.

Bei Anwendungssoftware wird zwischen Standard- und Individualsoftware unter­schieden (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 Nut­zung hin ausgelegt sind.“42

Individualsoftware (Individualprogramme, engl.: custom software) umfasst hin­gegen 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 einseh­bar 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 harmo­niert 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 Soft­ware 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 Funk­tionalitä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 Leistungs­umfang. 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 kom­merziellen Erfolg Ihrer Software, oder die Freeware ist Teil einer umfassenden Marketingstrategie für kommerzielle Programme.“53 Als Beispiel für diese Strate­gie 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 Source­Code 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 Weiterentwick­lung 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 verschie­denen 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 Entwick­ler, 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 kommer­ziell 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 Soft­warekategorien zusammen.

Abbildung in dieser Leseprobe nicht enthalten

Wie aus der obigen Grafik ersichtlich, stehen sich zwei grundsätzlich verschie­dene 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 Soft­ware 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 Ratenzah­lungen 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, unter­nehmensweiten 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 Lizenz­gebü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) herausge­bracht 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 Kommunikationsbeziehun­gen 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 nach­vollziehbar ist, wer die Daten versendet und wer sie empfängt (Authentizität).

- Integrität

Eine unbefugte Modifikation der Systeme, der Informationen, der Anwen­dungen 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 ver­wendet werden. Alle sicherheitsrelevanten Patches75 oder Bugfixes sind einzu­spielen.

- 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 Prog­ramme 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 spezi­fiziert die Anforderungen an OSS-Lizenzen. Geklärt werden die Fragen, die sich aus abgeleiteter Software ergeben, und welche Rechte die Autoren des Ursprungs­werks haben. Festgeschrieben ist auch der uneingeschränkte und diskriminie­rungsfreie Zugang zum Quellecode.

1.3.5.1 Open Source - Lizenzmodelle

„Allgemein bedeutet Lizenz eine Erlaubnis. Speziell ist eine Lizenz das vertrag­lich 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 „Endbenutzer­Lizenzvertrag (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 herausgege­bene Lizenz für die Freie Software. Die GPL wurde von Richard Stallman, dem Begründer des GNU-Projektes entworfen und sichert die folgenden vier Frei­heiten 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 All­gemeinheit 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 restrik­tive Variante der GPL. Die LGPL beinhaltet alle Freiheiten der GPL. Im Gegen­satz 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 mini­malen 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 kon­ventionelle 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 integ­riert werden, unabhängig davon welche Lizenz diese Projekte verwenden. Als einzige Bedingung muss das Programm den Copyright-Vermerk der ursprüng­lichen 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 Inno­vationszyklen erklären: Durch die Veröffentlichung in Foren werden „Fehler und Sicherheitslücken“95 publik gemacht und durch Forenmitglieder kurz­fristig 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 Program­mes [!] ü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ürfnis­sen 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 verbrei­ten kann, wird eine kontinuierliche Qualitätsverbesserung der Software sicher­gestellt: „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 Verwen­dungsmö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üh­ren. 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 gege­ben.

[...]


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öffent­lichter 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 Ver­zicht 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

Ende der Leseprobe aus 375 Seiten

Details

Titel
Aufbau eines Anwendungssystems zur Erstellung Dynamischer Websites
Hochschule
Technische Hochschule Köln, ehem. Fachhochschule Köln
Note
1,0
Autor
Jahr
2004
Seiten
375
Katalognummer
V150217
ISBN (eBook)
9783640613939
ISBN (Buch)
9783640613724
Dateigröße
49440 KB
Sprache
Deutsch
Schlagworte
aufbau, anwendungssystems, erstellung, dynamischer, websites
Arbeit zitieren
Diplom-Kauffrau (FH) Natalia Fahrenbruch (Autor), 2004, Aufbau eines Anwendungssystems zur Erstellung Dynamischer Websites, München, GRIN Verlag, https://www.grin.com/document/150217

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Aufbau eines Anwendungssystems zur Erstellung Dynamischer Websites



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden