[image of a Brave GNU World]
Brave GNU World - Ausgabe 31
Copyright © 2001 Georg C. F. Greve <greve@gnu.org>
Permission statement below.

[DE | EN | FR | JA | ES | KO | PT]

Willkommen wieder einmal zu einer Ausgabe der Brave GNU World. Da der Mensch jedoch nicht nur arbeiten soll, werde ich diesen Monat ein freies Spiel vorstellen. Doch zunächst ein paar Worte zu freien Spielen im Allgemeinen.

Freie Spiele?

Gerade Spiele sind aufgrund ihrer Schnellebigkeit und des geringen Servicebedarfs oft noch Sorgenkinder der Freien Software. Auch wenn einige Unternehmen Spiele mittlerweile auf GNU/Linux portieren, sind diese Spiele doch zumeist weiterhin proprietär.

Natürlich kann man sagen, daß Spiele selten anwendungskritisch sind. Dies ist sicherlich zutreffend und Spiele sind nicht der wichtigste Teil Freier Software. Das macht sie aber nicht unwichtig. Mit Spielen beginnen manche Leute, sich mit ihrem Computer auseinanderzusetzen bzw. "anzufreunden". Und oft sind gerade die Spiele das "Killerfeature", daß Leute dazu veranlaßt, unfreie Betriebssysteme auf ihren Rechnern zu installieren.

Zudem scheint mir die Spieleindustrie in den letzten Jahren immer weniger Ideen durch mehr Effekte ausgleichen zu wollen. Dies mag ein subjektiver Eindruck sein, der sich bei näherer Betrachtung nicht halten läßt, doch die ersten Computerspiele hatten scheinbar mehr Witz.

Gerade bei diesem Problem könnten sich durch das Zusammenspiel einer Community einmalige Chancen für spannende und nichtlineare Handlungsstränge ergeben, die bisher scheinbar nicht genutzt werden.

Da oft die mangelnde Nutzerbasis Schwierigkeiten für das Entstehen neuer Gebiete darstellt, möchte ich in der Brave GNU World gerne öfter freie Spiele vorstellen. Wer also viel Spaß mit einem freien Spiel hat oder aber selber an einem arbeitet, den bitte ich, sich bei mir zu melden [1]. Auch der Hinweis auf ein Portal, welches sich exklusiv Freien Software-Spielen widmet, wäre hilfreich. Doch damit genug der Einleitung.

Freeciv

Bei Freeciv [5] handelt es sich um eine freie Implementierung des bekannten Spiels Civilization II® der Firma Microprose® unter der GNU General Public License.

Wer mit dem erwähnten Spiel noch keine Erfahrung hat, dem sei gesagt, daß es darum geht, die Rolle des Oberhaupts eines Volkes zu übernehmen und dafür Sorge zu tragen, daß es wächst und gedeiht. Dabei müssen Resourcen 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 einen Grund darstellt, warum es Manchem so schwer fällt, ein Ende zu finden.

Freeciv ist bereits sehr ausgereift und der Spieler kann zwischen 47 Einheiten und 61 Nationen wählen, die in vorbereiteten Karten und Szenarien zum Einsatz kommen können. Das Spiel ist außerdem Internationalisiert, spricht also mit vielen Spielern in ihrer Muttersprache und verfügt auch über eine Hilfe im Spiel.

Besonders zeichnet Freeciv jedoch die starke Gemeinschaft aus, die sich um dieses Spiel entwickelt hat und über den #freeciv ircnet-Kanal kommuniziert. Ein Grund dafür ist sicherlich auch, daß Freeciv bis zu 30 Spieler unterstützt, die entweder durch eine "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 auch Windows bzw. OS/2, sofern 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 diesen genannten hat es eine beeindruckende Anzahl an Mitwirkenden zu den üblicherweise im 3-Monats-Turnus erscheinenden Versionen gegeben, die der geneigte Leser online [6] findet.

Die größten Probleme haben momentan noch die Microsoft-Benutzer, doch dieses Problem dürfte durch Installation von GNU/Linux zu beseitigen sein. Probleme drohen ansonsten nur durch das hohe Sucht- und Zeitverschlingungspotential von Freeciv, wer also gerade an einem wichtigen Projekt arbeitet, sollte das Ausprobieren u.U. bis nach Projektende verschieben.

Stefan Kamphausen, Autor des Brave GNU World Logos, hat das folgende Projekt aufgespürt.

