Subscribe to the Free Software Supporter — the monthly update from the Free Software Foundation
 [image of a Brave GNU World]
Brave GNU World - Ausgabe 27
Copyright © 2001 Georg C. F. Greve <greve@gnu.org>
Permission statement below.

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

Willkommen zu Georg's Brave GNU World. Wie in der letzten Ausgabe bereits ersichtlich geworden ist, ist das Thema Freie Software in Schulen sehr interessant und bietet viel Potential. Daher macht ein Beitrag zu diesem Gebiet den Anfang für diesen Monat.

GNU/Linux TerminalServer for Schools

Bei dem "GNU/Linux TerminalServer for Schools"-Projekt [5] geht es darum, auf Basis von GNU/Linux Schulen die einfache Installation und Wartung eines Terminal Servers zu ermöglichen.

Zur Erläuterung: ein Terminal Server stellt die volle Funktionalität eines Systems für mehrere Benutzer zur Verfügung, deren Arbeitsplätze lediglich Terminals darstellen. Dies bietet viele Vorteile.

Zunächst einmal kann alte Hardware weiter als Terminal ihren Dienst verrichten, selbst ein 486 reicht für diesen Zweck aus, die Lösung ist also finanziell sehr sinnvoll. Weiterhin entfällt die Administration und Wartung von vielen einzelnen Rechnern, dem Systemadministrator wird also viel Zeit gespart. Durch die zentrale Struktur sind auch Backups leicht zu bewerkstelligen.

Seinen Anfang nahm das Projekt auf einer Mailingliste des "Freie Software und Bildung e.V." [6], wo es von Hans-Josef Heck vorgeschlagen wurde. Auf einem Kongress im November 2000 wurde dann beschlossen, es verstärkt voranzutreiben. Betreut wird das Projekt hauptsächlich von Christian Selig, der dabei von Georg Baum und Jason Bechtel unterstützt wird. Letzterer ist aus dem "Linux Terminal Server Project" (LTSP) [7] hinzugestoßen, welches die Kernfunktionalität des "GNU/Linux TerminalServer for Schools"-Projektes stellt.

Aufgabe ist weniger die Entwicklung der eigentlichen Softwarepakete als vielmehr die Schaffung einer übersichtlichen und gut zu bedienenden Installation & Konfiguration. Die Administration beruht dabei hauptsächlich auf einem für diesen Zweck in Perl entwickelten Webmin-Modul, für die Installation soll eine eigene CD erstellt werden.

Für die CD und Konfiguration wird dabei stark auf Distributionsunabhängigkeit und Internationalisierung gesetzt. Übersetzungen ins Französische (durch Joel Amoros), Schwedische (durch Michael Habbe) und Spanische (durch Angel Eduardo Porras Meza) sind bereits vorhanden und weitere Übersetzer sind herzlich willkommen.

Die außergewöhnliche Stärke des Projekts sieht Christian vor allem darin, daß das Projekt nicht außergewöhnlich ist, es ist vielmehr die einfache Lösung eines verbreiteten Problems. Die Hauptschwäche ist seiner Ansicht nach, daß es keine gesicherten Daten darüber gibt, welche Hardware und Netzwerk-Bandbreite für welche Menge an Benutzern benötigt werden. Obwohl das LTSP viele Benutzer hat, ist es schwer, hierzu ähnlich authoritiative Zahlen wie bei proprietären Anbietern festzulegen. Diese stellen zwar ebenfalls oft nur grobe Schätzungen dar, präsentieren sich dem Endanwender aber "griffig".

Kurzfristiges Ziel ist, die CD für Installation auf allen gängigen Distributionen fertigzustellen. Dafür werden vor allem noch Betatester gesucht, die willens sind, das Administrationsprogramm und die Installations-CD auf Herz und Nieren zu testen. Langfristig wird daran gedacht, auch andere Bildungssoftware in ihr aufzunehmen, um Freie Software noch stärker in Schulen zu verankern. Zu diesem Thema ist die Ofset-Homepage [8] sicherlich als weiterführende Information interessant.

