Intervista a Giorgio Alfarano, sviluppatore di OpenC6
Postato il 23 Dicembre 2005 alle 2:30 da rockdreamer.Ciao Giorgio, una breve presentazione su di te…
Sono di Conversano un paese in provincia di Bari, sono laureato in
ingegneria elettronica, ho 33 anni, attualmente lavoro a Milano e mi
occupo di sviluppo di applicazioni per il digitale terrestre in una azienda milanese.
Cosa e’ C6 ?
C6 è un programma tutto italiano, proposto da Virgilio, di “instant messaging” divenuto popolare in Italia negli scorsi anni parallelamente all’esplosione di altri servizi di messagistica istantanea come msn
messenger, icq, yahoo.
Quando ti e’ venuto in mente di scrivere OpenC6 ?
Erano gli inizi del 2003 e per caso sono capitato su di un sito dove un
gruppo di ragazzi stava lavorando al reverse engineering del protocollo C6 ma mancava ancora un client funzionante in ambiente Linux, perciò la cosa mi ha incuriosito e mi sono unito cosi al gruppo creando un mio progetto.
Come e’ successo ? Cosa ti ha spinto a fare questo lavoro ?
Sopratutto la voglia di imparare qualcosa di nuovo e la curiosità: non avevo mai realizzato una applicazione grafica per Linux e cosi ho colto la palla al balzo e mi sono buttato in questa impresa ![]()
A questo si aggiunge la volontà di creare un progetto open source che
potesse servire per condividere conoscenza e informazioni.
Quante persone hanno collaborato o collaborano allo sviluppo ?
Nel tempo parecchi ragazzi, che ringrazio di cuore, anche se per brevi periodi, hanno collaborato al progetto OpenC6
sopratutto per la fase di beta testing sulle varie distribuzioni Linux e ultimamente anche sulla piattaforma Mac OSX; non cito i nomi perchè sono tanti e non mi piacerebbe fare un elenco in cui potrei dimenticare qualcuno. Per la parte grafica ci sono state due collaborazioni e l’ultima da parte di Claudio Viola ha portato alla attuale implementazione uscita da pochi giorni. Devo però notare che ho avuto pochissime proposte per lo sviluppo attivo del client (sviluppo di codice e analisi protocollo) e questo per un progetto open source non è auspicabile visto che da solo mi trovo ad affrontare un gran numero di problemi e spesso sono costretto a scendere a compromessi derivanti dal poco tempo a disposizione.
Perche’ hai scelto la licenza GPL per il tuo progetto ?
Perchè come ,dicevo prima, lo spirito di questo progetto, come quello di
tanti altri che abbracciano questo tipo di licenza , è quello della
condivisione di informazioni e la libertà di potervi attingere
suggerimenti, stimoli per la creazione di nuove cose o migliorare
possibilmente quelle esistenti: non sempre è cosi ma è meglio provarci ![]()
La GPL garantisce questo tipo di approccio.
Cosa significa per te il software libero ?
Libero di essere studiato, criticato, migliorato, distribuito.
Perche’ hai scelto QT/KDE come interfaccia grafica per sviluppare OpenC6 ?
Ho scelto Qt perchè le classi sono ben documentate, vi è alto grado di maturità e stabilità delle librerie, facile portabilità per il codice verso altre piattaforme (vedi Mac OSX) ed inoltre esiste ampia documentazione di terze parti e feedback di utenti nei vari forum. Ci sono delle pecche che ho riscontrato durante lo sviluppo sia nelle architettura delle classi che banalmente nel designer ma sembrano siano state colmate nell’ultima versione 4.X.
Il progetto KDE l’ho seguito fin dall’inizio per cui ne sono affezionato. Non voglio rientrare nelle solite dispute, ma è un ambiente che ho scelto perchè mi piace, perche è piu’ stabile di altri e perchè mi garantisce una certa produttività. OpenC6 non ha bisogno di KDE per funzionare, bastano le librerie Qt ma se si vuole il supporto KDE basta aggiungere il plugin opportuno.
Quali sono stati risultati positivi hai avuto da questa esperienza
per te al livello personale ?
Una grande soddisfazione e divertimento sopratutto. A questo si unisce
l’opportunita di scambiare idee con un gran numero di persone che sono gli
utenti di OpenC6. Ogni giorno in media ricevo 5 o 6 email di ringraziamenti
o suggerimenti. Lo stato attuale di maturità di OpenC6 dipende sopratutto
dal feedback con la gente e per me questo è un modo di imparare e
confrontarmi con gli altri.
Ci sono stati dei risvolti positivi sulla tua vita professionale
dovuti alle conoscenze acquisite in questo progetto ?
Ovviamente si, l’esperienza acquisita nella costruzione di questa
applicazione sopratutto nella parte relativa all’interfaccia utente e alla
sua usabilità hanno contribuito al miglioramento delle mie conoscenze che
sfrutto anche per la vita professionale.
Quando hai iniziato questo progetto, pensavi che oggi saresti
arrivato ad avere un programma cosi apprezzato, maturo e stabile?
Sinceramente no, anche perchè ho cominciato per caso e per curiosità. Nel tempo i riscontri positivi degli utenti, il numero dei download giornalieri e gli apprezzamenti per questa applicazione mi hanno aiutato a portare avanti questo progetto a discapito del mio poco tempo libero, ahime
ma sono ben contento e felice di averlo fatto poichè stimo che ci siano almeno 2000 utenti che ne fanno uso regolarmente che dovrebbero raddoppiarsi in breve tempo con l’ultima release disponibile anche per Mac OSX.
Proprio in questi giorni, a ridosso di Natale, il tuo programma è stato ufficialmente riconosciuto da Virgilio.it, segnalato e descritto nella sezione della community di C6. Sicuramente una bel riconoscimento per il tuo lavoro e una gradita soddisfazione. Come valuti questa
“mossa”
di Virgilio ?
Sono felicissimo che dopo tanto lavoro ci sia stato questo riconoscimento “ufficiale” del client OpenC6 e in generale a questa apertura al mondo open source che assolutamente non è più trascurabile. La cosa era già nell’aria da qualche mese dopo essere stato contattato personalmente da un responsabile di Virgilio, ora evidentemente è un dato di fatto. Nel prossimo futuro è previsto un ampliamento dello spazio dedicato a OpenC6 con una sezione FAQ e magari una guida online.
Quale e’ oggi la tua percezione dello stato attuale del progetto ?
Il progetto è stabile, ovviamente è infinitamente migliorabile sia come
applicazione che sopratutto come codice, come leggibilità,
ingegnerizzazione e cosi via. Spero presto di renderlo conforme alle nuove
aggiunte del protocollo che sono state fatte di recente e che mi spingono ad
un impegno abbastanza gravoso. Gli utenti sembrano soddisfatti ed è per
questo che mi piacerebbe proseguire e spero che qualcuno mi dia una mano in
piu
Molto spesso la gente si chiede: “perchè un programmatore dovrebbe
lavorare gratis, come nel tuo caso, per un progetto di questo tipo?
Me lo chiedo anche io spesso ma so che un giorno qualcosa di buono potrebbe
capitare
Cosa diresti a un giovane programmatore che si avvicina al mondo del
Software Libero e che volesse inizare un progetto ?
Sicuramente è una ottima esperienza sia per chi vuole iniziare un proprio
progetto sia nel caso di una partecipazione ad un progetto già esistente,
certo richiede un cert impegno e una costanza ma le soddisfazioni sono
tante. In tutti e due i casi ritengo che sicuramente prepara e predispone ad
un migliore approccio al mondo del lavoro per chi comincia ed inoltre
consolida e rafforza le conoscenze anche parallelamente ad una attività
lavorativa con possibilità di interscambio di esperienza.
C6 e’ un protocollo chiuso, proprietario. Come hai fatto
a implementare il programma ?
Inizialmente prima che cominciassi era già presente un documento che
descriveva parzialmente il protocollo per cui il mio punto di partenza è
stato quello.
Questo documento è stato il frutto del lavoro iniziale di reverse
engineering di un gruppo di ragazzi e mirato allo studio del protocollo e
alla comprensione della sua implementazione.
Ho continuato questo lavoro con gli attrezzi del mestiere che sono un
analizzatore di traffico di rete (tcpdump) e un debugger(OllyDbg) per
l’analisi dell’applicazione originaria sotto windows (ovviamente in
emulazione :-))
Quindi secondo te i protocolli chiusi sono un problema ?
No i protocolli chiusi non sono un problema: basta che si eviti il loro
utilizzo quando possibile ma a volte si può rimanere isolati se si fanno
delle scelte troppo radicali. Questo non impedisce che potendo fare delle
scelte si preferisca l’utilizzo dei protocolli aperti che hanno
l’indiscutibile vantaggio di poterci guardare dentro, capire come sono
fatti, avere la garanzia che fanno quello per cui sono utilizzati e non
altro. Tra le altre cose, a parità di protocollo, per lo sviluppatore ci
sono buone probabilità di avere molteplici implementazioni tra cui
scegliere per il proprio progetto, per l’utilizzatore, invece, una gran
varietà di applicazioni.
A proposito di formati e protocolli aperti, hai sentito parlare di
OpenDocument? Cosa ne pensi ?
E’ di fondamentale importanza avere un formato aperto in applicazioni “da
ufficio” dove spesso è richiesta una interoperabilità fra piattaforme
diverse e non legate
ad uno specifico software: è evidente ai nostri occhi quanto è ancora
difficile aprire un documento word su OpenOffice nonostante gli sforzi di
reverse engineering.
E’ stato annunciato che Il capoprogetto di Gaim recentemente è andato a lavorare con Google per implementare il protocollo XMPP in GoogleTalk. Skype è stato comprato da eBay. C’è molto fermento nel mondo dell’instant messagging e delle chat, che sembrano convergere verso un integrazione text-audio-video. Per contro lo storico IRC non trova piu i favori dei nuovi e giovani utenti delle rete. Cosa pensi di tutto questo ?
Personalmente sono molto affezionato al mondo IRC dove ho passato un discreto tempo, tutt’ora ne sono affascinato anche se sono un utente estemporaneo. Probabile che chi è stato iniziato al mondo delle chat quando esisteva solo IRC abbia un ricordo nostalgico dei join sui vari canali e degli op.
cosa che invece non avviene per i nuovi utenti più giovani che prediligono giustamente sistemi piu user friendly.
Credo che il mondo dell’instant messaging abbia la sua importanza nella sfera dei rapporti interpersonali sia a livello privato che in ambito lavorativo dove spesso è richiesta una collaborazione di gruppo a distanza che è non poco agevolata dal fatto di potersi vedere e sentire.
Raccontaci qualche aneddoto che ha coinvolto lo sviluppo oppure la
storia di OpenC6
Beh un fatto che mi ha fatto molto ridere: un giovane utente mi ha contattato per mail e, entusiasta, mi ha offerto il suo aiuto poichè si sentiva in debito con me perchè grazie ad
OpenC6
aveva trovato l’amore, beato lui…. Ho pensato: “son ragazzi!”
Parlaci dei progetti futuri di OpenC6…
Sono già al lavoro per la prossima versione che vedrà una serie di cose
mirate ad aggiungere le funzionalità introdotte di recente
nel protocollo e nel C6 originario per windows. La pietra miliare sarà la
versione 1.0 in cui cercherò di avere una versione pressochè
identica in funzionalità alla versione per windows oltre al miglioramento
della usabilità e dell’interfaccia utente.
E ora l’ultima domanda: soddisfatto del tuo lavoro ? lo rifaresti ?
Certo, rifarei tutto.
Grazie per la tua disponibilità. In bocca al lupo per OpenC6
Grazie a te e al LUG Roma per lo spazio che mi avete concesso.
Buona chat!
Intervista del 27/12/2005, a cura di
Fabrizio Sebastiani
(c) 2005 LUGRoma, Sotto i termini di
questa licenza creative commons ‘Attribuzione - Non Opere Derivate 2.5′
