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

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

Willkommen zu einer weiteren Ausgabe der Brave GNU World. Diese Ausgabe trägt bereits die Nr. 36, was bedeutet, die Brave GNU World wird drei Jahre alt. Aus diesem Grund finden sich unten ein paar Worte zum Jubiläum, vorher sollen jedoch noch einige Projekte vorgestellt werden. Den Anfang macht auch diesen Monat ein Freies Spiel.

Pingus

Pingus [5] ist ein Spiel, das von Ingo Ruhnke, Giray Devlet, Cagri Coltekin, David Philippi und Alberto Curro unter der GNU General Public License entwickelt wird.

Vorbild für das Spielkonzept war das recht erfolgreiche proprietäre Spiel "Lemmings" von DMA Design, bei dem es darum ging, Horden von Lemmingen möglichst vollständig durch vor Gefahren strotzende Level in einen rettenden Ausgang zu leiten. Dabei greift der Spieler in den Verlauf ein, indem er oder sie einzelne Lemminge aus der Masse herausgreift und zu Individuen macht, die unterschiedlichste Aufgaben vom Verkehrspolizisten über den Buddler bis hin zum Bomber wahrnehmen.

Alle diese Dinge kann man in Pingus kleinen Pinguinen antun, die Tux, dem Maskottchen des Linux-Kernels, bedenklich ähnlich sehen.

Begonnen wurde das Spiel 1998 und nach einer Bekanntmachung auf Slashdot begannen einige grafisch versierte Nutzer, die Grafik des Spieles aufzubessern, wodurch Pingus ein sehr ansprechendes Äußeres erhielt. Dies hat sogar dazu geführt, daß es "Spin-Offs" wie das Programm Xpenguins [6] gegeben hat, bei dem die Pingus-Protagonisten den Desktop unsicher machen.

Gegen Ende des Jahres 2000 kam die Entwicklung nahezu zum Stillstand. Dieses Formtief wurde ein Jahr später jedoch durch den Neueinstieg von einigen Programmierern überwunden.

Fertig ist das Spiel noch nicht und laut Aussage von Ingo Ruhnke "fühlt sich Pingus noch nicht wie ein richtiges Spiel an". Dies mag auch daran liegen, daß bisher noch keine Soundeffekte implementiert wurden, auch wenn bereits reichlich Musik vorhanden ist. Bedarf besteht ebenfalls an weiteren reizvollen Leveln.

Hilfe wird daher in vielfältiger Form gesucht. Entwickler sind ebenso willkommen wie Leute, die sich der Soundeffekte annehmen oder weitere Level entwerfen wollen.

Zum Design der Level sind übrigens keine Programmierkenntnisse erforderlich, da hierfür auf XML zurückgegriffen wird. Das Spiel selber ist in C++ geschrieben worden und läuft nachweislich auf GNU/Linux. Es mag mit geringem Aufwand auch auf anderen Unix-Derivaten laufen, das Hauptaugenmerk der Entwickler liegt aber eher auf einer Win32 Portierung.

Die unmittelbaren Pläne beinhalten, den Windows-Port fertigzustellen und eine neue, vollständig spielbare Version herauszugeben. Danach sollen Multiplayer- sowie Netzwerk-Unterstützung und auch eine konsistente Storyline das Spiel abrunden.

Empfohlen werden kann dieses Spiel also nur Benutzern, die bereit sind, sich auch bereits mit halbfertigen Spielen zu beschäftigen und die eventuell Spaß daran finden, sich selber mit in das Spiel einzubringen.

Process View Browser

Der Process View Browser (pvbrowser) [7] von Rainer Lehrig stellt eine Struktur zur Prozeßvisualisierung zur Verfügung. Dies ist überall dort wichtig, wo technische Prozesse visualisiert bzw. gesteuert werden sollen. Proprietäre Programme, die ähnliche Aufgaben wahrnehmen sind z.B. WinCC oder Wonderware.

Das Projekt besteht aus einem Server und einem Browser, der die Interaktion mit dem Benutzer übernimmt. Die Konfiguration geschieht im Gegensatz zu verwandten Projekten nahezu ausschließlich auf Serverseite.

