Web

Um den freien Apache-Server entsteht eine mächtige Web-Plattform

16.06.2000
Gravitationszentrum für Open-Source-Projekte, Hüter von Standards

Von CW-Redakteur Wolfgang Sommergut

MÜNCHEN (COMPUTERWOCHE) - Unter dem Dach der Apache Software Foundation entsteht rund um den marktbeherrschenden Web-Server eine mächtige Plattform für Internet-Anwendungen. Ziel der Organisation ist es, Produkte auf der Basis offener Standards zu entwickeln. Schützenhilfe erhält Apache dabei von Herstellern, die Open Source gezielt gegen die Konkurrenz einsetzen.

Verglichen mit dem Medienstar Linux erhalten die Aktivitäten der Apache Software Foundation (ASF) recht wenig öffentliche Aufmerksamkeit. Das mag daran liegen, dass der Apache Web-Server Bestandteil aller gängigen Linux-Distributionen ist und deshalb das freie Betriebssystem quasi als das übergeordnete Projekt gesehen wird. Tatsächlich agieren beide Vorhaben voneinander unabhängig im Plattformgeschäft. Linux behauptet sich dabei im etablierten Markt der Betriebssysteme, wo das offene System gegenüber proprietären Konkurrenten ständig Boden gut macht. Die Rivalität mit dem Goliath Microsoft trägt dem David Linus Torvalds und seinen Mitstreitern viele Sympathien ein.

Die Apache Group hingegen tritt als Anbieter eines Typs von Internet-Plattform auf, der mit dem bisherigen Plattformmodell - Kombination aus Rechner und Betriebssystem - nicht mehr viel gemein hat. Nicht mehr der Befehlssatz einer CPU oder die APIs einzelner Betriebssysteme sollen demnach den Anwendungsentwickler primär interessieren, sondern Standards wie TCP/IP, HTTP, SMTP, HTML oder CGI. Natürlich müssen auch Internet-Programme letztlich für ein bestimmtes Betriebssystem oder zumindest eine Ablaufumgebung wie die Java Virtual Machine übersetzt werden, in der Praxis findet aber eine Abstraktion vom OS statt. So ersetzen beispielsweise in der GUI-Entwicklung immer häufiger HTML und Scripts die Aufrufe von betriebssystemspezifischen APIs, proprietäre Konventionen weichen URIs beim Zugriff auf Dateien. Hinzu kommt, dass bei Web-Anwendungen Script-Sprachen wie Perl oder PHP eine herausragende Rolle spielen und diese den Entwickler weitgehend vom darunterliegenden Betriebssystem abschirmen.

Aufgrund dieses gewandelten Plattform-Verständnisses wirft der Verleger und Open-Source-Mäzen Tim O´Reilly bestimmten Linux-Enthusiasten vor, sie schlügen längst verlorene Schlachten, wenn sie Microsoft den Desktop streitig machen wollen. Stattdessen gelte es, das Internet als die Plattform der Zukunft vor Vereinnahmungen durch einzelne Firmen zu bewahren.

Wenn auch derartige Ambitionen nicht den Anstoß zum Apache-Projekt gaben, so kann sich das Team hinter dem freien Web-Server dennoch rühmen, das im Web fundamentale Hypertext Transfer Protocol (HTTP) in Zeiten des Browser-Kriegs vor proprietären Veränderungen bewahrt zu haben. Groß war die Versuchung für die Kontrahenten Microsoft und Netscape, durch "Innovationen" auf der Client-Seite den Verkauf von Server-Software anzukurbeln – schließlich würde ja nur jene aus dem eigenen Haus all die firmenspezifischen Erweiterungen nutzen können. Die starke Marktposition des standardkonformen Apache-Servers stand solchen Versuchungen bei HTTP entgegen, weil gröbere Abweichungen von der W3C-Empfehlung den Anwendern des betreffenden Browsers schlimmstenfalls mehr als die Hälfte des Web-Angebots vorenthalten hätten.

