GNUMail.app, der Beweis f�r Portabilit�t

ArticleCategory:

Applications

AuthorImage:

Georges Tarbouriech

TranslationInfo:[Author and translation history]

original in en Georges Tarbouriech 

en to de Hermann J. Beckers

AboutTheAuthor

Georges ist ein langj�hriger Unixbenutzer. Als ein NeXTSTEP Liebhaber ist er von diesen drei freien Projekten, die es sich zum Ziel gesetzt haben, das Look and Feel (und vieles mehr) dieses gro�artigen Systems anzubieten, sehr begeistert.

Abstract:

GNUMail.app ist eine Nachbildung der NeXT Mail.app-Anwendung, welche unter GNUstep und MacOS X l�uft. Sein Design erlaubt es, den gleichen Quellcode auf sehr unterschiedlichen Plattformen zu benutzen. Entsprechend ist dieses gro�artige St�ck Software der absolute Beweis f�r Software-Portabilit�t zwischen GNUstep und MacOS X.

ArticleIllustration:

mail

ArticleBody:[The article body]

Es war einmal...

Gegen Ende der 80er Jahre erschien ein neues Betriebssystem, genannt NeXTSTEP. Dieses Betriebssystem bot etwas, was wir noch nie zuvor gesehen hatten. Unter vielen anderen "Sachen" stellte es den Benutzern den allerersten grafischen Mail-Client zur Verf�gung, Mail.app. Es bot nicht nur eine grafische Oberfl�che, sondern war auch in der Lage, jeden Datentyp zu verwalten: Bilder, Kl�nge, usw.
Einige Jahre sp�ter entschied NeXT, NeXTSTEP auf andere Plattformen zu portieren: OpenStep wurde geboren.
Von da an begannen einige Leute an freien Software-Projekten zu arbeiten, die die gleiche Philosophie boten. Das gr��te Projekt ist nat�rlich GNUstep, da es dessen Ziel ist, uns eine freie Implementation von OpenStep zu liefern. Die Leute bei GNUstep machen einen sehr guten Job, wenn man die Menge an Arbeit ber�cksichtigt, die ein solches Projekt erfordert.
Ein anderes gro�artiges Werk ist Window Maker. Dieser Fenster-Manager ist Teil des GNUstep-Projektes. Wenn Sie beide Webseiten aufsuchen, werden Sie alles �ber diese gro�en freien Projekte erfahren. Sie k�nnen sich auch diese "alten" LinuxFocus Artikel ansehen: Window Maker, the spirit of NeXTStep und GNUstep, the open source OpenStep. (Hey ihr "Fundamentalisten" , dieser Titel war nur ein Wortspiel mit dem Wort "open": wir wissen alle, das GNUstep freie Software ist!).
Um dieses historische Kapitel zu beenden, will ich noch hinzuf�gen, dass der NeXTSTEP-Gr�nder niemals vergass, wie fortschrittlich sein "Kind" war. Er verkaufte es an Apple (das er mitbegr�ndet hatte ...), kam zur�ck und wurde Apples "zeitweiliger" Chef. Dies brachte uns MacOS X, was NeXTSTEP mit Apfel-Geschmack ist. Und hier stehen wir nun: GNUstep und MacOS X haben viele Dinge gemeinsam. Daher kann Kompatibilit�t zwischen Anwendungen, Sourcecode, erwartet werden. Weil GNUstep auf vielen Plattformen l�uft (mehr oder weniger stabil), erm�glicht es Portabilit�t. Zu Ihrer Information, GNUstep arbeitet auf den meisten BSD-Versionen, auf den meisten Linux-Distributionen, Solaris, Irix ... und sogar auf Windo(w)s.
Einige weitere Projekte sind in Arbeit: die Portierung von Darwin (OS X core) auf die ix86-Architektur. �berpr�fen Sie http://gnu-darwin.sourceforge.net/.
Ausserdem k�nnen Sie sich http://www.linuxstep.org ansehen. Der Name sagt alles.
Es gibt ausserdem Simply GNUstep von http://simplygnustep.sourceforge.net/ , das ein vollst�ndiges ISO-Abbild ist, welches Sie von CD booten k�nnen: In anderen Worten, Sie brauchen das ganze Zeug nicht zu installieren.