Der Benutzer paßt den Server entsprechend seinen Bedürftnissen an, bzw. programmiert die Routinen, die mit der Hard- oder Software interagieren und definiert, welche Dinge auf welche Art und Weise dargestellt oder gesteuert werden sollen. Diese Komponenten werden entsprechend der Angaben vom Server durch den Browser dargestellt, der mit dem Server über das Netzwerk kommuniziert.

Als Programmiersprache kam bei dem Projekt auf Browserseite C++ mit Qt als grafischem Toolkit; auf Serverseite ANSI-C zum Einsatz und es ist relativ plattformunabhängig. Lauffähig ist es sowohl unter GNU/Linux, wie auch unter Windows oder VMS, wobei der Browser laut Aussage von Rainer Lehrig auf einem 330MHz GNU/Linux Notebook schneller ist als auf einem 1GHz Windows NT System, was er dem Netzwerkcode zuschreibt.

Diese Plattformunabhängigkeit hängt unmittelbar mit dem Wermutstropfen des Projekts zusammen, welcher fast den Auftritt in der Brave GNU World verhindert hat, denn Freie Software ist der Process View Browser nur unter GNU/Linux, wo er unter der GNU General Public License herausgebracht wird. Unter Windows und VMS ist er ausschließlich proprietär zu haben.

Den Ausschlag zugunsten eines Features in der Brave GNU World haben zwei Faktoren gegeben. Einerseits waren in diesem Gebiet bisher eigentlich nur proprietäre Lösungen zu finden und das Projekt macht damit in jedem Fall einen Schritt in die richtige Richtung. Zudem ist es einem Benutzer möglich, es als vollständig Freie Software einzusetzen, sofern als Plattform GNU/Linux verwandt wird.

Darüberhinaus ist die lizenztechnische Situation des Qt-Toolkits durchaus vergleichbar, da nur die X11-Version als Freie Software verfügbar ist, die Versionen für Windows und Mac sind jedoch weiterhin proprietär. Aufgrund des Einsatzes von Qt für den Process View Browser wäre einem Benutzer also auch bei einer Freien Windows-Version des pvbrowser nicht wirklich geholfen, da die Abhängigkeit vom proprietären Qt weiterhin besteht.

Da Qt unter GNU/Linux eine anerkannte Freie Bibliothek ist, die für viele wichtige Projekte wie z.B. das K Desktop Environment (KDE) zum Einsatz kommt und schon oft Erwähnung fand, erschien es nicht gerechtfertigt, den Process View Browser bei vergleichbarer Lizensierung nicht vorstellen zu wollen.

Es bleibt jedoch die Hoffnung, daß langfristig auch die Versionen für andere Betriebssysteme als Freie Software verfügbar sein werden - dies gilt sowohl für Qt als auch für den Process View Browser.

Rainer Lehrig hat bisher alleine am pvbrowser gearbeitet und sucht nun Interessenten, die Lust haben, sich am Testen des Projekts zu beteiligen oder sich mit Ideen und Code in das Projekt einzubringen. Auch für die Dokumentation werden Freiwillige gesucht.

Wer sich für dieses Feld interessiert, dem sei durchaus empfohlen, sich am Process View Browser zu beteiligen, allerdings nur an der GNU/Linux Version und zudem sollte bei der Dokumentation Wert darauf gelegt werden, diese unter der GNU Free Documentation License oder einer vergleichbaren Lizenz zu erstellen, da nur in diesen Fällen sichergestellt ist, daß die Arbeit dauerhaft der Freien Software und damit allen Anwendern zur Verfügung steht.

Um etwaigen Mißverständnissen vorzubeugen, sei zum Abschluß gesagt, daß die Existenz der beschriebenen Probleme keinesfalls die Leistung von Rainer Lehrig für Freie Software schmälert. Freie Software in ein vorher vollständig proprietäres Feld zu bringen ist immer ein wichtiger Beitrag.

Nichtsdestotrotz ist es wichtig, sich der verbleibenden Probleme bewußt zu sein und sie zu verstehen.

PowerPhlogger