XWeb

XWeb [7] erlaubt es, den Inhalt und die Struktur von Webseiten in XML/XSL zu schreiben, um daraus HTML-Seiten zu generieren. Dies 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 die oft nicht unerhebliche und selten erfreuliche Arbeit der Webseiten-Navigation dem Benutzer von XWeb abgenommen.

XWeb setzt auf Java & XSLT auf, wobei der Saxon [8] XSLT-Prozesser verwandt wird. Es beruht, anders als bei manchen Projekten, alles auf XML, auch die Makefiles. 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, Banners usw. über einen internen Renderer oder die externe Erzeugung von "Scalable Vector Graphics" (SVG) über Batik [9].

Diese Eigenschaften kombiniert mit der Flexibilität durch umfassende Verwendung von XSLT Stylesheets machen die besonderen Stärken von XWeb aus.

Das Projekt wird hauptsächlich von seinem Initiator, Peter Becker, vorangetrieben, der mit der Arbeit begann, weil ihm diese Funktionalität in einem anderen Projekt fehlte.

XWeb ist Freie Software, auch wenn die Lizensierung als "Public Domain" ("gemeinfrei") nicht optimal ist, da sie alles erlaubt, inklusive der Anbringung eines eigenen Copyrights, und die Freiheiten der Benutzer nicht schützt.

Die Pläne für die nahe Zukunft sehen vor, das Programm etwas abzurunden und Support für XSL-FO zu implementieren, sowie die Erstellung von Templates für die gebräuchlichsten Layouts. Später möchte er gerne anwendungsspezifische Frontends (z.B. für Foto oder MP3-Alben) und vielleicht sogar ein WYSIWYG Tool hinzufügen.

Hilfe ist dabei besonders in Form von Autoren für Templates und Frontends sowie Feedback von Benutzern willkommen.

General Server Pages

Auch das General Server Pages (GSP) [10] Projekt 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.

Das Erstellen von CGI Applikationen besteht zu großen Teilen aus Wiederholungen und trivialem Code, dabei ist letztlich das Ziel, eine bestimmte Ausgabe zu erzeugen. Daher erlaubt GSP, die Ausgabe in einer Mischung aus XML, GSP und der gewünschten Programmiersprache zu schreiben, um dann mit Hilfe von GSP in einen compilierbaren Sourcecode bzw. ein Skript umgewandelt zu werden, das die gewünschte Ausgabe in Form von HTML, XML, SGML oder plain text erzeugt.

Dies spart nicht nur viel Zeit und Nerven, es erhöht auch die Wiederverwendbarkeit des Codes. Von GSP momentan unterstützte Programmiersprachen sind C, C++, Bash, Ksh, Perl und JavaScript, es ist jedoch verhältnismäßig einfach, weitere Sprachen hinzuzufügen. Darüberhinaus kann GSP auch Applikationen erzeugen, die mehrere Seiten beinhalten und automatisch die Seiten miteinander verlinken.

Geschrieben wurde GSP in C++ unter der GNU General Public License und es handelt sich noch um ein recht junges Projekt, seinen Ursprung nahm es 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. Auch die Module für die verschiedenen Sprachen können noch verbessert werden, insbesondere möchte Sebastien gerne dafür sorgen, daß der Code sicher ist. Hilfe ist bei diesen Dingen 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 teilweise recht verbreiteter Mythos, daß 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.

Das GNU Classpath Extensions Projekt [11] wurde ursprünglich von Andrew Selkirk begonnen und hat das Ziel, das GNU Classpath Projekt [12] um freie Implementationen der verschiedenen Java Erweiterungsbibliotheken von Sun (javamail, jaxp, usw.) zu bereichern. Diese 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 und als Lizenzen kommen die GPL sowie die Lesser GPL zum Einsatz. Ein Fokus des Projektes liegt darauf, herstellerunabhängigen Java-Code zu erzeugen, der auf allen Virtual Machines, vor allem aber auch den Freien laufen soll.

Das Projekt ist noch recht jung und es gibt im Moment noch keine Release, obwohl die erste Version bald zu erwarten ist. Hilfe ist Nic Ferrier und Andrew Selkirk dabei sehr willkommen.

Wer sich darüberhinaus für die Aktivitäten des GNU-Projekts in und um Java interessiert, dem sei die "GNU and Java" Webpage [13] empfohlen.