HINWEIS: Sie brauchen GNUstep oder das X Window System auf MacOS X NICHT! Ich weiss, das scheint offensichtlich zu sein, aber da mich einige Leute gefragt haben, ziehe ich es vor, darauf zu bestehen ;-)
Dies ist der wichtige Punkt: Portabilit�t unter X ist etwas, das Sie jeden Tag sch�tzen werden, wenn Sie viele verschiedene Unix-Varianten benutzen. Das heisst, Sie k�nnen Anwendungen kompilieren und unabh�ngig davon nutzen, welches Unix Sie benutzen: frei, propriet�r, BSD, SystemV ... Sie haben alle etwas gemeinsam: das X Window System. Trotz seines Namens, MacOS X (X steht f�r 10, nicht f�r das X Window System) verf�gt nicht �ber das X Window System. Es hat stattdessen eine h�bsche grafische Oberfl�che namens Aqua (basiert auf Quartz, OpenGL und QuickTime). Entsprechend, was unter X einleuchtend ist, wird viel komplizierter, wenn es Betriebssysteme betrifft, die so unterschiedliche grafische Subsysteme haben.
Bei der Gelegenheit: Wenn Sie das X Window System unter MacOS X haben m�chten, es ist verf�gbar: Sie k�nnen es zum Beispiel von Apples Webseite (http://www.apple.com/downloads/macosx/unix_apps_utilities/ abrufen.
Entsprechend, wenn man sich nur an einen Punkt erinnert, wenn man �ber GNUstep spricht, sollten wir ihn "Portabilit�t" nennen. Und, endlich, kommen wir zum Kern des Titels: GNUMail.app. Wenn Sie einen Beweis brauchen, das ist er.

Was ist GNUMail.app ?

GNUMail.app ist das Werk von Ludovic Marcotte (und Freunden) und ist under der GPL ver�ffentlicht. Der k�nstlerische Teil (Icons) ist die Arbeit von Andrew Lindesay. Auf der GNUstep-Webseite k�nnen Sie einen Blick auf die h�bschen Icons werfen, die Andrew f�r GNUstep entworfen hat (in der User Apps-Sektion).
Wie wir bereits erw�hnt haben, ist GNUMail.app ein Mail-Client, Abk�mmling des NeXT-Mail.app (oder heute der Apple MacOS X Mail.app-Anwendung). Hier ist die ganze Familie: von links nach rechts, der Vater, der Sohn ... und die Neffen.

NeXTmail MacOS X mail GNUstep GNUMail MacOS X GNUMail

GNUMail.app besitzt das Look-and-Feel der NeXT Mail.app-Anwendung. Sicher, es hat andere Mailclients in diesem Gewand gegeben, besonders f�r die Verwendung unter WindowMaker gedacht. Lassen Sie mich Postilion http://www.postilion.org/ oder Aileron http://ucsu.colorado.edu/~nwanua/Aileron/ erw�hnen.
Sie k�nnen sie als gestoppte Projekte betrachten: Beide Autoren glauben, dass GNUMail.app der N�XTe Schritt ist.
GNUMail.app ist etwas anders: Es ist in Objective C geschrieben, benutzt Apple-(NeXT)-Entwickler-Werkzeuge wie InterfaceBuilder und ProjectBuilder auf der Mac-Seite, und sollte bald in der Lage sein, Gorm oder ProjectCenter unter GNUstep zu nutzen (beide sind auf der gnustep-Webseite in der Developer-Apps-Sektion zu finden). Das wichtigste ist jedoch, das Sie den gleichen Quelltext zum Kompilieren benutzen k�nnen, sowohl unter MacOS X als auch unter GNUstep. Die derzeitige Version z. Zt. des Schreibens dieses Artikels ist 1.0.0. Es wird die Bibliothek Pantomime ben�tigt, die ein Rahmenwerk zum Umgang mit Mail-Verbindungen (SMTP, POP, IMAP ...) bietet. Die derzeitige Version ist 1.0.2, und erneut ... es ist die gleiche f�r MacOS X oder GNUstep. Beide Archive k�nnen von http://www.collaboration-world.com/gnumail/ abgerufen werden.

Eigenschaften

Da ich das Rad nicht neu erfinden werde, steht hier das, was Sie auch auf der GNUMail.app-Webseite lesen k�nnen:
- mehrere POP3-Konten (mit APOP-Unterst�tzung) mit lokaler Cache-Unterst�tzung (wenn Nachrichten auf dem Server verbleiben sollen);
- mehrere Zustellungsagenten (SMTP oder lokaler Mailer);
- Mailspool-Datei-Unterst�tzung f�r Empfang;
- Gute IMAP-Unterst�tzung mit lokalem Caching;
- Volle RFC822- und RFC2822-Unterst�tzung;
- Lesen, Erstellen, Zur�ckweisen, Beantworten und Weiterleiten von Nachrichten;
- Mailbox-Verwaltung (Erstellen, L�schen, Sperren und Nachrichten�bertragung) mittels des Berkeley-mbox-Formats;
- Verwaltung pers�nlicher Voreinstellungen;
- MIME-Unterst�tzung (En-/De-Kodierung);
- Ein vollst�ndiger MIME-Typen-Verwalter;
- Unterst�tzung f�r Quoted Printable und BASE64;
- Adress-Buch mit Gruppenunterst�tzung;
- Such-Feld mit Unterst�tzung f�r regul�re Ausdr�cke;
- Automatischer oder manueller Abruf Ihrer Emails (Benutzer-Einstellung);
- M�chtige Filter, die regul�re Ausdr�cke unterst�tzen.
Ludovic hofft, sehr bald neue F�higkeiten hinzuzuf�gen, wie z. B. ein neues Men� f�r Einstellungen oder GPG-Unterst�tzung. Und wenn Sie wissen, wie schnell er arbeitet, dann k�nnen Sie ihm das auch glauben!

Sie sollten sich jetzt so f�hlen, als ob Sie die GNUMail.app-Webseite aufgesucht h�tten ;-)

