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

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

Welcome to another issue of the Brave GNU World. This issue bears the number 36, which means the Brave GNU World has its third anniversary. For this reason you'll find some celebratory words below, but first some projects will be introduced. This month, another Free game will make the start.


Pingus [5] is a game developed under the GNU General Public License by Ingo Ruhnke, Giray Devlet, Cagri Coltekin, David Philippi and Alberto Curro.

The game concept was inspired by the rather successful proprietary game "Lemmings" by DMA Design, in which a player had to direct loads of lemmings through perilous levels to the saving exit. The only way to influence the flow of lemmings is to make some of them individuals and give them special jobs like policeman, digger or even bomber.

Pingus allows doing all these things to little penguins which bear a striking resemblance with Tux, the mascot of the Linux kernel.

The game was started in 1998 and after an announcement on Slashdot some graphically adept users began improving the graphics, giving Pingus a very attractive look. The graphics even triggered spin-offs like Xpenguins, [6] which lets the Pingus-protagonists roam the desktop.

At the end of 2000, development came to an almost complete stop, but a year later some fresh programmers helped overcoming this unvoluntary pause.

The game is not finished yet and according to Ingo Ruhnke "it still doesn't feel like a real game." This may also be partially because no sound effects have been implemented although there is plenty of music. Also more and interesting levels are needed.

Help is wanted in many forms. Developers are as welcome as people contributing to sound effects or more levels.

Level design does not require programming knowledge, by the way, since everything is done with XML. The game itself was written in C++ and reportedly runs under GNU/Linux. It may be able to also run it on other Unix derivates, but the developers are more interested in a Win32 port at the moment.

The immediate plan is to finish the Windows port and release a new, completely playable version. Afterwards multiplayer as well as network support and a consistent story line are to finish the game.

At the moment, the game can only be recommended to users willing to play around with half-finished games and who might like to contribute parts to it.

Process View Browser

The Process View Browser (pvbrowser) [7] by Rainer Lehrig provides a structure for process visualization. This is important in all areas where technical processes are to be visualized or controlled. Examples of proprietary programs performing similar tasks are WinCC or Wonderware.

The project consists of a server and a browser, which communicates with the user. Unlike in comparable projects, all configuration is done on the server-side.

A user modifies the server accordingly with ones wishes and needs, ie writes routines interacting with the hard- or software and defines which objects are to be displayed and controlled in which way. These components are displayed by the browser according to the information provided by the server over the network.

Programming languages used for this project were C++ with Qt as the graphical toolkit for the browser and ANSI C for the server. The project is very platform-independent, it runs on GNU/Linux as well as under Windows or VMS. According to the information provided by Rainer Lehrig, the browser is faster on a 330MHz GNU/Linux notebook than on a 1GHz Windows NT system, which he blames on the networking code.

The platform independence is immediately linked to the one downside of the project, which made me think very hard about whether I should feature it in the Brave GNU World. The Process View Browser is only Free Software under GNU/Linux, for which it is released under the GNU General Public License. The project is proprietary under Windows and VMS.

Two factors convinced me to write about it in the Brave GNU World. First of all this area has been dominated by purely proprietary versions until now, so the project certainly makes a step into the right direction. Also the user is capable of using it as entirely Free Software as long as the GNU/Linux platform is being used.

Additionally, the license-situation of the Qt toolkit is very much comparable since only the X11-Version is available as Free Software, while the Windows and Mac versions repain proprietary. Since Qt is being used by the Process View Browser, a Free Windows version of the pvbrowser would not really help a user since dependency on the proprietary Qt still remains.

Qt is a respected Free Software library under GNU/Linux that is being used for many important projects like the K Desktop Environment (KDE) and was mentioned in the Brave GNU World many times already. So it seemed unjust to not mention the Process View Browser because of a comparable licensing policy.

Hope remains that the versions for systems other than GNU/Linux will also be available as Free Software in the long term - a hope that equally applies to Qt and the Process View Browser.

