Aus Linux-Magazin 10/2001

Die monatliche GNU-Kolumne

Diese Kolumne berichtet über aktuelle Entwicklungen innerhalb des GNU-Projekts und versucht, Einblicke in die zugrunde liegende Philosophie zu vermitteln. In dieser Ausgabe: freie Spiele, Freeciv, XWeb, General Server Pages, GNU Classpath Extensions und IDX-PKI.

Willkommen wieder mal zu einer Ausgabe der Brave GNU World. Weil der Mensch nicht nur arbeiten soll, stelle ich zuerst ein freies Spiel vor.

Wegen ihrer Schnelllebigkeit und des geringen Servicebedarfs sind Spiele oft noch Sorgenkinder der freien Software. Obwohl einige Unternehmen ihre Produkte heute auf GNU/Linux portieren, bleiben sie meist proprietär. Zwar kann man sagen, dass Spiele selten anwendungskritisch sind und sicherlich auch nicht der wichtigste Teil freier Software. Spiele sind aber für manche Leute auch der Anlass, sich mit ihrem Computer näher zu beschäftigen. Zudem sind sie oft der Grund für die Wahl eines unfreien Betriebssystems.

Auch scheint mir die Spieleindustrie in den letzten Jahren den Mangel an neuen Ideen durch mehr Effekte ausgleichen zu wollen. Das mag ein subjektiver Eindruck sein, doch die ersten Computerspiele hatten – finde ich – einfach mehr Witz. Gerade bei diesem Problem könnten sich durch das Zusammenspiel in einer Community einmalige Chancen für spannende und nicht lineare Handlungsstränge ergeben, die bisher offensichtlich nicht genutzt werden.

Mehr freie Spiele?

Da eine relativ kleine Nutzerbasis oft Schwierigkeiten beim Entstehen neuer Gebiete bereitet, möchte ich in den folgenden Ausgaben der Brave GNU World gerne öfter freie Spiele vorstellen. Wer also viel Spaß mit einem freien Spiel hat oder selbst an einem arbeitet oder arbeiten möchte, den bitte ich, sich bei mir zu melden [1]. Auch der Hinweis auf ein Portal, das sich exklusiv freier Spielesoftware widmet, wäre bestimmt hilfreich. Doch damit genug der Einleitung.

Freeciv – freie Völker

Bei Freeciv [5] handelt es sich um eine freie Implementierung des bekannten Spiels Civilization II der Firma Microprose unter der GNU General Public License. Der Spieler übernimmt die Rolle des Oberhaupts eines Volkes und hat dafür Sorge zu tragen, dass es wächst und gedeiht. Dabei müssen Ressourcen erschlossen, Städte gebaut, die Wissenschaft vorangetrieben und Konkurrenten auf Abstand gehalten werden.

Der Reiz des Spieles besteht in seiner Nichtlinearität und der kontinuierlichen Entwicklung, die wohl auch ein Grund ist, warum es manchem so schwer fällt, ein Ende zu finden. Der Spieler kann zwischen 47 Einheiten und 61 Nationen wählen, die in vorbereiteten Karten und Szenarien zum Einsatz kommen. Freeciv ist insgesamt ausgereift, verfügt über eine eingebaute Hilfefunktion und ist internationalisiert, spricht also mit vielen Spielern in ihrer Muttersprache.

Hochgradig Sucht erregend ist Freeciv, eine freie Variante von Civilization.

Hochgradig Sucht erregend ist Freeciv, eine freie Variante von Civilization.

Bemerkenswert ist die starke Gemeinschaft, die sich um dieses Spiel entwickelt hat und über den #freeciv-Kanal im IRCNet kommuniziert – auch weil Freeciv bis zu 30 Spieler unterstützt, die entweder durch künstliche Intelligenz (KI) oder menschliche Spieler via Netzwerk (LAN oder Internet) gesteuert werden. Dabei läuft Freeciv auf allen gebräuchlichen Unix-Varianten und Windows sowie OS/2, falls die Cygnus-Unix-Umgebung vorhanden ist.