GNUMail.app kompilieren und installieren

GNUMail.app ist als Quellcode f�r MacOS X und Linux verf�gbar wie auch Pantomime (denken Sie daran, Sie brauchen beide). Nur Linux zu erw�hnen ist ziemlich restriktiv: Es gilt f�r fast alle Betriebssysteme, auf denen GNUstep l�uft. Z. B. l�uft GNUMail.app unter FreeBSD, NetBSD...
Sie k�nnen Bin�rversionen f�r MacOS X bekommen, wenn Sie keine Lust auf das Kompilieren haben. Es gibt Pakete f�r Debian und auch "Ports" f�r FreeBSD. Dar�ber werden wir jedoch nicht reden.
Um GNUMail.app kompilieren und nutzen zu k�nnen, m�ssen einige Voraussetzungen erf�llt sein.
Unter MacOS X ben�tigen Sie offensichtlich die Entwicklerwerkzeuge. Unter GNUstep brauchen Sie ...GNUstep. Wie Sie GNUstep installieren, f�llt aus dem Rahmen dieses Artikels, aber Sie finden alles N�tige auf der GNUstep-Webseite. Ich empfehle jedoch GCC Version 3.0 oder h�her, um einige Kompilierungs-Probleme zu vermeiden. Sie brauchen auch die "unstabilen" GNUstep-Versionen von make (1.3.0), base (1.3.0), gui (0.7.6) und xgps (0.7.6). Machen Sie sich keine Sorgen, sie werden "unstabil" genannt, funktionieren aber recht gut.

MacOS X