Sowohl das LTSP als auch das Administrations-Modul unterstehen der GNU General Public License. Die Lizenz der Dokumentation ist noch nicht klar, es kommen aber nur von der FSF akzeptierte Lizenzen [9] in Betracht. Persönlich würde ich dabei natürlich den Einsatz der GNU Free Documentation License (FDL) begrüßen.

Weiter geht es mit dem Update zu einem Projekt, das in einer früheren Kolumne bereits erwähnt wurde.

GNU HaliFAX

In Ausgabe 21 habe ich über das GNU FaXile Projekt berichtet, bei dem es darum geht, im GNU Projekt eine vollständige und komfortable Faxumgebung zu schaffen.

Das Projekt wurde mittlerweile mit GNOME-GFax verschmolzen und in GNU HaliFAX [10] umbenannt. Von der geplanten Funktionalität (siehe hierzu Ausgabe 21 [11]) sind der GNU HaliFAX Betrachter (ghfaxviewer) sowie der GNU HaliFAX Sender bereits einsetzbar.

Der Faxbetrachter ist bereits recht ausgereift und verfügt über eine gut zu bedienende Oberfläche, anti-aliasing , einen gegenüber der alten Version verbesserten Zoom-Algorithmus und ermöglicht natürlich den Ausdruck des Faxes.

Angedacht sind auch eine Anbindung von GNU HaliFAX an SANE, sowie ein Projektmanagement; die beiden Maintainer Wolfgang Sourdeau und George Farris haben also noch viel zu tun. Geholfen haben ihnen bis dato vor allem Till Bubeck, der an gfax fleißig mitgearbeitet hat und außerdem eine deutsche Übersetzung der aktuellen ghfaxviewer Version angefertigt hat. Der ursprüngliche Übersetzer ins Deutsche war Thomas Bartschies, die Chinesische Übersetzung kam von Kevin Chen, die polnische von Zbigniew Baniewski.

Hilfe wäre vor allem in Form von finanzieller Unterstützung willkommen, die es Wolfgang und George erlauben würde, GNU HaliFAX noch intensiver voranzutreiben.

Das nächste Projekt ist zwar für den Großteil der Leserschaft von nicht ganz so unmittelbarer Bedeutung, dürfte aber trotzdem interessant sein.

GOSSIP

Das GOSSIP Simulation Environment [12] von Marius Vollmer beschäftigt sich damit, unter der GNU General Public License eine Simulationsumgebung für Nachrichtentechnik und digitale Signalverarbeitung zu entwickeln. Implementiert ist es als eine Erweiterung von Guile, der Scheme Implementation des GNU Projekts.

Das Projekt besteht im Wesentlichen aus vier Teilen, der Simulations-Engine (gossip-sim), dem Tool zur schematischen Datenerfassung (gossip-ed), einer Gruppe von unterstützenden Libraries (gossip-lib-*) und der Erweiterung, die es möglich macht, VHDL-Files zu lesen (gossip-vhdl).

Die Beschreibung der Simulation erfolgt auf Textbasis durch Eingabe von Scheme Programmen, die von gossip-sim ausgeführt werden. Dabei kann gossip-sim momentan nur mit synchronem Datenfluß arbeiten. Asynchroner Datenfluß oder diskrete Ereignisse sollten nicht außerhalb des Machbaren liegen, allerdings besitzt die Implementation der notwendigen Simulationsengines und ihrer Interaktion eine recht niedrige Priorität für Marius Vollmer.

Aktueller Stand ist, daß die 1.0 Release bevorsteht, alle dafür vorgesehenen Features in gossip-sim sind bereits vorhanden und auch die anderen Teile sind so gut wie einsetzbar. Dem Autor ist dabei konstruktive Kritik speziell zur Simulationsengine außerordentlich willkommen, da er selber kein Spezialist in Simulationstechniken ist.