Ursprünglich gestartet wurde Freeciv von Peter Joachim Unold, Claus Leth Gregersen und Allan Ove Kjeldbjerg, die mittlerweile aber die Aufgabe der Administration an Thue Janus Kristensen und Tony Stuckey abgegeben haben.

Neben den Genannten hat es beeindruckend viele Mitwirkende an den üblicherweise im Drei-Monats-Turnus erscheinenden Versionen gegeben [6]. Die größten Schwierigkeiten haben momentan noch die Microsoft-Benutzer, doch sie dürften durch die Installation von GNU/Linux zu beseitigen sein. Probleme drohen sonst nur durch das hohe Suchtpotenzial von Freeciv.

Aus XML mach HTML mit XWeb

Folgendes Projekt hat Stefan Kamphausen aufgespürt. XWeb [7] erlaubt es, den Inhalt und die Struktur von Webseiten in XML/XSL zu schreiben, um daraus HTML-Seiten zu generieren. Das bietet nicht nur einen erheblichen Performancevorteil gegenüber dynamischen Seiten, es erlaubt auch die Umstellung auf ein neues Design oder Layout mit minimalen Änderungen. Insbesondere wird jedoch dem Benutzer von XWeb die oft nicht unerhebliche und selten erfreuliche Arbeit der Webseiten-Navigation abgenommen.

XWeb beruht auf Java und XSLT, wobei der Saxon-XSLT-Prozessor [8] zum Einsatz kommt. Auch die Makefiles beruhen auf XML und die von XWeb erzeugten HTML-Seiten sind komplett unabhängig von XWeb, können also beispielsweise per FTP auf einen Webserver gespielt werden. Im Gegensatz zu anderen XSL-Prozessoren erlaubt XWeb auch die automatische Erstellung von Buttons, Bannern und anderen Elementen mit einem internen Renderer oder über die externe Erzeugung von Scalable Vector Graphics (SVG) mit Batik [9].

Das Projekt wird hauptsächlich von Peter Becker, seinem Initiator, vorangetrieben. XWeb ist freie Software, auch wenn die Lizenzierung als Public Domain nicht optimal ist, da sie alles erlaubt – inklusive der Anbringung eines eigenen Copyrights – und die Freiheiten der Benutzer nicht schützt. Pläne für die nahe Zukunft sehen vor, das Programm etwas abzurunden und Support für XSL-FO zu implementieren sowie Templates für die gebräuchlichsten Layouts zu erstellen. Langfristig sollen anwendungsspezifische Front-Ends (etwa für Foto- oder MP3-Alben) und vielleicht sogar ein Wysiwyg-Tool eingefügt werden. Insbesondere Autoren für Templates und Front-Ends können hier helfen – Benutzer-Feedback ist auch stets willkommen.

General Server Pages

Auch das Projekt General Server Pages (GSP) [10] von Sebastien Devaux hat unmittelbar mit dem Internet zu tun, allerdings befasst es sich mit der dynamischen Seite. GSP ist ein Präprozessor, der es auf einfache Art und Weise erlaubt, in verschiedenen Programmiersprachen Applikationen für strukturierte Ausgaben zu erzeugen – besonders praktisch ist dies für die Erstellung von CGI Applikationen.

CGI-Applikationen bestehen zu großen Teilen aus Wiederholungen und trivialem Code, dabei ist es letztlich das Ziel, eine bestimmte Ausgabe zu erzeugen. Daher erlaubt es GSP, die Ausgabe in einer Mischung aus XML, GSP und der gewünschten Programmiersprache zu schreiben, um sie dann mit GSP in einen kompilierbaren Sourcecode oder ein Skript umzuwandeln, das die gewünschte Ausgabe in Form von HTML, XML, SGML oder Plain Text erzeugt. Das spart Zeit und Nerven – und erhöht auch die Wiederverwendbarkeit des Codes.

Die General Server Pages - hier mit einer Variation in C.

Die General Server Pages – hier mit einer Variation in C.