Zuallererst, wenn Sie die FAQ nicht lesen, sollten Sie daran denken, die Archive �ber die Kommandozeile mit einem Befehl wie tar zxvf archive.tar.gz. zu entpacken. Die Benutzung automatischer Werkzeuge wie Stuff-it �ndert einige Dateien aus dem Archiv und Sie m�ssen sie umbenennen.
Die README-Datei im docs-Verzeichnis zeigt Ihnen, wie Sie Pantomime und GNUMail.app mittels ProjectBuilder kompilieren und installieren (Pantomime muss zuerst kompiliert werden). Das Befolgen der verschiedenen Schritte belohnt Sie mit einem brandneuen GNUMail-Programm.
Wenn Sie die Befehlszeile vorziehen, k�nnen Sie pbxbuild und pbxbuild install benutzen. Wenn Sie pbxbuild nicht kennen, erz�hlt Ihnen die ProjectBuilder Online-Hilfe alles �ber dieses Werkzeug.
Als kurzer Abstrakt sollte erw�hnt werden, dass Sie kein Ziel �ber ProjectBuilder installieren k�nnen, Sie m�ssen stattdessen pbxbuild install benutzen. Das heisst, das �ber ProjectBuilder erstellte Programm ist mit dem Verzeichnis verbunden, in dem Sie die Anwendung kompiliert haben. Wenn Sie das Programm verschieben und das Verzeichnis l�schen, wird die Anwendung nicht ordentlich arbeiten. Wenn Sie das Quell-Verzeichnis (in dem Sie kompiliert haben) l�schen und eine funktionierende Anwendung behalten wollen, ist die Benutzung von pbxbuild install verpflichtend.
Wenn Sie fertig sind, reicht zum Start ein Klick auf das Icon des GNUMail-Programms.

GNUstep

Sobald GNUstep l�uft, entkomprimieren Sie die Archive mit dem gleichen Befehl wie oben. Als n�chstes geben Sie in einer Shell make und make install ein und das war es schon (nat�rlich m�ssen Sie Pantomime vor GNUMail.app kompilieren). Starten Sie den Befehl openapp GNUMail.app und Sie sehen die Magie: ein sehr sch�ner Mail-Client auf Ihrem Bildschirm.
Wenn Sie die Dinge aktuell halten wollen, k�nnen Sie CVS-Versionen von GNUMail.app (und Pantomime) erhalten. Ludovic und seine Freunde arbeiten sehr hart und bieten Ihnen fast jeden Tag neue verbesserte Sachen. Das impliziert nat�rlich, das Sie den Quelltext nicht l�schen, den Sie zur Kompilierung Ihrer ersten Version benutzt haben. Das mag auch eine GNUstep-Aktualisierung erfordern (ebenfalls CVS) oder eine Aktualisierung der Entwickler-Werkzeuge von Apple, falls es dort etwas neues gibt. F�r das letztere m�ssen Sie als Entwickler registriert sein (keine Sorge, es kostet nichts!).
Nun, da Sie jetzt eine h�bsche Anwendung haben, m�chten Sie diese wohl auch benutzen.

GNUMail.app konfigurieren

GNUMail.app bietet Ihnen eine recht h�bsche Seite f�r die Einstellungen, was den Konfigurationsprozess recht einfach gestaltet. Diese Seite ist in verschiedene Sektionen geteilt: Pers�nliches, Anzeige, Senden, Empfangen, Erstellen, Zeichens�tze, MIME und Filter.
Wie der Name sagt, erlaubt Ihnen die Sektion Pers�nliches die Eingabe Ihrer pers�nlichen Informationen: Name, Email-Adresse, Signatur.

personal personal

Die Sektion Anzeige dient der Definition, welche Kopfzeilen Sie in den Nachrichten sehen m�chten oder ob URLs im Nachrichtentext hervorgehoben werden sollen.

viewing viewing

Die Sektion Versenden betrifft ... die Versandmethoden. Dort definieren Sie die Transportmethode, Ihren Benutzernamen, Password usw.

sending sending

Die Empfangs-Sektion definiert, wie ... Nachrichten empfangen werden. Dort spezifizieren Sie die Mailserver f�r eingehende Nachrichten.

receiving receiving

Die Erstellen-Seite definiert die Position der Signatur, die Anzahl Zeichen vor einem Zeilenumbruch.

compose compose

Auf der Zeichensatzseite k�nnen Sie die Fonts f�r die Anzeige einer Nachricht ausw�hlen.

fonts fonts

Die MIME-Seite erlaubt es, die Daten zu definieren, die Sie als Anhang sehen m�chten (Bilder, Dokumente wie PDF ...).

mime mime

Nicht zuletzt dient die Filterseite zur Definition der Filterregeln.