In seinen Augen soll GOSSIP ein mächtiges Werkzeug zur Verfügung stellen, daß sich vor allem durch Flexibilität und einfache Struktur auszeichnet. Speziell die Bevormundung des Benutzers durch einige Softwarepakete ist etwas, das er für wenig gut hält und er möchte dem Benutzer vielmehr die Möglichkeiten an die Hand geben, die eigenen Bedürftnisse zum Maßstab zu machen.

Das größte Problem ist dabei etwas, was sich als Problem von Henne und Ei manifestiert. GOSSIP ist noch sehr jung, es fehlen Simulationsmodule, die von den Benutzern geschrieben werden müßten. Doch diese werden sie nur schreiben, wenn sie GOSSIP einsetzen können, was wiederum viele gute Simulationsmodule voraussetzt.

Es bietet sich hier die Möglichkeit, gerade im Bereich der digitalen Signalverarbeitung wieder das wissenschaftliche Prinzip des freien Austauschs von Wissen und der Nachvollziehbarkeit von Ergebnissen mit Hilfe Freier Software zu stärken.

Daher möchte ich dazu aufrufen, sich als Anwender mit dem Projekt zu beschäftigen. Wer Erfahrung im Umgang mit COSSAP, SPW oder Cocentric SystemStudio hat, dem werden die Konzepte bei GOSSIP bekannt vorkommen, was ein Umstieg bzw. eine Umsetzung vorhandener Module vereinfachen dürfte.

Damit komme ich zum nächsten Projekt, das auf den ersten Blick recht abstrakt wirkt, sich jedoch mit einem sehr wichtigen Aspekt beschäftigt.

Jude

Jude [13] ist Teil der Diplomarbeit von Massimo Zaniboni. Er hat es entwickelt, um mit seiner Hilfe eine "Workgroup Application" für das Kristallografielabor des Fachbereichs Chemie der Universität von Bologna, Italien zu erstellen. Dabei griff er glücklicherweise auf die GNU General Public License zurück.

Jude ist im Wesentlichen ein Werzeugkasten oder Rahmen zur Anwendungsentwicklung, mit dessen Hilfe Aufgaben aus dem "Data-Management" und "Workgroup Application" Bereich für Benutzer wie Entwickler einfach zu implementieren sind. Es basiert auf Serverseite auf einem objektorientierten Ansatz, während sich die Benutzerseite als zusammengesetztes Dokument über einen Agent präsentiert.

Die Techniken zur Erstellung solcher Lösungen, wie z.B. relationale bzw. objektorientierte Datenbanken, Systeme zur Dokumentenverwaltung, XML Dokumente, agentenbasierte Systeme oder Java sind wohlbekannt. In der Umsetzung ergeben sich jedoch oft Probleme, die angestrebte Struktur mit ihnen zu verwirklichen - speziell, wenn nur auf eine oder wenige der vorhandenen Techniken zurückgegriffen wird. Jude versucht, die Vorteile aller dieser Technologien in einer kohärenten Entwicklungsumgebung zur Verfügung zu stellen.

Dabei erlaubt es Jude dem Entwickler, eine simplifizierte und abstrakte Darstellung des zu repräsentierenden Problems mit Hilfe einer sehr hoch ansetzenden, deklarativen, objektorientierten Sprache anzugeben und so eine vollständig funktionsfähige Workgroup Application zu erhalten.

Es erlaubt Entwicklern, auf viele vorhandene Module zurückzugreifen und vereinfacht die Wiederverwendung von Lösungen. Dem Anwender stellen sich dabei über eine kohärente und einfach zu benutzende Umgebung basierend auf Java und Swing die Inhalte als Dokumente und strukturierte Information dar.

