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

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

Welcome to another issue of the Brave GNU World. Since all work and no play makes Jack a dull boy, I'll introduce a Free Software game this month. But before I do I'd like to say a few words about Free games in general.

Free Games?

Because of their small servicing needs and fast-paced market, Free games are a rather problematic area. And even if some companies port games to GNU/Linux by now, these games usually remain proprietary.

Of course it is true that games are usually not mission-critical and not the most important part of Free Software. But this does not make them insignificant. Games are often the first contact of people with their computer and play a significant role in "befriending" themselves with their computer. And quite often games are the "killer feature" that makes them install unfree operating systems on their machines.

Another issue that the gaming industry seems to be replacing innovative ideas by more and more effects. This may be a quite subjective impression and not hold up to scrutiny, but it very often seems that the first games were significantly more witty.

In this area the interaction of a community might open new perspectives for captivating, nonlinear plots. It appears this potential is not yet being used.

Very often a lacking user base is a problem for new areas, so I'd like to introduce Free games in the Brave GNU World more often. If you are having fun with a Free game or are working on one yourself, please get in touch [1]. Also information about a portal that is exclusively dedicated to Free games would be quite useful. Enough introduction for now, lets get started.


Freeciv is a Free implementation of the well-known game Civilization® by Microprose® under the GNU General Public License.

For those not having experience with the game mentioned above I'd like to say that the game is about becoming the sovereign of a civilization and taking care that people grow and prosper. This involves finding resources, building cities, furthering science and keeping competitors at bay. A major advantage of the game is its nonlinearity and the continuous evolution, which makes it so hard for many to find an end when playing this game.

Freeciv is already quite sophisticated and a player can choose between 47 units and 61 nations that can be played in prepared maps and scenarios. The game is also internationalized, so it speaks to the player in his or her mother tounge and has an in-game help.

One of the extraordinary thing about Freeciv is the very active and lively community that has evolved around it and communicates through the #freeciv ircnet-channel. One reason for this is surely that Freeciv supports up to 30 players that can either be played by an "artificial intelligence" (ai) or by a networked human player (LAN or internet). Also Freeciv runs on all standard Unices as well as Windows and OS/2, given that the Cygnus Unix-environment is installed.

Originally, Freeciv has been started by Peter Joachim Unold, Claus Leth Gregersen and Allan Ove Kjeldbjerg, but by now the administration is done by Thue Janus Kristensen and Tony Stuckey. Besides these people, an impressive amount of volunteers have contributed to the versions that normally come out in three-month cycles. You can find the list online at [6].

Microsoft-users are currently experiencing the greatest problems, but this might be solved by installing GNU/Linux. Other problems are caused by the extreme addictiveness and time-consumption of Freeciv, so if you're currently working on an important project, you might want to postpone trying out Freeciv until the project has been finished.

Stefan Kamphausen, author of the Brave GNU World logo, has tracked down the following project.


XWeb [7] allows writing content and structure of web pages in XML/XSL in order to generate HTML pages from it. This does not only offer a performance advantage compared to dynamic pages, it also allows switching to a new layout or design with minimal changes. Especially the often quite significant but seldom entertaining work of creating the navigational structure is done for the user by XWeb.

XWeb is based on Java & XSLT with Saxon [8] as the XSLT processor. Other than with some projects, everything is based on XML, even the Makefiles. The HTML-pages created by XWeb are entirely independent from XWeb, so they can be transferred to a web server by FTP, for instance.

Other than some XSL-processors, XWeb also allows the automatic generation of buttons, banners and such through an internal renderer or the external generation of "Scalable Vector Graphics" (SVG) by Batik [9].

These features combined with the flexibility through use of XSLT stylesheets are the specific strengths of XWeb.

The project is mostly pushed forward by its initiator, Peter Becker, who started the project because he was lacking this functionality in another project.

XWeb is Free Software, even if the licensing as "public domain" is not optimal, because it allows anything to putting it under your own copyright. So the freedoms are not protected in any way.

Plans for the future are to complete the program and include support for XSL-FO as well as generating templates for the most often use layouts. Later he'd like to add application-specific frontends (for foto- or MP3-albums, for example) and maybe even a WYSIWYG tool.

Help is welcome especially in form of authors for templates and frontends as well as feedback by users.

General Server Pages

The General Server Pages (GSP) [10] project by Sebastien Devaux is also related directly to the internet, although it is more on the dynamical side. GSP is a preprocessor which allows for extremely easy creation of applications for structured output in different programming languages - which is especially useful for creating CGI applications.

Writing CGI applications very often means repeating big amounts of rather trivial code with the goal of creating a certain output. Therefore GSP allows specifying the output in a mixture of XML, GSP and the desired programming language in order to be transformed by GSP into a compilable source code or script creating the desired output as HTML, XML, SGML or plain text.

This does not only spare time and nerves, it also increases the reusability of code. Programming languages currently supported by GSP are C, C++, Bash, Ksh, Perl and JavaScript; adding other languages is pretty simple. GSP can also create applications containing several pages and link them with each other.