Im Juni 2000 hat Philip Iezzi mit der Arbeit an einer Software zum Hosten von Webseiten-Zählern unter PHP begonnen und das Ergebnis seiner Arbeit ist seit Januar 2001 als PowerPhlogger [8] unter der GNU General Public License verfügbar.

Ähnliche Dienste gibt es vielfach auf dem Netz, allerdings sind diese zumeist proprietär und zudem oft wenig befriedigend. PowerPhlogger erlaubt es jedem, einen solchen Service selber aufzubauen ohne daß die betreffenden Seiten unbedingt PHP unterstützen müssen. Die Einrichtung von Accounts kann bei diesen Services entweder durch einen Administrator oder durch die Benutzer selber geschehen, wie z.B. beim kostenlosen PowerPhlogger Service "Freelogger". [9]

Die Funktionalität von PowerPhlogger übertrifft den Großteil der proprietären Lösungen. Zu den Merkmalen gehört das Zählen echter Besucherzahlen, also "unique hits", anstatt lediglich Seitenaufrufe zu notieren. Erreicht wird dies durch einen IP-Vergleich in Verbindung mit einem Cookie-Check und einem von dem User selbst bestimmten Timeout. Außerdem bietet der PowerPhlogger sogenannte "Visitor Paths", erlaubt also das Nachvollziehen des Pfades, den ein Besucher auf der Seite genommen hat, und notiert darüberhinaus die Verweildauer eines Besuchers auf der Seite.

Natürlich kann der PowerPhlogger auch Zähler auf Seiten darstellen und mit Hilfe von TTF und benutzerdefinierten Farben an die jeweilige Seite anpassen. Selbst die Statistikseite kann vom Benutzer über ein frei editierbares CSS dem bevorzugten Layout angepaßt werden. Zusätzlich ist das Projekt für 16 Sprachen internationalisiert und unterstützt auch verschiedene Zeitzonen.

Die Daten werden augenblicklich in einer mySQL Datenbank abgelegt, doch es wird bereits an einer Datenbank-Abstraktionsebene für Version 3 des PPhloggers gearbeitet, die für Oktober 2002 geplant ist. Zudem soll der nach Meinung von Philip teilweise nicht ganz schöne Code bereinigt und auf Objektorientierung umgestellt werden.

Hilfe ist hierbei in jeder Form, auch der finanziellen, ausdrücklich willkommen. Auch für den Support im Online-Forum sind Freiwillige heiß begehrt.

GNU Stow

GNU Stow [10] ist ein außerordentlich nützliches Projekt für alle, die aus Interesse oder anderen Gründen Software auf ihren Systemen selber installieren wollen bzw. müssen ohne dabei auf Binärpakete für die jeweilige Distribution zurückgreifen zu können.

Normalerweise zeigt sich in diesem Fall schnell, daß der zweite Hauptsatz der Thermodynamik auch für Computersysteme gilt: Die Entropie nimmt zu oder bleibt gleich, sie nimmt jedoch nie ab, was mit anderen Worten bedeutet, daß Systeme zumeist die Eigenschaft haben, immer unordentlicher zu werden. Eine Lösung bietet GNU Stow.

GNU Stow besitzt einen eigenen Verzeichnisbaum, der zumeist unter /usr/local/stow zu finden ist. In diesen werden neue Pakete in eigene Unterverzeichnisse installiert. Ein Aufruf von Stow legt dann symbolische Links an, die dafür sorgen, daß die Files in der regulären Hierarchie dort aufzutauchen scheinen, wo die Programme nach ihnen suchen. Soll das Paket jedoch wieder entfernt werden, so kann dies durch ein Löschen des Verzeichnisses bzw. erneuten Aufruf von Stow mit entsprechenden Optionen geschehen.

Stow wurde ursprünglich 1993 von Bob Glickstein in Perl geschrieben, doch Zeitmangel zwang ihn dazu, die Weiterentwicklung einzustellen. Für ihn hat Guillaume Morin übernommen, der nun das GNU Stow Projekt pflegt. Dabei handelt es sich allerdings hauptsächlich um kleinere Anpassungen, denn das Projekt ist bereits seit mehreren Jahren stabil.

Wer bisher noch keine Erfahrung mit GNU Stow gesammelt hat, dem kann nur empfohlen werden, es einmal auszuprobieren.