Rainer Lehrig has been working on the pvbrowser all by himself so far and is now looking for others who might be willing to help testing or contribute ideas and code. Volunteers are also sought for documentation.

If you are interested in this field, please feel encouraged to participate in the Process View Browser is recommended. I recommend only doing so for the GNU/Linux version, however and authors of documentation should take care to release it under the GNU Free Documentation License or a similar license. Only in these cases it will be reasonably safe that work contributed will continue to benefit the Free Software community.

In order to prevent possible misunderstandings I'd like to emphasize that the described problems do not lessen the contribution of Rainer Lehrig for Free Software. Bringing Free Software into a hitherto proprietary field is always a very important task.

Still it remains important to be aware of the problems and understand what they mean.


In June 2000 Philip Iezzi began working on a software to host web page counters under PHP and the result of his work is available since January 2001 as PowerPhlogger [8] under the GNU General Public License.

Similar services are relatively common on the net, but usually they are proprietary and also rather unsatisfactory. PowerPhlogger allows everyone to set up such a service, even if the relevant pages do not support PHP. The creation of accounts with these services can either be done by an administrator or the users themselves. An example for this is the gratis PowerPhlogger service "Freelogger." [9]

The functionality of PowerPhlogger surpasses that of most proprietary solutions. Among the features is counting of real visitor numbers through "unique hits" instead of counting every page access. This is done by IP-comparison in combination with a cookie-check and a timeout defined by the user. Also PowerPhlogger offers so-called "visitor paths," allowing to follow the path a user has taken on a page. Also it keeps track of the time a user spent browsing the page.

Of course the PowerPhlogger is capable of displaying counters on pages that can be fitted to the layout of the page through TTF and user-defined colours. Even the layout of the statistics page can be modified to suit the user's taste with CSS modifications. Additionally, the project has been internationalized for 16 languages and supports different time-zones.

All data is currently stored in a mySQL database, but version 3 of the PowerPhlogger, which is estimated to be released in October 2002, will contain a database abstraction layer. Also some not-so-beautiful code parts will be cleaned up and rewritten for object orientation.

Help is welcome in any form - including financial support. Philip also needs volunteers to provide support in the online-forum.

GNU Stow

GNU Stow [10] is an extremely useful project for everyone installing software that is either not available for the employed distribution or has to be installed from source for other reasons.

Under usual circumstances such activities tend to act as proof that the second law of thermodynamics applies to computer systems, as well: Entropy remains the same or rises, but it never decreases. In other words this means that systems have the tendency to become increasingly messy. GNU Stow offers a solution for this.

Stow has its own directory tree, which usually resides at /usr/local/stow. New packages are installed into their own subdirectories in this directory tree. Calling Stow will create symbolic links, making sure all files of the package appear in the standard filesystem hierarchy where other programs look for them. If the package is to be uninstalled, one can simply delete the install directory and/or remove the links by calling Stow again.

Originally, Stow was written 1993 by Bob Glickstein in Perl, but lack of time forced him to stop development. GNU Stow is now maintained by Guillaume Morin, who mostly has to do little things as the project has been stable for some years now.

If you haven't tried out GNU Stow yet, I can only recommend taking a look.

GNU gettext

GNU gettext [11] is a project probably known to most developers already and also a package that only developers and translators will ever come in direct contact with.

It does play a crucial role for users, however, since it allows programs to communicate with them in their native language. So I'd like to introduce this important component here.

Although details should be spared, a short introduction into the functional concept seems useful at this point: When developing programs, all output is normally written in English. All user interaction strings are collected by GNU gettext in a single file.

If a program is to be localized, translators can make a copy of this file, translate all the strings in this simple ASCII file into their native language and mail it back to the developer. If this file is then copied into the right directory under the right name, the program supports that language after the next compilation.

When the user runs the program, GNU gettext will try to supply him or her with the messages in the users preferred language. Whenever this isn't possible because the translation is not complete or doesn't exist at all, gettext falls back to the original/English version.