GSP unterstützt derzeit C, C++, Bash, Ksh, Perl und Javascript. Es ist jedoch verhältnismäßig einfach, weitere Sprachen hinzuzufügen. Zudem kann GSP auch Applikationen erzeugen, die mehrere Seiten enthalten und automatisch die Seiten miteinander verlinken. Geschrieben wurde GSP in C++ unter der GNU General Public License. Ein noch recht junges Projekt, es begann erst im Februar 2001.

Probleme bereitet das korrekte Handhaben von MIME Extensions, da hierfür externe Bibliotheken erforderlich sind, deren Wahl nach Möglichkeit dem Nutzer überlassen werden soll. Zu verbessern sind die Module für die verschiedenen Sprachen sowie die Sicherheit des Codes. Hilfe ist bei diesen Themen sehr willkommen. Auch wenn es noch nicht für sicherheitsrelevante Bereiche eingesetzt werden sollte, ist GSP bereits funktional und kann vermutlich so manchem die Arbeit erleichtern.

GNU Classpath Extensions

Es ist ein verbreiteter Mythos, dass das GNU-Projekt und seine Lizenzen mit Java inkompatibel seien. Daher hat Nic Ferrier, Maintainer der GNU Classpath Extensions [11], mich gebeten, ein paar Worte über sein Projekt zu schreiben. Es wurde ursprünglich von Andrew Selkirk begonnen und hat als Ziel, das GNU Classpath Projekt [12] um freie Implementationen der verschiedenen Java-Erweiterungsbibliotheken von Sun (Javamail, Jaxp und andere) zu bereichern. Die Bibliotheken stellen erweiterte Funktionen für die Java-Plattform und eine Standardbasis für viele verschiedene Aufgaben zur Verfügung. Da die Bibliotheken von Sun leider unfrei sind, wurde die Entwicklung auf Basis freier Software notwendig. Geschrieben werden die GNU Classpath Extensions in Java mit kleinen Anteilen an C.

Als Lizenzen kommen GPL und Lesser GPL zum Einsatz. Die Entwickler wollen unabhängigen Java-Code erzeugen, der auf allen Virtual Machines laufen soll, vor allem auch den freien. Die erste Release des Projekts ist bald zu erwarten. Hilfe ist Nic Ferrier und Andrew Selkirk sehr willkommen. Wer sich für die Aktivitäten des GNU-Projekts in und um Java interessiert, dem sei die Webpage GNU and Java [13] empfohlen.

Krypto-Infrastruktur IDX-PKI

Das IDX-PKI-Projekt [14] ist die erste freie Public Key Infrastructure, die den PKIX-Standards der IETF genügt. Entwickelt wurde sie von der französischen Firma IdealX, die das Projekt unter der GNU General Public License veröffentlicht und weiterentwickelt.

Da der Begriff PKI nicht allen Lesern sofort ein Begriff sein wird, will ich die Idee vereinfacht skizzieren. Bei Public-Key-Verfahren, wie sie etwa von PGP oder der freien OpenPGP-Implementation GnuPG benutzt werden, verfügt jeder Teilnehmer über ein Schlüsselpaar aus einem geheimen und einem öffentlichen Schlüssel. Der geheime darf unter keinen Umständen in fremde Hände gelangen, während der öffentliche so weit gestreut wird wie möglich.

Mit dem privaten Schlüssel werden beispielsweise E-Mails signiert, deren Signatur mit dem öffentlichen Schlüssel verifiziert werden kann. Signieren mit dem öffentlichen Schlüssel ist nicht möglich, so weiß der Empfänger einer signierten Mail, dass sie vom Besitzer des privaten Schlüssels unterschrieben wurde.

Nun ist die Erzeugung von Schlüsseln aber allgemein zugänglich, es gibt also zunächst keine Garantie dafür, dass der private Schlüssel wirklich zu der Person gehört, zu der er zu gehören vorgibt. Eine Certification Authority (CA) löst dies Problem. Diese wird oft von so genannten Trust Centern angeboten, die damit sicherstellen, dass die Identität der Teilnehmer durch das Unternehmen verifiziert ist. Die Bereitstellung einer Certification Authority ist eine der Hauptaufgaben einer PKI. Das IDX-PKI Projekt erlaubt es jedem Unternehmen und jeder Organisation, im eigenen Haus eine CA-Struktur aufzubauen. Es kann also automatisch dasselbe Vertrauen in jeden Mitarbeiter eines Unternehmens gesetzt werden, das man in das Unternehmen selbst setzt.

