TuxJournal intervista Thomas McGuire, sviluppatore del team KDE PIM e responsabile di KMail, programma per la gestione della posta elettronica dell’ambiente desktop KDE.
Ciao Thomas, puoi presentarti ai nostri lettori?
Ciao, il mio nome è Thomas McGuire. Ho 24 anni e sono tedesco (ma di origini irlandesi, se si ci si meraviglia del mio cognome). Sono il responsabile di KMail oltre al fatto che studio una combinazione di IT/EE all’università di Siegen.
Quando sei venuto a conoscenza di KDE?
Ho iniziato programmando per creare piccoli giochi per Windows. Uno di questi usava le librerie SDL, che sono multipiattaforma. Ero curioso di vedere se il gioco avrebbe funzionato su Linux, così ho installato SuSE per compilarlo. Il Desktop che ho trovato è stato KDE, e così mi sono appassionato sia a Linux che a KDE da quel momento.
In che parte della comunitĂ KDE e in che are di sviluppo dai una mano?
Sono concentrato principalmente su KMail e KDEPIM. Occasionalmente faccio qualche commit su qualche parte di kdelibs, quando serve per Kmail.
Come sei diventato il responsabile di KMail?
Beh, ho iniziato a lavorarci su e ci sono restato. Quando ho iniziato, era in atto l’adattamento a KDE4. In questa fase è stato semplice introdursi e dare una mano.
Pensi sia possibile avere una miglior integrazione con GMail?
Si spera che l’uso dell’architettura di Akonadi per KMail porti a un supporto IMAP migliore. Uno dei miglioramenti già implementato è quello del “push email (IDLE)”, poi c’è da dire che il protocollo IMAP di Gmail è un po’ speciale, per esempio, ci sono le etichette e la cartella “tutti i messaggi”, ma credo che in KMail sia possibile apportare le giuste migliorie per trattare con queste particolarità meglio di come è attualmente il supporto KMail a GMail.
Quali sono le difficoltĂ per sviluppare questo tipo di applicazioni? Ho provato diverse volte a iniziare a scrivere del codice per KMail, ma mi sono perso nei meandri dello stesso. Cosa suggerisci alla persone che vogliono inserirsi in KMail/KDE PIM?
Sì, in effetti il codice base di KMail è grosso e spaventa. Attualmente stiamo adattando il codice all’architettura di Kmail e le cose vanno molto meglio: invece di avere tutto il codice dentro KMail, abbiamo librerie e componenti più piccole dedicate. Questa separazione di codice lo rende più semplice da sviluppare, ed è più semplice “introdursi” nel codice. Se ancora non riesci a orientarti, basta contattarci su IRC.
Quale applicazione usi per sviluppare KMail?
Sono diviso tra KDevelop e QtCreator. Ho usato la versione KDE3 di KDevelop per molto tempo, ma ora sono passato a QtCreator, sebbene alcune cose di KDevelop erano migliori, specialmente l’editor basato su Kate e il supporto al C++. Eventualmente userò KDevelop4 nuovamente, soprattutto ora che è stato rilasciato. Mi piace la competizione che ha permesso di avere due grandi IDE. Per il debug, uso ancora GDB con il frontend CGDB, visto che, per qualche strano motivo, l’integrazione del debugger degli IDE non mi è mai funzionato per bene. Git-SVN è un grande strumento: permette di usare Git per i depositi software SVN, come per KDE. Ho recentemente iniziato a usarlo e lo raccomando a chiunque. �? davvero ottimo per la produttività .
Quali sono le conoscenze che servono per sviluppare un’applicazione come KMail?
Non serve sapere tantissimo. Quando ho iniziato, conoscevo solo il C++ e un pochino di Qt, poi ho imparato il resto man mano. Ci sono persone su IRC, nel canali #kontact e #akonadi, che posso sempre aiutare.
In che modo è organizzato il lavoro di scrittura del codice di KMail?
Beh, è organizzato come in tutti gli altri progetti di KDE, ovvero tramite comunicazioni via mailing list, IRC e incontri regolari tra noi sviluppatori. Non c’è nessuno che crea un ordine preciso su chi sta lavorando su cosa. Le persone si occupano solo di quello che piace loro. In questa fase dello sviluppo, per esempio, siamo tutti concentrati sull’adattamento di KMail e Kontact ad Akonadi.
C’è qualche possibilità di avere i messaggi email di Facebook in Kmail, oppure questo non ha ancora a disposizione delle API che ne permettono l’accesso?
KMail 2 sarà basato su Akonadi, come già detto, per cui potrà aggregare email da differenti sorgenti, tramite le cosiddette risorse. Tutto ciò di cui abbiamo bisogno è una risorsa Facebook per Akonadi e il gioco è fatto. La buona notizia è che già esiste nel modulo playground sotto SVN di KDE, sebbene sembri attualmente defunta. Per ora supporta solo i contatti, ma la documentazione dell’API di Facebook indica che c’è un supporto beta per accedere ai messaggi, quindi l’integrazione in KMail dovrebbe essere possibile. Mi farebbe molto piacere se qualcuno riprendesse il lavoro sulla risorsa Facebook per aggiungere il supporto ai messaggi visto che dovrebbe essere abbastanza semplice da fare.
Ho sempre preferito un’applicazione Desktop per fare le cose. Cosa pensi di tutte queste applicazioni web integrate come Facebook, Google Apps?
Sicuramente le applicazioni web hanno i loro vantaggi, come essere accessibili dovunque senza la necessità di installare software, ma anch’io preferisco ancora il software Desktop. Considera le email per esempio. Se si hanno diversi account email vi si può accedere contemporaneamente con un’unica e potente interfaccia come quella di KMail. Sul web si devono invece visitare diversi siti per controllare tutte le proprie email e, per farlo, serve essere connessi, invece con KMail si può anche sfruttare il supporto non in linea per accedere comunque ai messaggi già scaricati senza la necessità di una connessione, si possono preparare i messaggi e inviarli una volta avvenuta la connessione. Un altro motivo è legato alla privacy: non è possibile cifrare o firmare le proprie email usando una webmail, senza dare via la propria chiave privata.
E sicuramente l’uso dei servizi Google con tutti i propri dati induce a preoccupazioni riguardo la propria privacy, visto che questa singola società ha in mano il controllo di una gran mole di dati. Le applicazioni Desktop hanno ancora il loro senso di essere, e sono preferibili alle applicazioni web in alcuni casi, ma direi che anche le applicazioni web hanno il loro senso. Credo che in futuro vedremo un passaggio da applicazioni Desktop ad applicazioni per telefoni mobili, sicuramente.
Quali sono le funzionalità mancanti alle applicazioni KDE che pensi possano contribuire a realizzare un bell’ambiente Desktop?
In futuro mi piacerebbe vedere espanse le funzionalità legate a Nepomuk, visto che ha un bel potenziale. Servono delle buone interfacce utente per ricercare e accedere ai dati, e l’integrazione di queste stesse funzionalità in molte più applicazioni.
Quali sono le applicazioni di KDE che stanno facendo un ottimo lavoro? E quelle a cui serve molto amore e aiuto?
Alcune delle mie applicazioni preferite, per la produttività , sono Yakuake e KJots. Con Yakuake posso accedere velocemente al terminale, un’azione che uso spesso, infatti nel mio pannello ho definito una scorciatoia per aprire KJots e inserire tutto ciò che mi viene in mente. Per esempio, ci tengo le note sui bug e le idee sul refactoring. Ci sono così tante altre belle applicazioni che non riuscirei a elencarle completamente qui, come Konversation, KMyMoney e Digikam. Kopete invece necessita d’amore. Il supporto a Jabber presenta diversi bug, specialmente per le chat di gruppo. Alla fine sono dovuto passare a un client chat non-KDE.
Qual è la tua applicazione KDE preferita?
Oltre Kontact? Non c’è. Mi piace molto l’integrazione tra tutte le applicazioni KDE e l’idea di un Desktop come intera entità da usare.
Quali sono i piani per KMail nella prossima versione di KDE SC?
Stiamo rifinendo l’adattamento ad Akonadi di KMail, credo di aver già menzionato i diversi vantaggi che porterà Akonadi. Fatto ciò potremo liberarci del livello di memorizzazione vecchio, incrostato e producente crash di KMail 1. KMail 2 è “work in progress”: si avvia, può mostrare le email, ma c’è ancora molto lavoro da fare per renderlo pronto all’uso. Non so se riusciremo in tempo per KDE SC 4.5, ma mi piacerebbe spendere del tempo su KMail 2 per assicurarmi che sia pronto per un rilascio, piuttosto che sperimentare qualcosa come KDE SC 4.0 di nuovo. Vedremo come andrà . Naturalmente ogni aiuto per adattare KMail ad Akonadi è benvenuto!
Sei pagato per lavorare su KDE?
Sì, lo sono. Lavoro part time per KDAB, una società che offre servizi su Qt. Uno dei progetti di KDAB è il coinvolgimento nel progetto Kolab, che è una soluzione groupware di Software Libero. Kontact è il client ufficiale di Kolab, e quindi KDAB lavora su Kontact e KDEPIM. Sono stato assunto da KDAB dopo aver lavorato su KMail per un po’ di tempo, un destino condiviso da molti altri hacker di KDEPIM. La mia area di lavoro principale attualmente è il cosiddetto ramo “enterprise35″ di KDEPIM, che è la versione consolidata usata in ambienti di produzione. �? ancora basata su KDE3, quindi sono una delle ultime persone che sta ancora facendo sviluppo su KDE3, assieme ad Allen e Sergio. Ci assicuriamo che ciascun commit sul ramo enterprise venga fuso nel trunk, sebbene sia un grosso lavoro. Ci sarà , eventualmente, un ramo enterprise5, basato su Akonadi, poi trascorro ancora parte del mio tempo libero lavorando su KMail.
Cosa ti motiva/ti continua a motivare a lavorare sul software KDE?
In primo luogo, programmare è divertente! E far parte di una comunità di persone che condividono i tuoi stessi gusti lo rende anche più divertente, specialmente con gli incontri tra sviluppatori e con l’Akademy. Inoltre, è una bella cosa vedere che altre persone usano il tuo software e che l’impegno che si è messo porta a dei risultati tangibili.
Se potessi scegliere dove vivere, quale luogo sceglieresti e perché?
Ci sono molti bei posti sulla Terra! La miglior cosa che uno possa fare è viaggiare e vedere quanti più paesi possibili. Se dovessi proprio scegliere, direi la Nuova Zelanda. Una volta l’ho visitata per diversi mesi e mi sono davvero divertito. C’è una bella natura e delle persone squisite.
Sei mai stato in Italia? Se sì, dove?
No, mai, ma un giorno mi piacerebbe.
Thomas, grazie per il tempo che hai dedicato e buona fortuna per i tuoi progetti .
A cura di Giovanni Venturi