Augenblicklich ist Jude noch im Alpha-Stadium und schwierig zu installieren, reine Anwender seien also gewarnt. Ziel von Massimo ist daher auch, es dahin zu bekommen, daß es auf der Produktionsebene eingesetzt werden kann. Danach möchte er es gerne um einen Transaction-Manager, Verschlüsselung, Offline-Fähigkeit und PDA-Support erweitern. Doch bis dahin dürfte es noch ein weiter Weg sein. Hilfe oder Sponsoren sind ihm dabei sehr willkommen. Wer also Lust bekommen hat, an einem derartigen Projekt mitzuarbeiten, dem sei empfohlen, sich an Massimo zu wenden.

Damit war es abstrakt genug für diesen Monat und ich wende mich wieder einem Gebiet zu, mit dem jeder täglich zu tun hat, dem Web.

HyperBuilder

HyperBuilder [14] ist ein Projekt von Alejando Forero Cuervo, der es ursprünglich begann, um große, statische Websites mit mehr als 100 Seiten leicht administrieren zu können.

Um dies zu ermöglichen, war die Wiederverwendbarkeit von Informationen eine wesentliche Maßgabe, da es z.B. recht umständlich ist, auf 200 Seiten denselben Header und Footer von Hand einzufügen. Auch wenn HyperBuilder noch immer eine gute Möglichkeit ist, große statische Seiten zu handhaben, liegt seine Stärke jedoch mittlerweile eindeutig auf der dynamischen Seite.

HyperBuilder läuft auf dem Webserver und interpretiert die Dokumente auf Anfrage, was eine maximale Dynamik erlaubt. Dabei wird er idealerweise als Apache Modul verwendet, es ist jedoch auch möglich, ihn als CGI-Skript einzusetzen, was jedoch deutlich langsamer ist.

Die Files selber liegen in einer Form von erweitertem HTML vor, die leicht verständlich und editierbar ist. Die HyperBuilder Module lassen sich in diesen über HTML-artige Tags ansprechen. Dabei existieren bereits Module für etliche Standardprobleme wie z.B. Nachrichtenbretter, Umfragen, SQL-Backends, Benutzerauthentifikation und mehr. Es ist zudem auch möglich, in die Files direkt Perl oder Scheme (Guile) Code einzubinden. Tatsächlich lassen sich die beiden sogar in einem File kombinieren.

Für Nicht-Programmierer ergeben sich durch HyperBuilder große Vorteile, da der Umgang einfach zu lernen ist. So genügt z.B. die Anweisung <p>Visits: <counter src="file" id="counter_id" inc="1" show="yes"></p>, um auf einer Webseite einen Zähler einzurichten. Die Alternative besteht darin, diesen selber zu schreiben, was erheblich umfangreicher als obige Zeile ausfallen dürfte, oder aber darin, sich ein CGI für diesen Zweck zu suchen und dieses in die eigene Seite zu integrieren. HyperBuilder erlaubt es damit, auf etliche CGI-Skripte zu verzichten.

Doch auch für Programmierer ergeben sich neue Möglichkeiten. Wenn eine Applikation ein Web-Interface erhalten soll, macht es durchaus Sinn, dies als HyperBuilder Modul zu implementieren. Auf diese Art und Weise wird es jedem Anwender leicht möglich, sich die Oberfläche nach eigenem Geschmack und eigenen Bedürftnissen aufzubauen. Zudem erlaubt es dem Entwickler, sich auf die Funktionalität und nicht die Oberfläche mit deren grafischen Details zu konzentrieren.

Wegen der starken HTML-Ähnlichkeit stellt sich das Schreiben von HyperBuilder Files nicht anders dar als die Erstellung von HTML-Seiten ohne WYSIWYG-Editor. Dadurch ist die Hürde für den Einsatz von Dingen wie Nachrichtenbrettern, Benutzerzählern, Personalisierung, Benutzeraccounts usw. sehr niedrig. Der Autor einer Seite kann sich auf die Inhalte und das Layout konzentrieren, ohne sich mit der unterliegenden Technik beschäftigen zu müssen.