filters filters

Wie Sie bemerken werden, ist der Konfigurationsprozess recht einfach und benutzerfreundlich. Das Ziel war es nat�rlich, Ihnen zu zeigen, wie dies unter GNUstep und MacOS X aussieht.

Die Benutzung von GNUMail.app

Die Benutzung von GNUMail.app ist so einleuchtend, dass es dazu eigentlich keines eigenen Kapitels bedarf. Unter MacOS X klicken Sie einfach auf das GNUMail.app-Icon im FInder und das wars. Nat�rlich bekommen Sie ein neues Icon im Dock, wo Sie es belassen k�nnen, wenn Sie das w�nschen. Wenn die Anwendung l�uft, gen�gt es, auf die Icons im Kopf der ge�ffneten Mailbox (Standard: Inbox) zu klicken, um Nachrichten zu l�schen, zu senden oder zu empfangen, verschiedene Mailboxen zu �ffnen, eine neue Nachricht zu erstellen, eine Nachricht zu beantworten oder weiterzuleiten, das Adressbuch zu �ffnen oder eine Suche in Ihren Mailboxen durchzuf�hren.
Das Hauptmen� bietet Ihnen die gleichen M�glichkeiten und einige zus�tzliche Funktionen. Die wichtigsten Optionen verf�gen �ber Tastaturk�rzel. Dieses Men� funktioniert auch als Popup-Men�.
Unter GNUstep kommt der einzige Unterschied daher, wie die Anwendung beim ersten Mal gestartet wird. Wenn Sie sich mit GNUstep auskennen, wissen Sie, dass Sie openapp und den Pfad der Anwendung eingeben m�ssen. Wenn Sie WindowMaker als Ihren bevorzugten Fenstermanager benutzen (sehr zu empfehlen!), erhalten Sie ein App-Icon; es reicht, dieses in das Dock zu ziehen ... und Sie brauchen niemals mehr etwas in der Shell eingeben, um GNUMail.app zu starten.
Das Wichtigste scheint mir, das GNUMail.app recht stabil geworden ist. Im Vergleich zu fr�heren Versionen gibt es betr�chtliche Fortschritte, besonders unter GNUstep. Nach einigen Wochen der Benutzung hatte ich noch keinen "Crash". GNUMail.app ist nun perfekt zu gebrauchen als Ihr allt�glicher Mail-User-Agent.
Unter MacOS X war es schon vor der Version 1.0 recht stabil.

Was kommt als N�XTes?

