[DE |
EN |
FR |
JA |
ES]
Willkommen zu Georg's Brave GNU World. Diesen Monat habe ich vor
allem mehrere kleine Projekte, die ein relativ breites Spektrum
abdecken. Anfangen möchte ich mit einem wirklich interessanten
Mailreader.
Die Emacs-basierten Mailprogramme tun sich mit Attachments schwer, sind relativ gewichtig und es muß der Emacs gestartet werden, um Mail zu lesen. Andere, GUI-orientierte, Mailprogramme haben z.T. recht gewöhnungbedürftige Interfaces, unterstützen keine Threads, wissen nicht um die Existenz anderer Mailprogramme oder lassen sich nicht vollständig über die Tastatur bedienen. Wer sich mit einigen dieser Probleme gut identifizieren kann, der sollte definitiv Sylpheed einmal ausprobieren.
Die Vorteile von Sylpheed sind recht beeindruckend. Basierend auf dem GTK+ Toolkit verfügt es über eine ansprechende Oberfläche. Wichtig für die Übersicht ist, daß Mails gefiltert werden können und dann in Threads angezeigt werden. Es unterstützt selbstverständlich Multipart MIME und besitzt einen integrierten Bildbetrachter. X-Faces werden ebenso unterstützt wie "clickable URIs". Doch trotz dieser starken GUI-Orientierung ist es vollständig mit der Tastatur bedienbar.
Außergewöhnlich positiv fällt das XML-basierte Addreßbuch auf - es ist sichergestellt, daß die Daten verfügbar und portabel sind. Da die Emails im MH Format gespeichert werden, können sie auch von anderen Mailreadern wie z.B. Mew gelesen werden.
Zusätzlich kann man mit Sylpheed News lesen (aber nicht schreiben) und es unterstützt die Verwendung der externen Programme fetchmail und procmail zum Beschaffen frischer Email. Ausgehende Post kann in einer Queue gesammelt werden, bevor sie abgeschickt wird.
Sylpheed ist noch relativ jung, daher verfügt es noch über eine recht lange TODO-Liste, die u.A. IMAP4, LDAP, PGP/GPG Support, SSL Unterstützung, Mailarchiv-Kompression u.A. beinhaltet. Auch die Anpassung an die Englische Sprache muß noch gesteigert werden - dies sollte dank gettext jedoch ein relativ überschaubares Problem sein. Debian Nutzer können Sylpheed übrigens direkt über die angegebene Quelle installieren; alle Anderen haben es jedoch auch nicht viel schwerer, da es Autoconf/Automake unterstützt.
Wer also gerade mit seinem alten Mailreader unzufrieden ist, könnte hier sicherlich mal einen Blick riskieren.
Xzgv kann gleichermaßen über Maus und Tastatur bedient werden und verwendet zur Auswahl und Darstellung nur ein Fenster - das lästige Fenstergewimmel mancher Bildbetrachter entfällt also. Da es ganz bewußt auf dem GTK+ Toolkit ohne GNOME oder KDE Awareness aufbaut, spricht das Programm sehr direkt auf Tastaturbefehle an verfügt über eine exzellente Benutzbarkeit.
Der Autor möchte übrigens gerne darauf hingewiesen wissen, daß es keinesfalls so trivial ist, einen guten Bildbetrachter zu schreiben, wie viele Leute glauben. Natürlich ist es nicht weiter schwer, einfach nur ein Bild darzustellen. Aber einen generellen Bildbetrachter zu schreiben, der "es richtig macht", ist durchaus nicht trivial, da es eine ganze Menge an nicht-offensichtlichen Problemen beinhaltet.
Xzgv ist schon ein sehr fertiges Projekt - die Pläne für die weitere Entwicklung beschränken sich darauf, evtl. von der Imlib 1.x-Bibliothek wegzukommen und das Betrachten wirklich großer Bilder zu optimieren.
Da es zudem der GNU General Public License unterliegt, ist es alles in allem ein Programm, das von mir mit gutem Gewissen empfohlen werden kann.
Weiter geht es mit einem sehr speziellen Programm, daß gerade neu ins GNU Projekt aufgenommen wurde.
Bemerkenswert an dem Programm ist, daß es über "lesson files" im ASCII Format erweiterbar ist, jemand mit musikalischer Vorbildung also leicht eigene Lektionen hinzufügen kann. Mehr von diesen Files sowie mehr Dokumentation sind daher auch das drängendste Problem.
Auf lange Sicht möchte er jedoch gerne große Teile des Programms neu implementieren, da einige Lösungen noch verbessert werden können. Dabei wäre ihm übrigens die Hilfe von jemandem mit Erfahrung in OSS-Programmierung sehr willkommen.
Der Autor weist darauf hin, daß die offensichtliche Zielgruppe, Musik-Schülen & -Studenten, im Moment keine zu hohen Erwartungen haben sollten da es noch einen kleinen Augenblick bis zur 1.0 Version von Solfege dauern wird.
Auch das nächste Programm wurde kürzlich ins GNU Projekt aufgenommen und kommt aus dem schulischen Umfeld.
Ggradebook basiert auf dem GTK+ Toolkit und kann optional auch mit GNOME Support kompiliert werden. Es verfügt über die Möglichkeit, Noten in Prozent, abstrakter numerischer Form oder Buchstaben zu verwalten; letzteren können auch prozentuale Werte zugeordnet werden. Außerdem sind die Skalen der numerischen oder alphabetischen Form veränderbar.
Aktuelles Problem ist, daß bei prozentualer Wertung oder der alphabetischen Form noch kein "+" oder "-" zur Modifikation verwendet werden kann - dies ist im Moment nur bei der abstrakten numerischen Form möglich. Weitere Pläne beinhalten export/import Filter zu ähnlichen Programmen, Internationalisierung und mehr Features. Zudem ermöglicht das Interface zwar den Zugriff auf alle Funktionen, bietet aber noch Spielraum zur benutzerfreundlicheren Gestaltung.
Die größten Schwierigkeiten bereitet den Autoren im Moment die Tatsache, daß sie mehr Feedback von Benutzern brauchen. Alle Leser mit Bedarf auf diesem Gebiet sind also dazu angehalten, es zumindest einmal auszuprobieren.
Weiter geht es mit drei Projekten für Entwickler.
Das Common C++ Projekt setzt da an, wo die ANSI Std C++ Bibliothek aufhört. Das Ziel ist eine portable Klassenbibliothek, die Dinge wie abstraktes Threading, Sockets, serielles I/O und persistente Klassen-Serialisation auf Posix und Win32 Systemen zur Verfügung stellt.
Viele dieser Funktionen werden bereits einzeln durch andere Bibliotheken ermöglicht. Die Vorteile von Common C++ liegen für David Sugar darin, daß es eine einheitliche Struktur für alle diese Aufgaben bereithält. Dabei ist es sehr portabel und anstatt auf eine universelle Bibliothek zu setzen, verwendet Common C++ einzelne Libraries für die verschiedenen Systeme. Hierdurch wird es möglich, die Bibliotheken so maschinen- und systemnah zu schreiben wie möglich, was den Overhead außerordentlich gering hält. Gleichzeitig sind jedoch Common C++ basierte Applikationen auf beiden Architekturen lauffähig.
Was den Compiler angeht, so ist es sehr genügsam und unterstützt auch etliche der C++ Compiler, die sich nicht an den Standard halten obwohl davon ausgegangen wird, daß in Zukunft hierauf verzichtet werden kann.
Wie den meisten Entwicklern bekannt ist, verfügt nahezu jedes Unix Derivat über seine eigene, nicht dem Standard entsprechende, Thread-Implementation. Für diese besitzt Common C++ eine extensive Anzahl an Tests während der Konfiguration, um diese sauber abstrahieren zu können. Obwohl es nicht direkt mit GNU Pth (GNU Portable Threads, siehe Ausgabe 7 der Brave GNU World) zusammenarbeitet, so sollte es doch bereits mit deren pthread Emulation funktionieren und für die Zukunft ist geplant, GNU Pth direkt zu unterstützen.
Momentan ist eine 2.0 "rewrite" Version für den Herbst geplant, die auf die Anachronismen für die alten C++ Compiler verzichten wird. Außerdem soll am Support weiterer Plattformen (BeOS) und an der Implementation einer Netzwerkprotokoll-Bibliothek gearbeitet werden. Der Mangel hieran stellt seiner Ansicht nach momentan auch die größte Schwäche von Common C++ dar. Im Hinblick auf die weitere Entwicklung sagt David Sugar, daß seine Aufgabe scheinbar mehr und mehr administrativ wird, da es eine sehr rege Beteiligung anderer Entwickler gibt. So betont er, daß vor allem Henner Zeller und Gianni Marianni viel Arbeit in die letzte Release gesteckt haben.
Als Lizenz kommt die GNU General Public License mit ein paar Sonderklauseln zur Anwendung, wie sie in der Guile Lizenz zu finden waren. Dies plaziert sie irgendwo zwischen GPL und GNU Lesser General Public License, was die gewährten Rechte & Freiheiten betrifft. Da dies in der Vergangenheit jedoch zu einiger Verwirrung geführt hat, wird die Version 2.0 vermutlich unter der GNU LGPL herausgebracht.
Common C++ ist bereits jetzt die Basis für etliche Projekte aus dem Bereich Freier Software wie z.B. Bayonne (siehe Brave GNU World Ausgabe 16). Daher überrascht es kaum, daß Common C++ seit April 2000 ein offizielles GNU Projekt ist.
Das Projekt implementiert die vollständige Algol 60 Programmiersprache, wie im "Modified Report on the algorithmic Language Algol 60" [11] spezifiziert. Da sich diese Sprache kaum mehr verändert, ist das Ziel des Autors nun, eine front-end Shell zu schreiben, die die Handhabung für den Benutzer einfacher macht. Zudem ist er auf der Suche nach (freien) Algol 60 Programmen jeder Art.
Dies ist ein sehr nützliches Tool für jeden C/C++ Programmierer, da es einen von der Notwendigkeit befreit, die Kommandozeile selber auszuwerten, was im Normalfall eine recht langweilige aber doch sehr wichtige Tätigkeit ist. Man übergibt gengetopt einfach die gewünschten Optionen, ob diese notwendig oder optional sind und ob sie einen Parameter erfordern oder nicht. Der von gengetopt generierte C-Sourcecode wird dem eigenen Programm hinzugefügt und durch einen einzelnen Funktionsaufruf wird die Kommandozeile ausgewertet.
Zum Schluß möchte ich mich noch einem Projekt widmen, daß nicht so direkt mit Software zu tun hat.
Die Webseite [13] bietet dabei eine koordinative Schnittstelle, in der über ein Web-basiertes Tool die Gedanken ausgetauscht werden können. So können Projekte direkt online gegründet und Texte zur Diskussion gestellt werden. Die Texte werden dabei im ASCII Format übertragen und in einer MySQL-Datenbank gespeichert. Die Seiten für die Projekte werden mittels PHP3 dynamisch aus der Datenbank generiert, was die Seite im höchsten Maße interaktiv macht.
Jedes der Projekte verfügt zudem über eine Mailingliste, auf die Kommentare auch über das Web-Interface verschickt werden können. Außerdem können verwandte Projekte miteinander verknüpft werden und Mailinglisten miteinander teilen.
Das Einzige, was Stefan Meretz momentan noch fehlt, ist eine Mailschnittstelle, die die OpenTheory-Funktionen ansteuern kann - Texte können daher noch nicht per Mail veröffentlicht werden.
Das Projekt hat bereits einige hochinteressante Anwendungen erfahren. So ist beispielsweise das Oekonux Projekt (Brave GNU World Ausgabe 18) dort entstanden aber es wurden auch Vorträge für den LinuxTag in Stuttgart vorher als OpenTheory-Projekte debattiert und verändert.
Das OpenTheory Projekt selber - also die Software, die diese Interaktion ermöglicht - unterliegt vollständig der GNU General Public License und ist erst bei Version 0.4. Interessierte Entwickler sind ausdrücklich dazu eingeladen, sich an der Weiterentwicklung zu beteiligen.
Trotzdem möchte ich Euch wie immer ermutigen, mit neuen Projekte, Ideen, Fragen und Anregungen zu mir zu kommen [1].
Infos |
[1] Ideen, Anregungen, Kommentare an die Brave GNU World:
column@gnu.org
|
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) 2000 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 Nov 13 11:20:54 CET 2000