Entwickelt wurde HyperBuilder in C unter der GNU General Public License, wobei aus Performance-Gründen POSIX-Threads verwandt werden. Es läuft auf Unix-Systemen und wurde auf verschiedenen Versionen von GNU/Linux, Solaris/SunOS, *BSD und Irix getestet. Als Sprachen für die dynamische Erstellung von Webseiten können Perl, C und Scheme eingesetzt werden.

HyperBuilder ist prinzipiell voll einsatzfähig, die größten Probleme sind im Moment mangelnde Dokumentation und zu wenige Benutzer, um die letzten verbleibenden Probleme zu entdecken. Gerade die fehlende Dokumentation stört Alejandro sehr und er bietet an, Dokumentationswillige beim Einstieg in das Projekt zu begleiten.

Die weiteren Pläne umfassen mehr Module, so z.B. ein Modul zur Erstellung von Seiten aus XML Files, ein Modul zur Kommunikation mit Hilfe von XML-RPC, ein Modul zur Anbindung von GIMP und Module für Ruby und Java.

Was übrigens noch sehr interessant ist, ist, daß es bereits eine Portalseite namens "FuWeb" basierend auf HyperBuilder gibt, deren Code ebenfalls unter der GNU General Public License zur Verfügung steht und somit für eigene Projekte eingesetzt werden kann.

Doch damit will ich es gut sein lassen, wer sich dafür interessiert, dem sei die Homepage [14] noch einmal wärmstens ans Herz gelegt, von der aus man auch Beispiele für das erwähnt FuWeb Portal findet.

Brave GNU World intern

Zum Schluß kann ich bekanntgeben, daß die Brave GNU World nun in eine weitere Sprache übersetzt wird. Dank Fernando Lozano und Hilton Fernandes, die sich der Brave GNU World-Familie angeschlossen haben, gibt es die Brave GNU World nun auch in Portugiesisch und ich möchte den Beiden herzlich danken.

Damit kann diese Kolumne monatlich in sieben Sprachen (Deutsch, Englisch, Französisch, Japanisch, Spanisch, Koreanisch, Portugiesisch) gelesen werden, etwas, daß ich am Anfang nie für möglich gehalten hätte.

Ebenfalls in der Familie begrüßen möchte ich Gero Takke, Michael Scheiba und Steven R. Baker, die die Betreuung der Seite übernommen haben, sowie Alejandro Forero Cuervo, den Autor von HyperBuilder, der sich bereit erklärt hat, bei der anstehenden Umstellung zu helfen.

...genug für heute

So, das soll es für diesen Monat gewesen sein, ich hoffe, Euch ein paar interessante Anregungen mitgegeben zu haben und freue mich wie immer auf zahlreiche Emails mit Anregungen, Kommentaren, Ideen und Projektvorstellungen an die bekannte 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] GNU/Linux TerminalServer for Schools Homepage: http://termserv.berlios.de/
[6] Freie Software und Bildung e.V. Homepage: http://fsub.schule.de/
[7] Linux Terminal Server Project Homepage: http://www.ltsp.org/
[8] Ofset - Organization for Free Software in Education and Teaching Homepage: http://www.ofset.org/
[9] FSF - Lizenzliste - Dokumentationslizenzen: http://www.gnu.org/philosophy/license-list.html#DocumentationLicenses
[10] GNU HaliFAX Homepage: http://www.ultim.net/~wolfgang/gnu_halifax/ghfv.html
[11] Georg's Brave GNU World - Ausgabe 21: http://www.gnu.org/brave-gnu-world/issue-21.de.html
[12] GOSSIP Simulation Environment Homepage: http://gossip.sourceforge.net/
[13] Jude Homepage: http://jude.sourceforge.net/
[14] HyperBuilder Homepage: http://bachue.com/hb/

[ 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:12:09 CEST 2001