IDX-PKI

Das IDX-PKI Projekt [14] ist die erste "Public Key Infrastructure", die als Freie Software verfügbar ist und den IETF PKIX Standards 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, möchte ich kurz versuchen, die Idee dahinter vereinfacht zu skizzieren.

Bei den sogenannten "Public Key"-Verfahren, wie es beispielsweise von PGP oder der freien OpenPGP-Implementation GnuPG benutzt wird, verfügt jeder Teilnehmer über ein Schlüsselpaar. Dieses Schlüsselpaar besteht aus einem geheimen und einem öffentlichen Schlüssel. Der geheime Schlüssel darf unter keinen Umständen in fremde Hände gelangen, während der öffentliche Schlüssel so weit gestreut wird wie möglich.

Mit dem privaten Schlüssel ist es nun möglich, beispielsweise Emails zu signieren, deren Signatur mit dem öffentlichen Schlüssel verifziert werden kann. Ein Signieren mit dem öffentlichen Schlüssel ist nicht möglich, daher weiß der Empfänger einer signierten Mail, daß diese Email von dem Besitzer des privaten Schlüssels unterschrieben wurde.

Nun ist die Erzeugung von Schlüsseln jedoch allgemein zugänglich, daher gibt es zunächst keine Garantie dafür, daß der private Schlüssel wirklich zu der realen Person gehört, zu der er zu gehören vorgibt.

Eine Lösung dieses Problems bietet eine "Certification Authority" (CA). Diese wird oft von sogenannten TrustCentern betrieben, die damit sicherstellen, daß 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 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 auch in das Unternehmen selber 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.

Alle diese Dinge sind für viele Unternehmen wichtig, doch beispielsweise Banken, Versicherungen oder e-commerce Märkte sind geradezu darauf angewiesen.

Nun steht diesen Unternehmen eine Freie Software Lösung zur Verfügung, damit hat IdealX einen wichtigen Beitrag zur Verbreitung Freier Software geleistet.

Das Entwicklungsteam versuchte zunächst, sich am OpenCA Projekt zu beteiligen. Allerdings ist OpenCA ausschließlich eine Certification Authority und keine vollständige PKI, sie erlaubt lediglich die Erstellung von Zertifikaten mit OpenSSL, jedoch kein Management der Zertifikate. Daher wurde das Projekt im April 2000 gestartet.

Für die IDX-PKI werden Perl, PHP, C, Shell sowie einige GNU Utilities eingesetzt und sie ist bereits einsatzfähig, auch wenn natürlich noch immer daran gearbeitet wird. Geplant ist u.A. eine sichere Kommunikationsmöglichkeit zwischen verschiedenen PKIs, voller OCSP Support und eine weitere Abstraktionsebene, die die Wahl des Backends (Datenbank, LDAP, Filesystem) freistellen wird. Außerdem soll die Adminstration unabhängig vom Interface werden.

Es gibt also noch einiges zu tun, allerdings stößt dieses Projekt laut Benoit Picaud auf 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 sich zudem um ein Projekt handelt, welches auch für andere Unternehmen kommerziell interessant sein dürfte, sollte es an 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 üblich um zahlreiche Kommentare, Anregungen, Ideen und natürlich Projektvorstellungen an die übliche Adresse [1].

Info
[1] Ideen, Anregungen, Kommentare an die Brave GNU World: column@brave-gnu-world.org
[2] Homepage des GNU-Projektes: http://www.gnu.org/
[3] Homepage von Georg's Brave GNU World: http://brave-gnu-world.org
[4] "We run GNU" Initiative http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.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] General Server Pages (GSP) Homepage: http://gsp.sourceforge.net
[11] GNU Classpath Extensions Homepage: http://www.gnu.org/software/classpathx
[12] GNU Classpath Homepage: http://www.gnu.org/software/classpath
[13] GNU Java Homepage: http://www.gnu.org/software/java
[14] IDX-PKI Homepage: http://idx-pki.idealx.org

[ previous issue | Brave GNU World home | next issue ]

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org.
There are also other ways to contact the FSF.

Please send comments on Georg's Brave GNU World (in English or German) to column@gnu.org,
send comments on these web pages to webmasters@www.gnu.org,
send other questions to gnu@gnu.org.

Copyright (C) 2001 Georg C. F. Greve

Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.

Last modified: Sun Jun 17 17:37:39 CEST 2001