[LinuxFocus-icon]
LinuxFocus article number 241
http://linuxfocus.org

Georges Tarbouriech
Georges Tarbouriech
<georges.t/at/linuxfocus.org>

L'autore:

Georges è un utilizzatore Unix da tempo. Essendo un estimatore di NeXTSTEP, prova molto interesse per progetti free che hanno come scopo l'emulazione dell'aspetto (ed altro) di questo sistema operativo.



Tradotto in Italiano da:
Toni Tiveron <toni/at/amicidelprosecco.com>

GNUMail.app, l'evidenza della portabilità

mail

Premessa:

GNUMail.app è il clone dell'applicativo Mail.app di NeXT, che gira sotto GNUstep e MacOS X. Il suo design permette di sfruttare lo stesso codice sorgente su svariate piattaforme. Giustamente questo gran software è una palese evidenza della portabilità tra GNUstep e MacOS X.


_________________ _________________ _________________

 

C'era una volta...

Alla fine delgli anni 80, fece capolino nella scena dei sistemi operativi NeXTSTEP. Questo sistema operativo fu in grado di offrire qualcosa che fino a quel tempo non era mai stato visto prima. Tra le svariate cose, fu il primo ad offrire all'utente il primo programma di posta con interfaccia grafica: Mail.app. Non solo esso possedeva un'interfaccia grafica, ma era anche in grado di gestire direttamente qualsiasi tipo di dati: immagini, suoni, etc.
Dopo alcuni anni, NeXT decise di portare NeXTSTEP su altre piattaforme: nacque così OpenStep.
Da quel momento le persone hanno iniziato a lavorare su progetti di software gratuito che offrissero la stessa filosofia. Il più grande progetto è ovviamente GNUstep, il cui fine ultimo è quello di fornirci una implementazione libera di OpenStep. I ragazzi di GNUstep stanno facendo una lavoro grandioso, se tenete conto della quantità di lavoro che impica un tale tipo di progetto.
Un'altra cosa grandiosa è Window Maker. Questo Windows Manager è parte del progetto GNUstep. Visitando entrambi i siti scoprirete tutto quello che riguarda questi due grandiosi prodotti di software gratuito. Se volete potete dare anche un occhio a questi due "vecchi" articoli di LinuxFocus:Window Maker, Lo spririto di NeXTSTEP e GNUstep, OpenStep in versione OpenSource. (Eddai, "fondamentalisti", questo titolo era solo un gioco di parole tra i termini "open": Tutti sappiamo che GNUstep è un software gratuito!).
Per concludere questa novella, laciatemi dire che il fondatore di NeXTSTEP non ha mai dimenticato quanto evoluto ed avvenieristico fosse il suo "figlioccio". Lo ha venduto ad Apple (di cui egli stesso fu uno dei fondatori...), e tornato a "casa", divenne il capo "supremo ad tempora" di Apple. Questo ha fatto sì che MacOS X potesse giungere a noi. MacOS X che non è altro che la variante Apple di NeXTSTEP. Ed occoci giunti ai giorni d'oggi: sia GNUstep che MacOS X hanno molte cose in comune. Da questo possiamo aspettarci una compatibilità sia tra gli applicativi sia nel codice sorgente. Siccome GNUstep è in grado di girare su svariate piattaforme (in maniera più o meno stabile), rende il concetto della protatibilità una cosa concreta. Per vosta personale informazione, GNUstep può funzionare correttamente sulla maggior parte della varianti BSD, nella maggior parte delle distribuzioni Linux, su Solaris, Irix... ed anche Windows!
Molti altri progetti sono coinvolti nella filosofia GNUstep: il porting di Darwin (il cuore di MacOS X), per esempio. (Date un occhio a http://gnu-darwin.sourceforge.net/).
Potete anche dare un occhio a http://www.linuxstep.org. Direi che il nome dica tutto :-)
Esiste anche Simply GNUstep, dal sito http://simplygnustep.sourceforge.net/, che vi fornisce una immagine ISO che permette il boot da CD; in altre parole: non dovrete installare nulla, ma potrete godere di GNUstep.

NOTA: Se utilizzate MacOS X non avete bisogno nè del sistema X Window, nè di GNUstep. Lo so, la cosa potrà sembrare scontata, ma dato che alcune persone me lo hanno già chiesto, preferisco sottolinearlo ;-)
Eccoci al punto essenziale: la portabilità nell'ambiente X è un qualcosa che potete apprezzare molto, allorquando utilizzerete più varianti di Unix. Mi spiego: potete compilare ed utilizzare le applicazioni indipendentemente dalla variante di Unix su cui lavorate: gratuita, proprietaria, BSD, SystemV,... Tutte queste hanno qualcosa in comune: il sistema a finestre X (X Window System, come si usa dire). A dispetto del proprio nome, MacOS X (X in tal caso significa 10 non X Window System) non ha il sistema a finestre X: esso ha una meravigliosa interfaccia grafica nota come Aqua (basata su Quartz, OpenGL e QuickTime). Di conseguenza, quello che appare ovvio usando X, diviene molto più complesso nel momento in cui andiamo a utilizzare e confrontare sistemi operativi a finestre assai diversi.
Per la cronaca, se volete veramente avere il sistema a finstre X in MacOS X è disponibile presso il sito della Apple stessa(http://www.apple.com/downloads/macosx/unix_apps_utilities/).
Possiamo dire che esiste un solo essenziale punto da tenere prensente quando parliano di GNUstep: la "portabilità". Ed infine giungiamo al nocciolo del nostro articolo: GNUMail.app. Se vi serve una prova, eccovene una qui!

 

Che cos'è GNUMail.app ?

GNUMail.app è un prodotto di Ludovic Marcotte (e di alcuni suoi amici), realizzato sotto licenza GPL. La parte pittorica (ovvero le icone) del tutto è stata realizzata da Andrew Lindesay. Se avete visto il sito di GNUstep avrete potuto ammirare le splendide icone create da Andrew per GNUstep (nella sezione User Apps).
Come avevamo già detto, GNUMail.app è un client di posta elettronica, clone del programma Mail.app di NeXT (o, come si dovrebbe dire oggigiorno, un clone di Mail.app di MacOS X). Qui trovate l'intera famiglia. Da sinistra a destra: il padre, il figlio... ed i nipoti.

NeXTmail MacOS X mail GNUstep GNUMail MacOS X GNUMail

GNUMail.app ha l'aspetto e la fruibilità di Mail.app di NeXT. Vero, vi sono altri programmi per leggere la posta elettronica con l'aspetto di NeXTSTEP, appositamente studiati per funzionare sotto Window Maker. Lasciate che citi Postilion http://www.postilion.org/ o Aileron http://ucsu.colorado.edu/~nwanua/Aileron/.
Potete considerare ambo questi progetti come sospesi: entrambi gli autori credono che GNUMail.app sia il passo successivo (nota del traduttore: qui l' autore, in vero, utilizza il termine NeXT per indicare il senso di futuro, successivo, creando un piccolo gioco di parole).
GNUMail.app è qualcosa di diverso: è scritto in Objective C, utilizza strumenti di sviluppo di Apple (NeXT), come InterfaceBuilder e ProjectBuilder, sul fronte Mac, e presto dovrebbe usare Gorm o ProjectCenter sul fronte GNUstep (entrambi sono disponibili sul sito di GNUstep nella sezione "Developer Apps"). Tuttavia la cosa più importante è che voi potete sfruttare il medesimo sorgente per compilarlo, indipendentemente che utilizziate MacOS X o GNUstep. La versione corrente è la 1.0.0, o meglio è la versione disponibile or ora che sto scrivendo questo articolo. Essa necessita di una libreria nota come Pantomime, che altro non è che una sottostruttura necessaria per gestire le connessione di posta (SMTP, POP, IMAP,...). La versione attuale è la 1.0.2, e.... di nuovo è la stessa sia per MacOS X che per GNUstep. Entrambi gli archivi possono esser scaricati da http://www.collaboration-world.com/gnumail/

Caratteristiche

Dato che io non ho reinventato la ruota, ecco a voi quello che potete legger dal sito di GNUMail.app:
- Gestione di più account POP3 (con il supporto APOP) con supporto per la gestione di cache locale (permettendovi così di lasciare i messaggi sul server);
- Consegna delle mail per mezzo di più strumenti (SMTP o server di posta locali);
- Supporto per la ricezione dei messaggi per mezzo dello spool di posta;
- Ottimo supporto per il protocollo IMAP per mezzo della cache locale;
- Compatibilità completa con gli RFC822 e RFC2822;
- Lettura, composizione, bouncing, risposta ed inoltro delle mail;
- Gestione della casella di posta (creazione, cancellazione, congelamento e trasferimento dei messaggi) con il formato mbox di Berkeley;
- Customizzazione delle preferenze;
- Supporto MIME (codifica e decodifica);
- Gestione completa dei tipi MIME;
- Supporto per il formato di stampa (quoted printable) e BASE64;
- Indirizzario con supporto per gruppi e liste di distribuzione;
- Opzione di ricerca del testo nei messaggi;
- Download automatico o manuale delle voste mail (a completa scelta dell'utente);
- Versatili filtri per la ricerca di testi nelle email;
Ludovic spera di aggiungere presto nuove funzionalità, come nuove opzioni di preferenza o il support per PGP. E potete credergli allorquando capirete quanto rapidamente lavori!

Questa dovrebbe esser l'impressione quando visiterete il sito di GNUMail.app ;-)

 

Compilare ed installare GNUMail.app

GNUMail.app è disponibile sia come codice sorgente per MacOS X e Linux, come pure Pantomime (vi ricordo che vi servono entrambi). Dire Linux è comunque restittivo: potrei dire la maggior parte dei Sistemi Operativi che siano in grado di funzionare con GNUstep. Per esempio, GNUMail.app è stato testato, con successo, su FreeBSD, NetBSD...
Potete scaricare la versione compilata per MacOS X se non ve la sentite di compilarlo, Vi sono pacchetti sia per Debian, come pure "ports" per FreeBSD. tuttavia noi, qui, non si parlerà delle versioni compilate.
Per poter compilare ed utilizzare GNUMail.app, il sistema deve disporre di alcuni requisiti.
Con MacOS X, avrete, ovviamente, bisogno dei tools di sviluppo (Developers tools). Con GNUstep avrete bisongo di... GNUstep. Come installare GNUstep non è parte degli scopi di questo articolo, ma troverete tutto quello che vi serve sul sito di GNUstep. Tuttavia, mi sento di consigliarvi, come versione di gcc la 3.0 o superiore, per evitare alcuni problemi di compilazione. Vi servono anche le seguenti componenti "instabili" di GNUstep: make (1.3.0), base (1.3.0), gui (0.7.6.) e xgps (0.7.6.). Non fatevi spaventare dal termine "instabile", in quanto queste versioni funzionano abbastanza bene.

MacOS X

Prima di tutto, se non avete letto le FAQ, siate a conoscenza che dovrete decomprimere l'archivio per mezzo di una finestra dei comandi con un comando simile a tar zxvf archive.tar.gz. Ricorrere a strumento che automatizzano le operazioni, come per esempio Stuff-it, altererà alcuni file dell'archivio obbligandovi a rinominarli a mano.
Il file README nella cartella docs vi spiega come compilare ed installare Pantomime e GNUMail.app per mezzo di ProjectBuilder (Pantomime deve esser compilato per primo). I seguenti passi vi permetteranno di avere una copia eseguibile di GNUMail.app nuova fiammante.
Se prediligete la riga di comando, potete utilizzare pbxbuild e pbxbuild install. Se non siete pratici del comando pbxbuild, l'aiuto in linea di ProjectBuilder vi darà delucidazioni su questo strumento.
Una piccola digressione: lasciate che vi avverta che non potete installare un oggetto partendo da ProjectBuilder: dovrete invece utilizzare pbxbuild install. Questo perchè l'eseguibile che avete creato utilizza dei riferimenti alla cartella in cui avete compilato l'applicativo. Se spostate l'eseguibile in una qualsiasi altra cartella, l'applicazione non funzionerà correttamente. Se volete cancellare la cartella contenente i sorgenti (ovvero quella in cui avete compilato) e poter aver ugualmente un applicativo funzionale, è obbligatorio l'uso di pbxbuild install.
Allorquando avrete compilato ed installato, per utilizzare l' applicativo dovrete semplicemente eseguirlo per mezzo dell'icona.

GNUstep

In un sistema in cui GNUstep è correttamente funzionante, scompattate gli archivi con lo stesso comando utilizzato precedentemente. Come passo successivo dovrete digitare make e make install all'interno di una shell (ovviamente precentemente dovrete aver installato e compilato Pantomime). Eseguite il comando openapp GNUMail.app e per magia... un fantastico programma di posta elettronica farà capolino sul vostro schermo.
Se volete tenervi aggiornati costantemente, potete ricorrere alla versione CVS di GNUMail.app (ed anche di Pantomime). Ludovic ed i suoi collaboratori lavorano alacremente per fornirvi nuovi funzionalità in base quasi quotidiana. Questo, ovviamente, implica che dobbiate tenere nel vostro sistema la cartella contenente la prima versione dei sorgenti dell'applicazione. Potrebbe anche rendersi necessario mantenere aggiornato anche GNUstep (sempre per mezzo di CVS) o l'aggiornamento degli Stumenti di Sviluppo (Developer Tools) di Apple. Per poter accedere a questo kit dovrete esser registrati sul sito di Apple (non preoccupatevi la registrazione è gratuita!).
Ora avrete tra le mani un applicativo interessante, e, probabilmente, vi sentirete felici di utilizzarlo.

 

Configurare GNUMail.app

GNUMail.app è fornito di un funzionale pannello di controllo, rendendo così il processo di configurazione assai semplice. Il pannello è diviso in più sezioni: personal (generale), viewing (visualizzazione), sending (invio), receiving (ricezione), compose (componimento), fonts (caratteri), MIME and filtering (filtri).
Come il nome stesso suggerisce, la sezione personal, vi permette di fornire i vostri dati: nome, indirizzo di posta elettronica, la firma digitale.

personal personal

La sezione viewing è finalizzata al modo di visualizzare gli header che preferite o di evidenziare indirizzi web all'interno del messaggio.

viewing viewing

La sezione sending... ovviamente riguarda le modalità di invio della posta. Qui potete definire il metodo di trasporto, il vostro username, la password,...

sending sending

La sezione receiving definisce come debba essere ricevuta la posta elettronica. Qui dovreste specificare il server (o i server se avete più di un account) della posta in arrivo.

receiving receiving

La sezione compose, definisce la posizione della firma digitale, il numero di caratteri per riga per la funzione di a capo automatico.

compose compose

Nella sezione fonts potete scegliere il carattere che preferite per visualizzare le vostre lettere.

fonts fonts

La sezione MIME vi permette di definire quali dati vogliate vedere come allegato (immagini, documenti PDF,...)

mime mime

Alla fine, ma non per questo non meno inportante, vi è la sezione che definisce le regole di filtraggio della posta.

filters filters

Come avrete notato i passi per configurare l'applicazione sono semplici ed intuitivi. Lo scopo ultimo di questo pragrafo era di farvi vedere come GNUMail.app appaia sia sotto GNUstep che sotto MacOS X.

 

Usare GNUMail.app

L'uso di GNUMail.app è talmente ovvio che non è necessario scrivere un lungo paragrafo. Nell'ambiente MacOS X, semplicemente fate un click nel Finder ed il gioco è fatto. Durante l'installazione, si crea una nuova icona sul desktop, per un più rapido utilizzo. La potrete tenere o cancellare a vostra scelta. Quando l'applicazione è attiva, è sufficiente che facciate un click sull'icona della casella di posta aperta (di norma Inbox - Posta in arrivo) per cancellare un messaggio, per inviare e ricevere, per accedere ad una altra cartella, per scrivere un nuovo messaggio, per rispondere o inoltrare un messaggio, per accedere alla rubrica o effettuare una ricerca nelle varie caselle di posta.
Il menu principale vi fornisce le medesime funzionalità appena discusse ed altre. Le più utili funzioni sono accessibili per mezzo di una serie di combinazioni di tasti della tastiera. I menu funzionano anche con la modalità a popup (tendine).
Nell'ambiente GNUstep l'unica differenza deriva dal modo di accedere per la prima volta all'applicazione. Se siete pratici di GNUstep, saprete che dovrete digitare openapp. Se utilizzare Window Maker (cosa che vi raccomando!), otterrete una appicon (una icona che ricorda la stessa applicazione): quanto basta per trascinarla sullo schermo di lavoro, in modo da non dover più digitare i comandi nella shell per eseguire GNUMail.app.
La cosa degna di nota è che GNUMail.app è divenuto stabile. Vi è stato un significativo sviluppo dalle precedenti versioni. Dopo alcune settimane di utilizzo, non ho avuto nessun "crash". Direi che GNUMail.app oggigiorno è perfettamente utilizzabile come il vostro programma di posta elettronica.
Nell'ambiente MacOS X esso è risultato stabile sin dalla versione 1.0.

 

Che altro?

Noi abbiamo considerato GNUMail.app come un esperimento di portabilità. Si tratta comunque di un esperimento che ha avuto successo!! Verissimo che vi sono molti altri programmi che hanno molte altre funzionalità. Tuttavia, GNUMail.app è il primo applicativo che funzioni sotto abienti di lavoro tanto diversi come MacOS X e GNUstep, con il medesimo codice sorgente. Ludovic sta attualmente lavorando ad un altro progetto che, anche se meno evoluto di GNUMail.app, risulta essere interessante.
Questo progetto porta il nome di Affiche, e si tratta di una rivisitazione del cosidetto "post-it", anche questo, ovviamente, sia per MacOS X che per GNUstep. Il sito web ospita anche EasyDiff, uno strumento per verificare le differenze tra file in forma grafica, sviluppato da Pierre-Yves Rivaille. Per il momento EasyDiff funziona solo sotto GNUstep.
Per le molte persone sono scettiche sulla portabilità tra MacOS X e GNUstep, Ludovic vi dà la dimostrazione della sua fattibilità. Certo la strada per completare GNUstep è assai lunga, ma ciò non limita la sua costante evoluzione. Dobbiamo congratularci con le persone che collaborano al progetto di GNUstep. Le ragioni pricipali sono: l'enorme quantità di lavoro necessaria per la realizzazione di un tale progetto e il ristretto numero di persone che ci stanno lavorando. Ringrazio moltissimo Adam Fedor ed i suoi collaboratori per averci fornito un software così grandioso.
È ovvio che ogni sviluppo si basa sull'evoluzione di GNUstep. Al momento, vi sono moltissime applicazioni che funzionano in questo ambiente, anche se la maggior parte di esse sono ai loro albori. Un altro modo per accellerare il processo di sviluppo, che è essenzialmente basato su GNUstep, è di sperare in un incremento dello sviluppo nell'ambiente MascOS X con la portabilità come concetto di fondo. Questo potrebbe essere un ottimo punto di partenza per la realizzazione di applicativi multi-piattaforma.
Oggi che Windows sembra esser prossimo al dominio completo, è una fortuna avere un'alternartiva di questo tipo. Se la parola open oggigiorno è di moda, GNUstep ne è la sua espressione.
Tralasciamo il fatto che la comunità di Linux si stia auspicando che il proprio sistema operativo si diffonda nell'ambiente desktop... o che possa raggiungere la "dominazione del mondo"!!!. Restiamo con i piedi per terra: un monopolio, sia esso libero o meno, resterà per sempre un monopolio... e tra le altre cose un monopolio uccide la creatività. La diversità è ancora più importante in quanto può generare, tra le altre cose, emulazione, che non implica "clonazione" di uno pseudo-standard (e delle relative applicazioni). Mi spiego: l'autore dell'originale non è l'unico depositario della verità e quest'ultima non deve esser considerata come unico parametro di riferimento.
All'incirca 15 anni or sono NeXTSTEP ha iniziato una rivoluzione nel mondo Unix: diede la possibilità all'utente di utilizzare Unix senza doverlo conoscere! Così sta facendo MacOS X oggigirno. Ed, ad esser sinceri, Linux è ben lontano da questo traguardo, anche scopiazzando da un riferimento non corretto. Avrete notato che GNUstep NON è un clone di Windows (o almeno, IO lo dico e lo penso!). È una libera implentazione del figlio (mi riferisco ad OpenStep) di uno dei Sistemi Operativi più innovativi che siamo mai esistiti (NeXTSTEP).
Per evitare ogni confusione devo dirvi che GNUstep è una infrastruttura che si muta, in un ambiente di lavoro (che resta comunque snello) nel momento stesso in cui vi aggiungiamo delle applicazioni, come, per esempio, GNUMail.app.
Aspetto ancor più importante è che GNUstep non è limitato a Linux.
Nel bel mezzo degli anni 80, c'era una ampia scelta di diversi sistemi operativi. Oggigiorno le possibile alternativi sono Unix o Windows: questo è un vero peccato. Tuttavia io preferirei un mondo in cui si possa scegliere tra una ampia viarietà di sistemi: più sono e meglio è.
Nel male siamo fortunati: abbiamo una ampia scelta di svariati Unix, e la maggior parte di essi è comunque in grado di funzionare con la maggior parte dei programmi.
Questa, come avrete capito è il "mio" solito argomento non pertinente, che rispecchia solo una mia personale opinione.
Torniamo a GNUMail.app. Spero che questo applicativo possa dare un suggerimento a molti sviluppatori. MacOS X ha un grosso vantaggio costituito da InterfaceBuilder (e ProjectBuilder). La scoperta di questi strumenti di sviluppo ha cambiato la loro vita. In un prossimo futuro (nota del traduttore: anche qui l'autore usa il termine NeXT, che in inglese significa sia futuro che il mome medesimo della società che creò NeXTSTEP), possiamo aspettarci che sia Gorm che ProjectCenter creino lo stesso interesse ed impatto che ha creato il rispettivo modello di Apple, rendendo così GNUstep un qualcosa che si "deve" avere.
Grazie ancora a Ludovic per averci mostrato la strada.
Quando si dice: stiamo vivendo in tempi eccezionali!

 

Links

La "casa" di GNUMail.app: http://www.collaboration-world.com/gnumail/
Tutto quello che volete sapere su GNUstep: http://www.gnustep.org
Ancor di più su GNUstep: http://www.gnustep.net
Applicazioni, guide, HOWTO di Nicola Pero e Pierre-Yves Rivaille: http://www.gnustep.it
Apple MacOS X Developer Tools: http://developer.apple.com/tools/macosxtools.html



Webpages maintained by the LinuxFocus Editor team
© Georges Tarbouriech
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Translation information:
en --> -- : Georges Tarbouriech <georges.t/at/linuxfocus.org>
en --> it: Toni Tiveron <toni/at/amicidelprosecco.com>

2005-01-14, generated by lfparser_pdf version 2.51