Avevamo già parlato del Google Summer of Code (GSoC) 2013. Questa iniziativa Google, aperta agli studenti di tutto il mondo, permette di contribuire a progetti open-source. Se l'idea viene accolta e viene completata nell'arco dei 3 mesi estivi, lo studente viene ricompensato con 5000 dollari.

Commitment verso un obiettivo, lavoro di squadra, partecipazione a community consolidate e piene di spunti interessanti, mentorship utili per le future esperienze: questi sono solo alcuni dei commenti emersi da chi ha partecipato l'anno scorso, compresi alcuni ragazzi italiani di cui riporto, con piacere e con orgoglio, brevi testimoniaze.

Claudio Desideri, Gloun per KDE
Ho contribuito al GSoC cercando di migliorare KDE. In particolare un loro progetto in playground (non ancora pronto al grande pubblico) chiamato Gluon, che si occupa di creazione e distribuzione di videogiochi online. Ho dovuto creare un server che supportasse il protocollo OCS  (Open Collaboration Services) e un suo client, entrambi in PHP. È stata un'esperienza formativa sotto molti punti di vista. Ho dovuto creare tutto da zero, passando per una fase di design e raccolta requisiti, una di sviluppo e poi quella di testing. Sono cresciuto molto sia dal punto di vista dell'organizzazione, sia da quella della qualità del codice, ma soprattutto dal punto di vista della gestione progetto e dell'utilizzo di tutti quegli strumenti che ci aiutano a sviluppare (DCVS, wiki, blueprint, ecc).
Tralasciando la parte tecnica, è stata un'esperienza splendida, grazie anche a dei mentori eccezionali (Arjen, Dan e Laszlo) che mi hanno aiutato moltissimo. In particolare una sera, poco prima di chiudere il progetto, stavo testando uno script che avrebbe dovuto cancellare tutto il contenuto di una cartella e invece avevo cancellato tutto il progetto, prima di un push verso il repository git. Con il sudore sulla fronte sono corso sul canale IRC (#gluon) e ho chiesto aiuto. Per fortuna avevo fatto un commit locale poche ore prima, e sono riuscito a recuperare quasi tutto. Però avere una persona che in quel momento mi ha risposto con uno smile ha davvero fatto la differenza. :)
Incoraggerei qualsiasi studente interessato a partecipare, perchè è difficile trovare un'altra esperienza che dia tanto, facendo dare tanto.


Lisa Vitolo, Easy partitioning in Solid/Dolphin
Conosco il GSoC come progetto da molti anni, ma ho partecipato solo l'anno scorso. Devo dire che già il dover scrivere la proposal è stato un piccolo insegnamento per me: la prima che tirai fuori era assolutamente inguardabile, non spiegava nulla di rilevante. La seconda versione fu migliore. Lo sviluppo poi è stata una bella esperienza: molto stancante, perché allo stesso tempo dovevo gestire gli ultimi esami universitari e la tesi, ma ne è valsa la pena. Ho imparato tanti piccoli trucchi che non conoscevo, anche grazie al mio mentore che mi suggeriva dove guardare per risolvere un determinato problema.
Il progetto riguardava un modulo per il partizionamento all'interno di Solid, la libreria hardware di KDE. L'idea era di fornire qualcosa ad alto livello e object-oriented, che non richiedesse troppo lavoro per essere usato, specialmente se il task in mente è qualcosa di semplice e non per forza lo sviluppo di un partizionatore completo e avanzato. Ciò a mio parere manca nel mondo Linux, dove le API presenti sono troppo legate al basso livello e mancano di alcune features che reputo fondamentali.
Come "test" per il tutto sviluppai anche un piccolo modulo in QML che usasse questa libreria. Non avevo mai avuto occasione di usare QML e ne sono rimasta piacevolmente sorpresa: a mio parere l'intera filosofia dietro il design di interfacce grafiche dovrà proseguire per quella strada. Non avevo mai sviluppato per KDE prima, ma sono parte del team di un altro progetto che è molto vicino a KDE, anche come filosofia di programmazione. Quindi non è stato difficile adattarmi al loro modo di lavorare.
In definitiva sono stata contenta di partecipare: una piccola esperienza lavorativa che spero tornerà utile in futuro, l'aver creato un prodotto che personalmente reputo ben fatto e, ovviamente, anche i soldi che ho ricevuto per questo :)

Francesco Ruvolo, CERN
All'inizio ero molto dubbioso se prender parte al Google Summer of Code 2012. Ero solo al primo anno della triennale in informatica, alle spalle studi classici, e moltissimi dei progetti erano fuori dalla mia portata: di sicuro interessanti, ma mi confondevo non appena provavo a guardare il codice già esistente.
Alla fine trovai un progetto del CERN basato sulla creazione di un framework per automatizzare i test sul filesystem di rete utilizzati per esportare i repository necessari ai vari gruppi di ricerca. Non possedevo proprio tutte le competenze richieste, ma decisi che valeva tentare e che avrei avuto tempo per colmare le mie lacune prima dell'inizio del progetto. Contattai il mentore e gli spiegai qual'era la mia situazione. Fu gentilissimo e mi diede una sorta di esercizio da fare: “Se riesci a fare questo, probabilmente non avrai problemi per tutto il resto!”. Ci volle qualche giorno, ma alla fine ci riuscì. Dopo alcune bozze su come avrei organizzato il progetto e qualche riga di codice, fui ufficialmente preso per lavorare al progetto.
La presenza di un mentore è senza dubbio la parte migliore del programma: venivo indirizzato sulla documentazione corretta, avvisato in anticipo degli errori più comuni che si fanno e molto altro.
In tre mesi ho imparato talmente tante cose da rendere tutto quello che già conoscevo (principalmente conoscenze di programmazione per il web acquisite in anni di sviluppo) la minima parte delle mie attuali conoscenze informatiche. Moltissimi degli argomenti di programmazione che ho studiato solamente quest'anno all'università mi sono sembrati un ripasso di tutto quello che avevo dovuto imparare durante l'estate.
Tutto questo per dirvi che non dovete assolutamente avere paura o sentirvi inadatti. Io non pensavo minimamente di poter fare una cosa del genere, ma volevo farla a tutti i costi. Non fatevi scoraggiare dai primi progetti che trovate se questi risultano troppo difficili, cercate finchè non ne trovate uno che sia alla vostra portata, state tranquilli che c'è.
È davvero una grande esperienza dal punto di vista lavorativo, perchè vi obbliga (forse per la prima volta) a scrivere codice per risolvere esigenze altrui e non per gioco (come molti cominciano) e vi obbliga a farlo entro certi limiti temporali. Ma è un'ancora più grande esperienza dal punto di vista formativo: non tiratevi indietri perchè “non sapete programmare”, perchè è proprio quest'esperienza che ve lo insegnerà.
Ma soprattutto, anche se solo per tre mesi, potrete dire agli amici che lavorate per Google (o per il CERN, o per il MIT...). Questa è senza dubbio la più grande soddisfazione. :P

La prossima settimana nuove storie dai partecipanti al GSoC 2012.