GSP was written in C++ and published under the GNU General Public License. It is still a rather young project as it started in February 2001. Problems are still the correct handling of MIME extensions as this requires external libraries, but this choice should be up to the user. The modules for the different languages can also be improved and Sebastien would like to make very sure that the generated code is safe. Help is welcome.

Even if it shouldn't be used for security-aware areas, GSP is already functional and can probably make life easier for some people.

GNU Classpath Extensions

It is a rather wide-spread myth that the GNU project and its licenses are incompatible with Java. Because of this, Nic Ferrier, maintainer of the GNU Classpath Extensions [11], asked me to write a few words about his project.

The GNU Classpath Extensions project [11] has originally been started by Andrew Selkirk and has the goal to extend the GNU Classpath project [12] with Free implementations of the different Java extension libraries by Sun (javamail, jaxp, usw.). These libraries provide extended functionality for the Java-platform and a set of standard solutions for many common problems. Since the libraries by Sun are unfortunately unfree, the reimplementation as Free Software became necessary.

The GNU Classpath Extensions are being written in Java with very small parts of C and use the GPL as well as the Lesser GPL for some parts. Creating vendor-independent code is one focus of the project, so the code should be able to run on all virtual machines - especially the Free ones.

The project is still very new and there is no release available at the moment, although the first release is to be expected soon. Both Nic Ferrier and Andrew Selkirk very much appreciate help.

If you are interested in learning more about the activities of the GNU project in and around Java, please feel pointed at the "GNU and Java" web page [13].


The IDX-PKI project [14] is the first IETF PKIX standards-compliant "Public Key Infrastructure" available as Free Software. It was developed by the French company IdealX that publishes and maintains it under the GNU General Public License.

Since the term PKI is probably not familiar to many readers, I'd like to give a very terse and abstract introduction into the idea behind it.

In any "Public Key" implementation, like PGP or the Free OpenPGP implementation GnuPG, every user has a keypair. This keypair consists of one private and one public key. The private key must never leave the users hands, while the public key is spread as far as possible.

The private key allows the user to (for instance) sign Emails and everyone can verify the signature with the public key. Signing the mail with the public key is not possible, so the recipient knows that the mail has been signed by the owner of the private key.

But anyone can create a key, so there is no guarantee that the private key really belongs to the person it claims to belong to.

A solution for this problem is a "Certification Authority" (CA). This is often provided by so-called TrustCenters that make sure the identity of the users has been checked. Providing a Certification Authority is one of the primary jobs for a PKI.

The IDX-PKI project allows every company and organization to set up their own CA-structure. This makes it possible to put the exact same amount of trust that you have into the company into every single employee. The tasks of creating and revoking keys is done centrally by the PKI.

A PKI does not only allow identification and authentication, it also allows confidential information, integrity of data and non-repudiation in case of problems.

All these things are important to many companies, but banks, insurances or e-commerce markets depend on it.

Now these companies have access to a Free Software solution, which is a big contribution to Free Software by IdealX.

Originally, the project team tried to get involved in the OpenCA project. But OpenCA is only a CA and not a complete PKI, it only allows for creation of certificates through OpenSSL, but it does not provide certificate management. Therefore IDX-PKI was started in April 2000.

The IDX-PKI uses Perl, PHP, C, Shell as well as some GNU utilities and it is already ready for daily use although it is still being improved. Planned are (among other things) a capability for secure communication between different PKIs, full OCSP support and another abstraction layer that will make it possible to choose the backend (database, LDAP, file system). Also the administration will become interface-independent.

So there is still quite some things in the queue, but according to Benoit Picaud the customers are very interested in this project and actively support the speedy and interactive development of the IDX-PKI-v2. He even considers this strong cooperation to be one of the big strengths of the project - along with the RFC-compliance.

Since this is a project that is also commercially interesting for many other companies, finding help should not pose a problem.

Enough for this time

That's it for this month, I hope I was able to give some interesting impulses and as usual I'm asking for comments, ideas, feedback and project introductions to the usual address [1].

[1] Send ideas, comments and questions to Brave GNU World <column@brave-gnu-world.org>
[2] Home page of the GNU Project http://www.gnu.org/
[3] Home page of 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 home page http://www.freeciv.org
[6] People involved in Freeciv http://www.freeciv.org/people.phtml
[7] XWeb home page http://xweb.sf.net
[8] Saxon home page http://saxon.sourceforge.net
[9] Batik home page http://xml.apache.org/batik
[10] General Server Pages (GSP) home page http://gsp.sourceforge.net
[11] GNU Classpath Extensions home page http://www.gnu.org/software/classpathx
[12] GNU Classpath home page http://www.gnu.org/software/classpath
[13] GNU Java home page http://www.gnu.org/software/java
[14] IDX-PKI home page 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: Wed Sep 19 12:37:42 CEST 2001