Wir k�nnten GNUMail.app als ein Experiment in Portabilit�t betrachten. Aber es ist ein funktionierendes Experiment! Sicher, viele andere Mail-Clients haben mehr F�higkeiten. GNUMail.app ist jedoch die erste wirkliche Anwendung, die in der Lage ist, unter so verschiedenen Umgebungen wie MacOS X und GNUstep mit absolut dem gleichen Quellcode zu arbeiten. Ludovic arbeitet an einem anderen Projekt, und auch wenn es nicht so fortschrittlich ist wie GNUMail.app, so ist es doch von Interesse.
Es heisst Affiche, und es ist eine "post-it"-Implementation, auch wieder f�r MacOS X und GNUstep. Auf der Webseite findet sich auch EasyDiff, ein grafisches Diff von Pierre-Yves Rivaille, das z. Z. nur unter GNUstep l�uft.
Viele Leute waren skeptisch hinsichtlich der Portabilit�t zwischen MacOS X und GNUstep, Ludovic bringt jedoch den Beweis. Nat�rlich ist es noch ein langer Weg, bevor GNUstep vollst�ndig ist, nichtsdestoweniger gibt es konstante Verbesserungen. Man muss allen Leuten danken, die an GNUstep beteiligt sind. Der wichtigste Grund ist die enorme Menge an Arbeit, die solch ein Projekt erfordert und der zweite die wenigen Leute, die beteiligt sind. Vielen Dank an Adam Fedor und Freunde f�r dieses gro�artige St�ck Software.
Wieder ist es offensichtlich, das jede Entwicklung von GNUstep-Fortschritten abh�ngt. Z. Z. gibt es eine Menge funktionierender Anwendungen, obwohl viele von ihnen erst am Anfang stehen. Der andere Weg mag den Proze� beschleunigen: d. h. die meiste Arbeit wird unter GNUstep getan, aber wir k�nnen auf weitere Entwicklungen unter MacOS X mit Portabilit�t im Sinn hoffen. Und dies w�re ein guter Startpunkt f�r echte Multi-Plattform-Anwendungen.
In einer Zeit, wenn das Windo(w)s-"Clo(w)nen" die Regel zu sein scheint, ist es ein Gl�ck, �ber eine solche Alternative zu verf�gen. Wenn die aktuelle "Mode" sich mit dem Wort offen verbindet, dann ist GNUstep das Modell.
Ein Teil der Linux-Gemeinschaft wartet darauf, dass das System sich auf den Desktops verbreitet oder die "Weltherrschaft" erlangt!!! Beruhigt Euch: Ein Monopol, einerlei ob es frei ist oder nicht, bleibt ein Monopol ... und neben anderen Sachen, ein Monopol killt Kreativit�t. Die Verschiedenheit ist viel wichtiger, weil sie Emulation anregt, was nicht bedeutet, einen Pseudo-Standard (und seine Anwendungen) zu "clonen", als ob dessen Editor die alleinige Wahrheit h�lt und als absolute Referenz zu betrachten sei.
Vor ungef�hr 15 Jahren initiierte NeXTSTEP eine Revolution in der Unix-Welt: es erlaubte Menschen die Benutzung von Unix, ohne etwas dar�ber zu wissen! Das passiert mit MacOS X heute. Und Linux ist tats�chlich noch weit von diesem Punkt entfernt, selbst wenn es die "falsche" Referenz nachbildet. Sie werden vielleicht bemerkt haben, das GNUstep KEIN Windo(w)s-Nachbau ist (zumindest behaupte ich das!). Es ist eine freie Implementation des "Sohnes" (OpenStep) eines der innovativsten Betriebssysteme (NeXTSTEP), die es bisher gab.
Um Verwirrung zu vermeiden, GNUstep ist ein Rahmenwerk und es wird zu einer (leichtgewichtigen) Desktop-Umgebung, sobald Sie Anwendungen hinzuf�gen ... wie z. B. GNUMail.app.
Was noch wichtiger ist, GNUstep ist nicht auf Linux beschr�nkt.
In der Mitte der 80er Jahre gabt es eine Menge verschiedener Betriebssysteme. Heute ist die Alternative Unix oder Windo(w)s. Das ist schade. Nichtsdestoweniger, ich w�rde eine Welt vorziehen, in der wir aus einer Menge von Systemen w�hlen k�nnten: je mehr, desto besser.
Zumindest haben wir Gl�ck: wir haben eine Menge verschiedener Unix-Varianten, und die meisten sind f�hig, GNUstep auszuf�hren!
Dies war die �bliche Off-Topic-Sektion, und sie gibt nur meine Meinung wieder.
Zur�ck zu GNUMail.app, wir k�nnen nur hoffen, das es vielen Entwicklern Anregungen geben wird. MacOS X-Benutzer haben eine gro�e Chance namens InterfaceBuilder (und ProjectBuilder). Die Entdeckung dieser Werkzeuge wird ihr Leben ver�ndern. In der allerN�XTen Zukunft k�nnen wir damit rechnen, das Gorm und ProjectCenter die gleiche Entwicklung nehmen wie ihre Modelle, dann wird GNUstep ein Mu� sein.
Vielen Dank an Ludovic daf�r, das er uns den Weg zeigt.
Habe ich Euch schon gesagt, das wir in einer gro�artigen Zeit leben!

Links

Die Heimat von GNUMail.app: http://www.collaboration-world.com/gnumail/
Alles �ber GNUstep: http://www.gnustep.org
Noch etwas mehr �ber GNUstep: http://www.gnustep.net
Anwendungen, Tutorien, HOWTOs von Nicola Pero und Pierre-Yves Rivaille: http://www.gnustep.it
Apple MacOS X Entwickler-Werkzeuge: http://developer.apple.com/tools/macosxtools.html