Supporting incomplete translations was one of the design goals of GNU gettext, because programs evolve step by step and very often it will happen that the translators are one or two steps behind the developer.

GNU gettext consists of several tools under the GNU General Public License as well as libraries under the GNU Lesser General Public License. It complies with the Unix-standards X/Open and Li18nux2000, was originally written in 1995 by Ulrich Drepper and has become the de-facto standard for internationalization of software in and outside of the GNU Project amazingly fast.

Recently Bruno Haible took over as the GNU gettext maintainer. He currently focuses on expanding GNU gettext to more languages and thinks about integrating simple spell-checking sometime in the future.

Bruno felt two anecdotes were worth sharing with the Brave GNU World audience. First of all there is a distinguished and apparently quite active team working on the translations from American to British English. This seemed somewhat easier than a translation to Japanese to him.

Also he warns all programmers to try translating their programs into other languages - especially if it is not their native language. Some translations he has uncovered were worse than no translation at all as far as he was concerned.

Experience shows that translations into French, Swedish, German and Spanish are provided quite often, other languages could use more volunteers, however. Localizing a program for your own language is a very good way of furthering Free Software in a practical way that needs little technical expertise.

Three years Brave GNU World

What began as an experiment is now three years old, this is issue 36 of the Brave GNU World, so I'm tempted to take a quick glance back.

The column initially began as a wild idea between Tom Schwaller, editor of the German "Linux-Magazin" at the time, and me on the 512-node GNU/Linux Cluster "CLOWN," at which I gave my first appearance as European speaker for the GNU Project. [12]

Tom approached me with the idea of a GNU column. Arriving back home I knew that I wanted to try writing a column that would also have the mix of technical and philosophical issues making the GNU Project so special. Still I was sceptical whether this was possible and whether I'd be able to fill the column each and every month in time for the print-issue.

From the very first moment it was clear that the column should also be published on the net in order to make it available to as many people as possible. Doing this only in German seemed of limited use, so issue 1 was first written in German and then translated into English by me in order to be released online together.

After releasing issue 2, something remarkable happened. Within a few days, Okuji Yoshinori and Francois Thunus contacted me and asked whether I'd agree if they translated the column into Japanese and French. Of course I was quite happy about that and immediately included them in the production process of the Brave GNU World.

The dam broke; more volunteers contacted me for other translations and soon other magazines requested permission to print the Brave GNU World.

Today the column appears in up to 7 languages online and 4 magazines worldwide. Without the help of so many volunteers, this would never have been possible.

The companions of the early days mentioned above all went their own ways by now, their jobs being taking over by others. I'd like to list everyone helping with the Brave GNU World, but there is hardly enough place for it. On a single issue you'll easily find 30 people helping as scout, proofreader, translator, webmaster and so on. And even if some have participated for a long time now, there is always a certain amount of fluctuation.

All these people and the other supporters of the Brave GNU World I would like to express my heartfelt thanks to for the past three years.

Also I'd like to thank all those who contacted me in persona or email to tell me about interesting projects, give feedback or discuss topics they had a different opinion about. Their involvement was a seminal part in filling the Brave GNU World with life.

...to another year

Enough said, I hope we'll see another good year Brave GNU World and of course I don't want to finish without the mandatory request for feedback, comments, new projects, questions and ideas.

Which project is incredibly useful, funny or good and still unknown to many users? Please send answers 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] Pingus home page http://pingus.seul.org
[6] XPenguins home page http://xpenguins.seul.org
[7] Process View Browser home page http://pvbrowser.sourceforge.net
[8] PowerPhlogger home page http://www.phpee.com/
[9] Freelogger home page http://www.freelogger.com
[10] GNU Stow home page http://www.gnu.org/software/stow/
[11] GNU gettext home page http://www.gnu.org/software/gettext/
[12] "History and Philosophy of the GNU Project" http://www.gnu.org/philosophy/greve-clown.en.html

[ 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: Mon Feb 4 18:02:10 CET 2002