Die Aufgaben von Ausstellung und Widerruf der Schlüssel nimmt dabei die PKI zentral wahr. Eine PKI erlaubt letztlich nicht nur Identifikation und Authentifizierung, sie ermöglicht ebenfalls vertrauliche Kommunikation, Integrität der Daten und Nachvollziehbarkeit bei Problemen. All diese Dinge sind für viele Unternehmen wichtig, Banken, Versicherungen oder E-Commerce-Märkte sind geradezu darauf angewiesen.

PKI: Mehr als eine Certification Authority

Zwar gibt es bereits das OpenCA-Projekt mit ähnlichen Zielen, OpenCA ist jedoch ausschließlich eine Certification Authority und keine vollständige PKI. Sie erlaubt lediglich die Erstellung von Zertifikaten mit OpenSSL, jedoch kein Management der Zertifikate. Das IDX-PKI-Team versuchte sich zuerst an OpenCA zu beteiligen, entschied sich jedoch im April 2000 für ein eigenes Projekt.

Derzeit ist IDX-PKI zwar noch nicht vollendet, aber bereits einsatzfähig. Geplant sind unter anderem eine sichere Kommunikationsmöglichkeit zwischen verschiedenen PKIs, voller OCSP-Support und eine weitere Abstraktionsebene, um die Wahl des Back-Ends (Datenbank, LDAP, Filesystem) freizustellen. Außerdem soll die Administration unabhängig vom Interface werden.

Laut Benoit Picaud findet das Projekt großes Interesse bei den Kunden, die aktiv und zügig bei der Erstellung der IDX-PKI-v2 mithelfen. Neben der Einhaltung der RFC-Spezifikationen ist dies für ihn eine der Hauptstärken des Projekts. Da es zudem auch für andere Unternehmen kommerziell interessant sein dürfte, sollte es an willkommener Hilfe eigentlich nicht mangeln.

Genug für dieses Mal

Damit soll es für diesen Monat genug gewesen sein, ich hoffe, ein paar interessante Anregungen gegeben zu haben, und bitte wie immer um zahlreiche Kommentare, Anregungen, Ideen und natürlich Projektvorstellungen an die übliche Adresse [1]. (uwo)

Der Autor

Dipl.-Phys. Georg C. F. Greve beschäftigt sich seit etlichen Jahren mit freier Software und kam früh zu GNU/Linux. Nach Mitarbeit im GNU-Projekt und seiner Aktivität als dessen europäischer Sprecher hat er die Free Software Foundation Europe initiiert, deren Präsident er nun ist. Mehr Informationen finden sich unter [http://gnuhh.org].

Infos

[1] Ideen, Anregungen, Kommentare an die Brave GNU World: [column@brave-gnu-world.org]

[2] Homepage des GNU-Projekts: [http://www.gnu.org/]

[3] Homepage von Georgs Brave GNU World: [http://brave-gnu-world.org]

[4] “We run GNU”-Initiative: [http://www.gnu.org/brave-gnu-world/rungnu/rungnu.de.html]

[5] Freeciv-Homepage: [http://www.freeciv.org]

[6] Mitwirkende an Freeciv: [http://www.freeciv.org/people.phtml]

[7] XWeb-Homepage: [http://xweb.sf.net]

[8] Saxon-Homepage: [http://saxon.sourceforge.net]

[9] Batik-Homepage: [http://xml.apache.org/batik]

[10] Homepage General Server Pages (GSP): [http://gsp.sourceforge.net]

[11] GNU Classpath Extensions: [http://www.gnu.org/software/classpathx]

[12] Homepage GNU Classpath: [http://www.gnu.org/software/classpath]

[13] Homepage GNU and Java: [http://www.gnu.org/software/java]

[14] IDX-PKI-Homepage: [http://idx-pki.idealx.org]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben