Willkommen zu einer neuen Ausgabe der Brave GNU World. Da die letzten Monate eher unter dem Stern des kreativen Zeitvertreibs standen, wird dieses Mal wieder mehr auf die ernsthaften Aspekte und ein paar Perspektiven eingegangen.
Stefan Kamphausen, seines Zeichens Autor des Brave GNU World Logos, hat mich auf eine Groupware-Lösung seines Arbeitskollegen Rüdiger Goetz aufmerksam gemacht. Das Programm beinhaltet Kalender, Adress- und Aufgabenverwaltung und dient damit insbesondere der Verwaltung von Räumen und Zeiten. Dem Humor eines Physikers folgend erhielt dieses Programm zur Verwaltung der "Raum-Zeit" seinen Namen nach den in der speziellen Relativitätstheorie gebräuchlichen Minkowsky-Diagrammen und heißt daher folgerichtig Minkowsky. [5]
Seinen Ursprung hatte das Projekt gegen Ende 2000, als das Unternehmen, bei dem Stefan und Rüdiger arbeiten, nach einer Groupware-Lösung suchte. Angesichts der Alternative Outlook begann Rüdiger damals, an Minkowsky zu schreiben und seit Februar 2001 wird es mit Erfolg in ihrer Firma eingesetzt.
Minkowsky besitzt eine ausgefeilte Rechte-Verwaltung, um z.B. der Sekretärin oder anderen Mitarbeitern der Gruppe Zugriff auf Termine zu geben, damit diese besser miteinander koordiniert werden können.
Gerade auch die Verbesserung der Koordination und Kommunikation innerhalb einer Gruppe macht Minkowsky nach der Erfahrung von Rüdiger und Stefan einzigartig, wobei es sich eher an Unternehmen mit Gruppen, die innerhalb eines LAN leben, orientiert.
Technisch basiert Minkowsky auf C++/C mit Tcl/Tk/Tix und es benötigt keine zusätzliche Datenbank, was in manchen Situationen vorteilhaft sein kann. Da es als Freie Software unter der GNU General Public License herausgegeben wird, bewahrt Minkowsky zudem auch die Unabhängigkeit eines Unternehmens in diesem doch recht zentralen Bereich.
Wurde im Mai 2001 die erste öffentliche Version herausgegeben, so ist mittlerweile die nächste große Release im Gange, die dann auch in Englisch verfügbar ist.
Weitere Pläne beinhalten die Stabilisierung der Kommunikation zwischen Client und Server, die Synchronisation mit PDA, die Portierung auf Mac OS X (entwickelt wurde es unter GNU/Linux) und natürlich das Finden und Beheben von Bugs.
Gerade auch bei der englischen Übersetzung, der Arbeit an einer noch stabileren Kommunikationslayer und speziell der Synchnisation mit einem Palm-Handheld wäre Rüdiger Hilfe sehr willkommen.
Webminstats [6] erlaubt die Überwachung der zeitlichen Entwicklung relevanter Systemparameter mit Hilfe eines Webbrowsers. Da ein Browser zu den üblicherweise auf allen Plattformen vorhandenen Applikationen zählt, erfreuen sich Projekte dieser Art gerade bei Administratoren von Netzwerken großer Beliebtheit.
Begonnen wurde mit der Arbeit an Webminstats im August 2001 durch David Bouius. Gegen Ende 2001 bekam er dann Unterstützung durch Eric Gerbier, der das Projekt übernahm als David die Zeit fehlte, es weiter zu betreuen.
In den Augen von von Eric Gerbier, der die Brave GNU World Fragen beantwortete, besitzt Webminstats gegenüber verwandten Projekten durchaus einige Vorteile. So ist es z.B. deutlich schneller als der in diesem Genre recht bekannte MRTG [7], da dieser auch aktuell nicht benötigte Grafiken erzeugt.
Wie der Name bereits impliziert, basiert Webminstats auf dem Webmin [8] Projekt, mit dem Unix-Systeme webbasiert administriert werden können. Dies erlaubt, die Zugriffskontrollen des Webmin für Webminstats mitzuverwenden und die Konfiguration per Browser.
Für das Backend greift Webminstats auf das RRDTool (Round Robin Database Tool) [9] von Tobi Oetiker zurück, welches eine schnellere und flexiblere Reimplementation der Speicherungs- und Anzeige-Fähigkeiten des bereits erwähnten MRTG-Projekts darstellt. Da es jedoch nicht die Datensammlungs- und Frontend-Möglichkeiten des MRTG aufweist, stellt RRDTool keinen vollständigen Ersatz für den MRTG dar. Vielmehr kann der MRTG so konfiguriert werden, daß er RRDTool als seine unterliegende Datenbank verwendet.
Eben auch diese Datenbank-Fähigkeiten sind es, die sich Webminstats zu Nutze macht. Für die Datensammlung besitzt Webminstats 9 Module, die es erlauben, Prozessor-Auslastung, Plattennutzung, Interrupts, Internet (FTP/HTTP), Mail (Sendmail, Pop, Imap), Speicher, Prozesse und die Zahl der Nutzer mit einer zeitlichen Auflösung von einer Minute zu überwachen.
Damit konnte Eric erst kürzlich bei einem Absturz seines Webservers den Fehler schnell finden und beheben. Denn aufgrund der Information des exakten Zeitpunkts des Crashes und der Tatsache, daß direkt vorher aus dem Benutzer-Modul eine Verbindung gemeldet wurde, konnte er das Gebiet für die Fehlersuche deutlich eingrenzen.
Webminstats wurde in Perl und Bash-Shell geschrieben und wird unter der GNU General Public License als Freie Software herausgegeben. Es ist bereits in Englisch, Deutsch und Spanisch verfügbar und für die nähere Zukunft kann mit einer französischen Anpassung gerechnet werden.
Weiterhin sollen neue Module die Funktionalität z.B. um eine Überwachung der Firewall erweitern und es sollen Anpassungen für andere Unix-System erfolgen. Auch über "Alarmmeldungen" wird nachgedacht.
Hilfe wäre vor allem bei der Erstellung von attraktiven Icons für die Module, der Anpassung an andere Sprachen und Betriebssysteme sowie neuen Features willkommen.
Pascal Conrad hat im Januar diesen Jahres mit dem LinCompta [10] Projekt damit begonnen, eine der bedeutendsten Lücken der Freien Software zu schließen: Professionelle analytische Buchhaltung.
Nachdem sein letzter Chef die Vorteile Freier Software und insbesondere von GNU/Linux nicht zu schätzen wußte und das proprietäre Prologue-System dem Projekt von Pascal vorzog, hat dieser beschlossen, es der Community unter der GNU General Public License zur Verfügung zu stellen.
In seiner kurzen Geschichte hat das Projekt bereits bemerkenswerte Fortschritte gemacht - so verfügt es schon jetzt über eine sehr benutzbare graphische Oberfläche, die sich den Anwendern leicht erschließen sollte.
Als Progammiersprache kommt für das Projekt C mit GTK+ / GNOME zum Einsatz und als Datenbank verwendet Pascal MySQL.
Momentan fehlt noch die Möglichkeit, Daten ausdrucken zu können und auch die Sprachunterstützung ist bisher nur in Französisch vollständig vorhanden, auf der Liste der nächsten Aufgaben steht aber die Übersetzung in Englisch und Russisch. Gerade bei der Englisch-Unterstützung für Programm und Webpage sucht Pascal dringend Hilfe.
Findet das Projekt genügend Anklang und Interesse, so plant Pascal, es auch um andere Aspekte der geschäftlichen Buchhaltung zu erweitern, wer derartige Projekte voranbringen möchte, dem sei nahegelegt, Pascal durch Testen, Übersetzen oder Mitprogrammieren zu unterstützen.
In Ausgabe 6 [11] der Brave GNU World wurde der Hintergrund des FreeNET Projekts von Ian Clarke vorgestellt, bei dem es darum geht, ein dezentrales Netzwerk zur Verhinderung von zentraler Kontrolle und Zensur zu schaffen, in dem Daten "wandern" können.
Angesichts der steigenden Bestrebungen einer Internet-Zensur und den Problemen von Filesharing-Diensten wie Napster, die mit zentralen Schnittstellen gearbeitet haben, wurde die Idee derartiger peer-to-peer Netzwerke zum Gegenstand des allgemeinen Interesses.
Mit GNUnet [12] von Studenten der Purdue University ist ein derartiges Netzwerk nun auch zum Teil des GNU-Projekts geworden.
Eine kurze Einführung für diejenigen, die bisher nicht in Verbindung mit einem derartigen System gekommen sind: Im Internet sind Daten normalerweise stationär und können über die URL einem besimmten Rechner zugeordnet werden. Dies erlaubt -- über Sperren des Zugangs zu diesem Rechner -- Zensur und auch die Ermittlung des Anbieters eines Inhalts.
Problematisch ist dies vor allem in Ländern wie China, wo der Zugriff auf von der chinesischen Regierung nicht kontrollierte Medien verhindert wird und Anbieter kritischer Informationen mit Sanktionen rechnen müssen.
Netzwerke wie FreeNET oder GNUnet unterlaufen dies, indem sie umfassende Verschlüsselung und Anonymisierung einsetzen, die den Anbieter schützt und eine physikalische Lokalisierung der unerwünschten Information unmöglich macht. Ihr Anwendungsgebiet ist typischerweise also dort, wo Privatsphäre wichtiger als Effizienz ist.
Im Gegensatz zu anderen anonymen Netzwerken erlaubt GNUnet dabei eine Form des Accountings, die sicherstellt, daß Knoten, die mehr zum Netzwerk beisteuern, eine bessere Anbindung erhalten. Das ausschließliche Konsumieren ("Freeloading") ist zwar erlaubt, muß sich jedoch mit den Kapazitäten begnügen, die augenblicklich "übrig" sind.
Wie bereits erwähnt, stammt das GNUnet Projekt aus der Purdue University, wo es als Kryptografie-Projekt einiger Studenten begann. Ihr größtes Problem war dabei übrigens, den Professor davon zu überzeugen, daß dieses Projekt tatsächlich mit Kryptografie zu tun habe. Mittlerweile absolvieren sie allerdings ihre ersten Auftritte auf Krypto-Konferenzen und das GNUnet befindet sich im Betatest-Stadium.
Die Vorteile von GNUnet sehen die Autoren in der Anonymisierung, die ihrer Meinung nach bei GNUnet besser funktioniert als in anderen Netzwerken, sowie der Reputations-Metrik, die einen Schutz des Netzwerkes gegen "schwarze Schafe" bietet. Außerdem ist es möglich, das Netzwerk nach natürlichen Worten zu durchsuchen, anstatt der z.B. bei FreeNET üblichen zufälligen Hashcodes.
Damit ist es nach ihrem Wissen das erste vollständig dezentrale Netzwerk, welches alle diese Fähigkeiten bietet.
Das Projekt wurde in C geschrieben und unter der GNU General Public License herausgegeben. Seine größte Schwäche ist nach eigenem Bekunden die Tatsache, daß bisher niemand sich für die Programmierung der GUI begeistern konnte. Die momentan vorhandene, GTK+ basierte Oberfläche ist zwar benutzbar, jedoch nicht sehr komfortabel. Hilfe wäre hierbei ebenso willkommen wie bei der Erstellung eines Logos.
Die Pläne für die nahe Zukunft beinhalten die Portierung auf mehr Plattformen: Auf GNU/Linux und BSD ist das Projekt bereits voll einsatzfähig, jetzt liegt der Fokus auf Solaris/OS10 und später Win32.
In weiterer Zukunft sollen dann andere Transport-Mechanismen als UDP implementiert werden, so ist beispielsweise angedacht, Daten mit Hilfe der Steganografie in Bildern zu verstecken, um sie durch die Chinesische Mauer -- pardon -- Firewall zu bringen. Auch die Ausweitung auf Anwendungsformen jenseits des Filesharings, wie z.B. auf Email ist denkbar.
Hilfe ist in Form von weiteren Nodes und bei der Portierung auf Win32, sowie der Dokumentation, den Webseiten, dem Erstellen von Grafiken usw. usf. erwünscht.
Gambas [13] steht für "Gambas Almost Means BASic", was bereits einen Hinweis darauf gibt, worum es bei dem Projekt geht, denn Gambas ist eine grafische Entwicklungsumgebung basierend auf einem BASIC-Interpreter mit objektorientierten Erweiterungen. Inspiriert wurde dieses Projekt von Benoit Minisini durch Java und Visual Basic.
Das Ziel ist, eine Umgebung zu schaffen, in der grafische Programme schnell und mit geringer Lernkurve zusammengestellt werden können. Benoit fand, daß Java für diesen Zweck zu komplex ist und Visual Basic lief offensichtlich nur unter Windows und war ihm zudem zu fehlerhaft. Außerdem wollte er eine Sprache, die dem Benutzer die Freiheit sichert, was sowohl die Wahl seiner Oberfläche (KDE oder GNOME) als auch die Lizenz angeht. Daher steht Gambas unter der GNU General Public License.
Das Projekt wird bereits seit etwa drei Jahren entwickelt, wobei C für den Interpreter und Compiler, C++ für die Qt-Anbindung und Gambas selbst für die Entwicklungsumgebung eingesetzt wurde. Dabei bemühte sich Benoit um größtmögliche syntaktische Kohärenz und Kompaktheit, weshalb der Interpreter ohne Qt-Komponente nur etwa 200k groß ist. Seiner Einschätzung nach sollte die Portierung auf eine Embedded-Umgebung recht einfach sein.
Wegen seines modularen Aufbaus kann die momentan verwandte, auf Qt basierendende, Komponente für die graphische Ausgabe leicht durch eine auf GTK+ basierende Komponente ersetzt werden, was bereits in Planung ist. Weitere Zielpunkte beinhalten einen guten Debugger und eine Datenbank-Komponente.
Bis Gambas eine vollständige Programmiersprache/-umgebung ist, wird es wohl noch ein bisschen dauern, allerdings kann dies sicherlich durch Hilfe beschleunigt werden. Was Benoit im Moment hauptsächlich benötigt, sind Leute, die Gambas ausprobieren und ihm Feedback geben.
Sobald das Interface für die Komponenten fertiggestellt ist, plant Benoit dann auch, eine vernünftige Dokumentation dafür zu schreiben, damit jeder einfach Gambas-Komponenten hinzufügen kann.
Übrigens fügte Benoit den Brave GNU World Standardfragen eine kleine Geschichte bei, dieden Lesern der Kolumne nicht vorenthalten werden soll:
Eines Tages versuchte Benoit, Windows zu reinstallieren, daher faßte er den Beschluß, die Partition unter MS-DOS zu reformatieren. Leider waren die Laufwerksbuchstaben unter MS-DOS gegenüber Windows invertiert, wodurch er die falsche Festplatte löschte, von der es zudem keine Sicherheitskopie gab.
Da nun -- unfreiwilligerweise -- 30GB verfügbar waren, versuchte er sich an einem anderen, kürzlich erschienenen proprietären Betriebssystem, mit dem er allerdings wenig anfangen konnte. Da dachte er sich: Warum nicht die andere Platte von hier aus formatieren? Einen Mausklick später hörte seine GNU/Linux "/home" Partition auf zu existieren.
Natürlich befand sich Gambas auf eben dieser Partition und ebenso natürlich existierten keine Backups.
Aufgrund eines Zufalls gab es jedoch auf der Windows-Partition, deren versuchte Formatierung die Katastrophe einleitete, noch eine Version von Gambas, die lediglich einen Monat alt war. Benoit verlor also nur einen Monat Arbeit.
Sein guter Rat an alle Leser lautet daher: Speichert unwiderbringliche Dinge immer mehrfach! Seid paranoid!
Auch wenn die theoretische Bedeutung von Backups sicherlich allgemein bekannt ist, kann dieser Erfahrungsbericht vielleicht dazu dienen, die Eine oder Andere zum Backup der Arbeit der letzten drei Jahre zu veranlassen.
Natürlich könnte man auch denken, daß man einfach die Finger von proprietären Systemen lassen sollte. :-)
Nachdem bereits in Ausgabe 37 [14] der Brave GNU World auf die Unzulänglichkeiten des Make-Programms [15] eingegangen worden ist, soll hier mit Cook [16] von Peter Miller eine weitere Alternative vorgestellt werden.
Bereits 1988 begann Peter Miller, der auch Autor des in Ausgabe 4 [17] vorgestellten Aegis-Projekts ist, mit der Arbeit an einem Ersatz für Make. Als Programmiersprache griff er dabei auf C zurück und veröffentlicht wird Cook als Freie Software unter der GNU General Public License.
Zu den Vorteilen von Cook gegenüber Make gehört die Unterstützung paralleler Kompilationen, Rezepte können Hostnamen zugeordnet bekommen, um auf bestimmten Rechnern ausgeführt zu werden, Abhängigkeiten können über Kaskaden aufgelöst werden, Rezepte besitzen optional Konditionen, um ihre Ausführung feiner steuern zu können und vieles mehr.
Wer die Brave GNU World-Beiträge zu GNU Cons und SCons gelesen hat, dem sei noch gesagt, daß auch Cook die Modifikation von Files per Fingerabdruck feststellen kann, um unnötige Neukompilationen zu vermeiden.
Das Programm ist sehr ausgereift mit einer soliden und erfahrenen Nutzergemeinde und für den Umstieg steht auch ein make2cook Programm zur Verfügung, obwohl einen dies natürlich nicht von der Notwendigkeit befreit, sich mit dem neuen Programm und neuen Kommandos auseinanderzusetzen.
Wer seinen Abschied von Make bisher nicht gefunden hat, dem bietet sich hier eine weitere Möglichkeit.
Am 30. April 2002 hat die FSF Europe [18] eine Empfehlung für das 6. europäische Rahmenprogramm ausgesprochen, mit dem ich als Präsident der FSF Europe in den letzten Wochen recht intensiv beschäftigt war.
Vor dem Hintergrund der bereits sehr ausgeprägten Aktivitäten und außerordentlich lebendigen Entwicklergemeinschaft Freier Software in Europa legt die FSF Europe der Europäischen Union nahe, in allen Bereichen des 6.Rahmenprogramms verstärkt auf Freie Software zu setzen und in einigen Gebieten gezielte Ausschreibungen für Freie Software zu veranstalten.
Zu den Gründen für diese Empfehlung zählt u.A. eine erhöhte Nachhaltigkeit bei der Verwendung öffentlicher Mittel, die Sicherung der demokratischen Tradition in Europa, die Stärkung regionaler und überregionaler Märkte, die Unabhängigkeit von amerikanischen Oligopolen und die Intensivierung der europäischen Forschung.
Aus diesem Grund wird die Empfehlung der FSF Europe von Unternehmen, Organisationen und universitären Einrichtungen quer durch Europa unterstützt. In der Liste der Unterstützer finden sich u.A.: Bull (Frankreich), das TZI der Universtität Bremen (Deutschland), das Centro Tempo Reale (Italien), MandrakeSoft (Frankreich), der Verein zur Förderung Freier Software (Österreich), Ingate Systems AB (Schweden) oder Eighth Layer Limited (UK).
Für Interessierte ist die vollständige Empfehlung mit der Liste aller Unterstützer auf der FSF Europe Homepage verfügbar. [19]
Damit genug Brave GNU World für diesen Monat, ich hoffe, einige Impulse vermittelt zu haben und bitte wie üblich um zahlreiche Anregungen, Ideen, Kommentare und Projektvorschläge an die gewohnte Adresse. [1]
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 May 14 13:09:14 CEST 2002