GNU gettext

Eigentlich ist GNU gettext [11] ein Projekt, das mittlerweile allen Entwicklern bekannt sein dürfte und überdies ist es ein Projekt, mit dem auch nur Entwickler und Übersetzer unmittelbar in Kontakt kommen.

Gleichzeitig jedoch spielt es für alle Nutzer eine wesentliche Rolle, ist es doch letztlich dafür verantwortlich, daß Programme mit ihnen in ihrer eigenen Sprache kommunizieren. Daher soll diese zumeist unsichtbare und doch so wichtige Komponente an dieser Stelle Erwähnung finden.

Zur Erläuterung soll die Funktionsweise hier kurz skizziert werden: In der Entwicklung von Programmen werden Ausgaben zumeist in Englisch verfaßt. Alle diese Ausgaben werden von GNU gettext in einem File zusammengestellt.

Soll nun ein Programm an eine andere Sprache angepaßt werden, so können Übersetzer dieses File kopieren, die jeweiligen Ausgaben in die gewünschte Sprache übersetzen und es an den Entwickler schicken. Wird dies in das entsprechende Verzeichnis kopiert, verfügt das Programm nach der nächsten Kompilation über Unterstützung für die entsprechende Sprache.

Führt der Benutzer das Programm aus, wird GNU gettext versuchen, ihm die Ausgaben in der bevorzugten Sprache zu liefern. Ist dies nicht möglich, weil die Übersetzung nicht vorhanden oder unvollständig ist, wird auf die englische Version zurückgegriffen.

Besonderer Wert wurde darauf gelegt unvollständige Übersetzungen zu unterstützen, denn Programme entwickeln sich schrittweise und es kommt oft vor, daß die Übersetzungen weniger schnell wachsen als der Code.

GNU gettext besteht aus einer Reihe von Tools unter der GNU General Public License, sowie Bibliotheken unter der GNU Lesser General Public License. Es basiert auf den Unix-Standards X/Open und Li18nux2000, wurde ursprünglich 1995 von Ulrich Drepper geschrieben und ist mit erstaunlicher Geschwindigkeit zum de-facto Standard der Internationalisierung von Software innerhalb und außerhalb des GNU-Projektes geworden.

Vor kurzem hat Bruno Haible als Maintainer von GNU gettext die weitere Entwicklung übernommen und zu seinen Zielen zählt hauptsächlich die Unterstützung von mehr Programmiersprachen. Weitergehende Pläne beinhalten z.B. eine integrierte Rechtschreibprüfung.

Es gibt zwei Anekdoten, die Bruno Haible in seiner Email mitteilte, die hier auch nicht verschwiegen werden sollen. Zunächst einmal gibt es scheinbar ein sehr distinguiertes und engagiertes Team, welches sich mit der Übersetzung von amerikanischem English in britisches Englisch beschäftigt, was ihm sehr viel einfacher erscheint als z.B. die Übersetzung ins Japanische.

Und zum Zweiten warnt er ausdrücklich alle Progammierer davor, ihr Programm selber in andere Sprachen übersetzen zu wollen, speziell, wenn es nicht die Muttersprache ist. Einige Übersetzungen, die er gesehen hat, sind nach seinem Dafürhalten schlimmer als garkeine Übersetzung.

Erfahrungsgemäß steht es um die Übersetzungen ins Französische, Schwedische, Deutsche, und Spanische meist ganz gut, andere Sprachen benötigen noch mehr Freiwillige. Die Anpassung von Programmen an die eigene Sprache bietet übrigens auch gerade technisch weniger versierten Nutzern die Möglichkeit, Freie Software voranzubringen.

Drei Jahre Brave GNU World

Was anfangs als Experiment begann, ist nun tatsächlich drei Jahre alt, dies ist die Ausgabe 36 der Brave GNU World. Daher sehe ich mich dazu verleitet, einen kurzen Blick zurück zu werfen.

Angefangen hat die Kolumne als fixe Idee zwischen Tom Schwaller, dem damaligen Chefredakteur des deutschen Linux-Magazins, und mir auf dem 512-node GNU/Linux Cluster "CLOWN", bei dem ich auch meinen Einstand als europäischer Sprecher für das GNU-Projekt gab. [12]