Nach der aktuellen Statistik von Netcraft hat der Apache-Server einen Marktanteil von über 60 Prozent. Auch wenn die ASF die Arbeit an ihrem Hauptprojekt zügig vorantreibt und kürzlich die Alphaversion 2.0 vorstellte, so dienen zahlreiche neue Projekte bereits der Ausweitung der Plattform. Im Mittelpunkt stehen dabei Funktionen zur dynamischen Erzeugung von Content. Statische Seiten liefert der HTTP-Server selbst, HTML-Dokumente lassen sich wie bei allen Konkurrenzprodukten durch den Aufruf externer Programme via CGI dynamisch generieren. Daneben aber umfasst der Apache-Server eine API, über die sich Zusatzmodule in das Kernprodukt einklinken lassen. Diese Modularität folgt nicht nur den Regeln guten Software-Designs, sondern gibt auch das Muster für die Organisation der Entwickler-Teams vor.

Apache: Gravitationszentrum für freie Software

Mehr als Programmierer kommerzieller Software sind Open-Source-Entwickler auf eine klare Trennung der Aufgaben angewiesen, da sie meist durch große räumliche Entfernungen getrennt sind. Diese Möglichkeit zu weitgehend autonomen Projekten und der Erfolg des Web-Servers machen Apache zu einem Gravitationszentrum für freie Software. So existieren die Interpreter für Perl, Python und TCL als Module für Apache, PHP erreichte seine Popularität erst im Windschatten des freien HTTP-Servers. Mit Active Scripting existiert sogar eine zu Microsofts "Active Server Pages" kompatible Umgebung. Die in den Web-Server eingeklinkten Script-Engines erzielen im Vergleich zu CGI-Aufrufen eine deutlich verbesserte Ausführungsgeschwindigkeit, weil sie permanent im Speicher bleiben und bereits ausgeführten Code in übersetzter Form vorhalten. Für die quelloffenen Script-Sprachen existiert ihrerseits ein großer Fundus zahlreicher freier Erweiterungen, beispielsweise das CPAN-Archiv (http://www.cpan.org) für Perl. Sie ergänzen die integrierten Funktionen um solche, die gerade in der Web-Entwicklung wichtig sind, beispielsweise Datenbankanbindung oder Session-Verwaltung.

Der steigenden Bedeutung von Java auf dem Server trug das Apache-Team mit "Jserv" Rechnung. Diese Servlet-Engine ist ebenfalls als Apache-Modul implementiert und liegt mittlerweile in der Version 1.1.1 vor. Die Java-Aktivitäten in der ASF haben sich inzwischen jedoch vom Web-Server-Projekt weitgehend emanzipiert und führten zu einer Reihe von eigenständigen Projekten. Sie nutzen einerseits die zunehmenden Möglichkeiten der eigenen Plattform und bringen andererseits Anwendungen hervor, die von den Teams ursprünglich für den eigenen Bedarf entwickelt wurden. Dazu zählen beispielsweise das Dokumentationssystem "Alexandria", das Tool für die Batchverarbeitung von Java-Programmen "Ant" (basiert auf einer Code-Zuwendung von Sun) oder "Jyve", das die Autoren als "FAQ-O-Matic-System" beschreiben. Eine Übersicht über die zahlreichen Java-Aktivitäten, zu denen unter anderem der Mail-Server "James" oder die Portal-Software "Jetspeed" gehören, finden sich unter http://java.apache.org und http://jakarta.apache.org.

ASF arbeitet verstärkt an XML-Software

Das jüngste Betätigungsfeld der ASF, die Extensible Markup Language (XML), belegt am stärksten das von Open-Source-Befürwortern reklamierte Evolutionsprinzip freier Software. Demnach profitieren derartige Projekte analog zur natürlichen Vererbung von frei zugänglichem Code, während im geschlossenen Modell schon häufig geschriebene Funktionen immer wieder neu implementiert oder zugekauft werden müssen.

So können die Apache-Aktivitäten rund um XML auf eine mächtige Publishing-Plattform bauen, die neben dem populären Web-Server inklusive Java- und Script-Unterstützung zahlreiche Tools zur Bearbeitung von Content umfasst. Im Fall von XML verfügt die ASF mit dem Parser "Xerces" und dem XSLT-Prozessor "Xalan" zudem über die nötige Basistechnologie. Auf dieser Grundlage entsteht zukunftsweisende Software wie das XML-Publishing-System "Cocoon". Dieses ist als Java-Servlet implementiert und kann mittels Xalan XML-Dokumente in diverse Zielformate, darunter HTML und PDF transformieren. Für letzteres greift Cocoon auf "FOP" zurück. Es handelte sich dabei ursprünglich um ein eigenständiges Open-Source-Projekt, das seit rund einem halben Jahr unter dem Dach der ASF weitergeführt wird. Diese Sogkraft, die von Apache auf freie Teams ausgeht, hat ihren Grund nicht zuletzt in der gut ausgebauten Infrastruktur der Foundation. Vom Concurrent Versions System (CVS) bis zu List-Servern stehen die nötigen Einrichtungen schon bereit.

Apaches liberale Lizenzpolitik lockt Industriegrößen

Gerade bei den XML-Aktivitäten kann Apache auf Code-Zuwendungen von kommerziellen Anbietern aufbauen, besonders von IBM und Sun. Gewinnorientierte Unternehmen wählen für solche Kooperationen die ASF nicht nur wegen ihres Erfolgs und ihrer guten Infrastruktur. Eine wichtige Voraussetzung dafür ist auch ihre liberale Lizenzpolitik. Im Gegensatz zur GNU Public License (GPL) erfordert die nach dem Vorbild von "Free BSD" formulierte Apache-Lizenz nicht, dass alle Software, die Apache-Code nutzt, wieder dieser Lizenz unterliegt. Außerdem müssen Weiterentwicklungen der Programme nicht wieder an Apache zurückgegeben werden. Diese Lizenz gilt deswegen als geschäftsfreundlicher und erlaubt es beispielsweise IBM, den XSL-Transformations-(XSLT-)Prozessor Xalan in Lotus Notes zu nutzen, ohne gleich die Groupware zur Open Source machen zu müssen. Zuletzt übergab Big Blue seine Java-Implementierung des Simple Object Access Protocol (SOAP) an die ASF. Es handelt sich dabei um einen Mechanismus für Remote Procedure Calls auf Basis von HTTP und XML. Er wurde von Microsoft vorgeschlagen und soll die Kommunikation zwischen COM- und Corba-Objekten erlauben.

Auch Sun Microsystems, das bei seinen bisherigen Java-Standardisierungbemühungen stets um das eigene Copyright besorgt war, sieht in Apache einen Partner für die mustergültige Umsetzung hauseigener Spezifikationen. So übergab die Unix-Company den Code einer selbst entwickelten Servlet-Engine an die Open-Source-Plattform. Sie fungiert nun unter der Bezeichnung "Tomcat" als Referenzimp-lementierung für Servlet-Container und Java Server Pages. Sie liegt mittlerweile in der Version 3.1 vor und lässt sich auch mit den Web-Servern von Microsoft und Netscape betreiben.

Die Kooperation eines OSS-Teams mit kommerziellen Anbietern ist freilich schwieriger als das eigenständige Umsetzen offener Standards. So äußert sich das von Apache unabhängige Blackdown-Team, das sich eine freie Java-Version zum Ziel gesetzt hat, trotz positiver Kommentare über die Zusammenarbeit kritisch über Suns Verhältnis zu freien Projekten. Viele OSS-Entwickler sind aufgrund der Fülle von freien Tools gewohnt, diese bei Bedarf den eigenen Erfordernissen anzupassen und weiterzuentwickeln. Bei Java ist dies nicht so leicht möglich. So hat nach Auffassung der Apache-Entwickler Sun dem hauseigenen "Javadoc" nicht mehr die nötige Pflege angedeihen lassen. Sie richten sich deshalb in einem offenen Brief an die Unix-Company, den Code des Programms freizugeben, um ihnen die Weiterentwicklung möglich zu machen. Sie sind in diesem Fall auf den guten Willen des Herstellers angewiesen, im schlimmsten Fall müssten sie ein eigenes Dokumentations-Tool schreiben.

Rivalitäten in der Open-Source-Welt

Die liberale Lizenzpolitik begünstigt Apache-Teams gerade bei der Unterstützung durch kommerzielle Anbieter. Sie scheint aber auch bei der Rekrutierung von Entwicklern von Vorteil zu sein, vielleicht deswegen, weil sie weniger von ideologischen Aspekten bestimmt ist. Jedenfalls spielt die Wahl des Lizenztypus ein wichtige Rolle für das Selbstverständnis von OSS-Teams, zwischen den Vertretern der verschiedenen Modelle herrscht durchaus Rivalität. So konkurrieren Open-Source-Projekte um Code-Zuwendungen und sind stolz darauf, wenn solche schließlich unter ihre Lizenz gestellt werden. Beispielsweise verkündete das Apache-Jakarta-Team voller Genugtuung, dass Daniel Savarese die Quellen seines populären Pakets für Reguläre Ausdrücke in Java "OROMatcher Text Processing" nicht unter die GPL, sondern jene von Apache gestellt hat. Zu den liberalen Open-Source-Lizenzen gibt es aber auch kritische Stimmen wie jene des Linux-Aktivisten Evan Leibovitch. Er warnt anlässlich der proprietären Veränderungen des "Kerberos"-Authentifizierungsverfahrens durch Microsoft vor BSD und den davon abgeleiteten Lizenzen. Die Gates-Company ist aufgrund der dort formulierten Bedingungen nicht verpflichtet, ihre Änderungen offenzulegen und so die Interoperabilität mit anderen Systemen zu vereinfachen.

Allerdings lässt sich das Beispiel von Kerberos nicht ohne weiteres auf Apache übertragen. Aufgrund seiner Marktmacht und dynamischen Weiterentwicklung war bisher allen Versuchen, auf Basis des freien Web-Servers kommerzielle Produkte zu etablieren, wenig Erfolg gegönnt. So konnte die "Stronghold"-Version, die auf dem Apache-Server fußt und diesen um starke Verschlüsselung erweitert, laut Netcraft nur einen Marktanteil von 0,60 Prozent erringen. Vielmehr sieht es danach aus, als bestätige Apache die Prognose von Eric Raymond, wonach Plattform-Software in Zukunft überwiegend quelloffen sein wird. Durch Open Source können Anwender in diesem kritischen Bereich die Abhängigkeit von einzelnen kommerziellen Anbietern vermeiden und in die Entwicklung der Software selbst eingreifen.

Quelloffene Software als Bewahrer offener Standards

Bei den teilweise komplexen XML-Co-Standards gehen nicht-konforme Umsetzungen oft nicht auf das Konto von bewussten proprietären Veränderungen, sondern sind Tribut an die schwierige Materie. Aber unabhängig davon, welche Umstände zu Standardabweichungen führen, der Code quelloffener Software lässt sich in einem solchen Fall von jedem Interessierten nachlesen und überprüfen. Anhand der Sourcen fällt es vergleichsweise leicht, ein bestimmtes Verhalten eines Programms zu verstehen. Demgegenüber können bei Problemen mit geschlossener Software nur Rückschlüsse auf ihre Implementierung gezogen werden. Angesichts der zahlreichen externen Faktoren, die auf den Ablauf eines Programms Einfluss haben, kann dann ein Hersteller immer noch darauf hinweisen, dass dieses oder jenes Problem in den von ihm getesteten Umgebungen nicht auftritt, dass bei Nutzung seines Betriebssystems oder seines Clients oder seines Servers Schwierigkeiten nicht feststellbar wären. Andererseits setzen Standardisierungsgremien ihre Empfehlungen meist nicht selbst um und sie besitzen auch keine Machtmittel, um nichtkonforme Software zu verhindern. Deshalb kommt freien Projekten bei Referenzimplementierungen eine wichtige Aufgabe zu: "Sie machen offene Standards ehrlich", so Open-Source-Advokat Eric Raymond.

Die Apache Software Foundation bewährte sich nicht nur als Hüter des HTTP-Standards, sondern gerät besonders bei XML immer mehr in diese Rolle. Unterstützt wird sie dabei von Herstellern wie IBM, Lotus und Sun. Diese fürchten wohl, dass Microsoft über seine Desktop-Dominanz durch abweichende Implementierungen den Standard untergraben könnten. Tatsächlich weisen der XML-Parser und XSLT-Prozessor aus Redmond eine relativ schlechte Konformität mit den W3C-Empfehlungen auf. IBM übergab den Code seiner Implementierungen an Apache, er bildet die Grundlage für "Xerces" und "Xalan". Auch Sun stellte der ASF die Quellen des "Project-X"-Parsers zur Verfügung, allerdings erst mit großer Verspätung und nach Protesten im Internet. Sun hatte nämlich schon lange öffentlichkeitswirksam diese Code-Spende angekündigt, "vergaß" aber dann die Einlösung dieses Versprechens.