Tom kam damals mit der Idee einer GNU-Kolumne auf mich zu und schon auf der Heimfahrt war mir klar, daß ich versuchen wollte, die Mischung von Technik und Philosophie, wie sie auch das GNU-Projekt auszeichnet, in dieser Kolumne umzusetzen. Ob das möglich sein würde und ob es gelingen würde, die Kolumne jeden Monat pünktlich zum Redaktionsschluß mit Inhalt zu füllen, wurde von mir jedoch durchaus recht skeptisch gesehen.

Von Anfang an war klar, daß die Kolumne immer auch auf dem Netz erscheinen sollte, um sie möglichst vielen Menschen zugänglich zu machen. Dies ausschließlich in deutsch zu tun, erschien nicht besonders sinnvoll, so wurde die Kolumne seit Ausgabe 1 von mir zunächst in deutsch verfaßt und dann ins Englische übersetzt, um parallel online veröffentlicht zu werden.

Doch schon bei der zweiten Ausgabe geschah etwas sehr Bemerkenswertes. Nahezu zeitgleich meldeten sich bei mir Okuji Yoshinori und Francois Thunus und fragten an, ob es mir recht sei, wenn sie die Kolumne auch ins Japanische bzw. Französische übersetzten. Natürlich habe ich mich sehr darüber gefreut und beide in den regulären Herstellungsprozeß der Brave GNU World mit eingebunden.

Damit war der Damm gebrochen; es meldeten sich weitere Freiwillige für andere Übersetzungen und bald darauf baten die ersten Magazine aus anderen Ländern darum, die Brave GNU World auch in gedruckter Form veröffentlichen zu dürfen.

Mittlerweile erscheint die Kolumne monatlich in bis zu 7 Sprachen auf dem Netz und 4 Magazinen weltweit. Ohne die Hilfe so vieler Mitwirkender wäre das niemals möglich gewesen.

Die oben erwähnten Mitstreiter der ersten Stunden gehen mittlerweile neue Wege, ihre Aufgaben wurden von Anderen übernommen, die ich gerne alle aufzählen würde, doch dazu reicht der Platz kaum aus, denn an einer Ausgabe waren schnell bis zu 30 Leute als Scout, Testleser, Übersetzer, Webmaster usw. beteiligt und auch wenn einige der Kolume bereits lange die Treue halten, so gab es doch immer einen gewissen Austausch der Beteligten.

Allen diesen Menschen und den sonstigen Unterstützern der Brave GNU World möchte ich ganz herzlich für die vergangenen drei Jahre danken.

Bedanken möchte ich mich auch bei denjenigen, die mich in Persona oder per Email angesprochen haben, um mich auf interessante Projekte hinzuweisen, mir Rückmeldung zu geben oder mit mir kontrovers zu diskutieren. Nur mit ihrer Hilfe konnte die Brave GNU World dieses Alter erreichen.

...auf ein weiteres Jahr

Damit genug der großen Worte, ich hoffe auf ein weiteres gutes Jahr Brave GNU World und möchte natürlich nicht schließen, ohne die obligatorische Aufforderung nach Feedback, Kommentaren, neuen Projekten, Fragen und Anregungen an die Leserschaft gerichtet zu haben.

Welches Projekt ist unglaublich hilfreich, witzig oder toll und trotzdem vielen Nutzern noch nicht bekannt? Welche Frage wurde bisher noch nicht ausreichend behandelt? Die Antwort auf diese Fragen bitte 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] Pingus Homepage: http://pingus.seul.org
[6] XPenguins Homepage: http://xpenguins.seul.org
[7] Process View Browser Homepage: http://pvbrowser.sourceforge.net
[8] PowerPhlogger Homepage: http://www.phpee.com/
[9] Freelogger Hompage: http://www.freelogger.com
[10] GNU Stow Homepage: http://www.gnu.org/software/stow/
[11] GNU gettext Homepage: http://www.gnu.org/software/gettext/
[12] "Geschichte und Philosophie des GNU-Projektes" http://www.gnu.org/philosophy/greve-clown.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: Tue Mar 19 11:20:28 CET 2002