Gianugo Rabellino è Senior Director di Open Source Communities, in Microsoft, dal settembre del 2010: dall’aprile del 2012 ricopre lo stesso ruolo in Microsoft Open Technologies, una sussidiaria creata ad hoc dalla multinazionale per gestire alcuni dei propri progetti open source. Rabellino è tornato in Italia, dopo due anni, passando da Roma e Genova. Ho avuto l’opportunità d’incontrarlo a Milano e di sottoporgli alcune domande sulla relazione di Microsoft con la comunità o, meglio, le comunità degli sviluppatori open source.

Quale reazione c’è stata e com’è cambiato, se è cambiato, il rapporto con le comunità open source da quando hai iniziato questo percorso con Microsoft a oggi?

La migliore risposta è cominciare da prima, da quando ho deciso di accettare questa posizione, mentre stavo valutando se era il caso di spostare una famiglia con una bambina d’un anno e mezzo e una d’un mese e mezzo negli Stati Uniti. Ho chiesto alle comunità che conoscevo, ad alcune delle persone più influenti nel mondo dell’open source, cosa pensassero di quest’opportunità perché io ero convinto che fosse ottima. Ho cercato e trovato una validazione. Microsoft è cambiata, è più aperta. Da quando ho cominciato questo lavoro ricevo tanta validazione da parte delle comunità: sono in contatto con loro tutti i giorni e noto che stiamo avendo delle discussioni fenomenali a livello tecnico. Stiamo lavorando benissimo e sviluppando nuove soluzioni. È un viaggio che stiamo facendo insieme, con reciproca soddisfazione.

Proprio dal punto di vista tecnico, se dovessi citare uno dei tanti progetti di Microsoft che hai gestito nel tempo, quale sarebbe e perché?

Forse, sarebbe il caso di parlare dell’ultimo: a gennaio abbiamo lanciato un catalogo d’immagini open source per Windows Azure, chiamato VM Depot, col quale le comunità possono condividere le installazioni di Linux con applicazioni come WordPress, Joomla, Drupal, Redmine, ecc. e farle “girare” su Azure condividendole con altri. Sono due mesi dal lancio e stiamo passando le centocinquanta immagini contribuite, una ampissima scelta di software open source: ormai, si può dire che tutti i maggiori pacchetti siano disponibili. Per fare un contraltare col mondo dei device, il nostro recente contributo a WebKit per integrare il supporto alle modalità touch coi Pointer Events. Questo esempio è molto rappresentativo del lavoro che facciamo in Open Technologies dove cerchiamo di mettere insieme open standard, open source, comunità di sviluppatori e interoperabilità.

Node.js ha un’ottima integrazione con Windows, ma l’immagine su VM Depot utilizza Ubuntu: è controproducente o attrae ulteriori sviluppatori?

L’integrazione è sicuramente eccellente e, infatti, sono ormai un paio d’anni che ci occupiamo della manutenzione di Node.js cosicché il runtime su Windows sia d’altissimo livello e sia assolutamente comparabile, se non migliore, della controparte su Linux. Detto questo, una delle principali caratteristiche di Azure è la scelta. Il cliente deve avere la possibilità di portare con sé ciò che utilizza già, passando al cloud nella maniera più semplice: a me piace tantissimo la visione di Azure che propone sia Platform-as-a-Service (PaaS), sia Infrastructure-as-a-Service (IaaS). Qualcosa che, come Node.js, è manutenuto da Microsoft e nel contempo provvedere a fornire macchine virtuali che sono un modo per portare le tecnologie esistenti sul cloud. Avere la maggiore copertura possibile significa avere più scelta. Teniamo che i nostri clienti scelgano Azure, a prescindere dal sistema operativo o dalle tecnologie che preferiscono.

Azure ha appena introdotto il supporto alle applicazioni per Android: come si colloca, in questo, on{X}? È un approccio didattico ad Android?

Una delle cose fenomenali di Microsoft è quanto sia grande e quanti progetti gestisca. A ulteriore conferma dell’impegno, Microsoft Open Technologies non è l’unica divisione a lavorare sull’open source: noi non sviluppiamo on{X}, ma il lancio della settimana scorsa è stato proprio quello d’una nostra tecnologia. Un Software Development Kit (SDK) per accedere alla cloud di Azure con Android: permette agli sviluppatori di costruire rapidamente applicazioni che “parlano” coi servizi d’autenticazione, autorizzazione, data storage. Elementi base di qualunque applicazione. Insieme a protocolli standard e ampiamente documentati, forniamo gli SDK che sono implementazioni di quei protocolli con le tecnologie più usate per abbattere ogni barriera all’ingresso. Questi SDK sono open source e accettano contribuzioni dall’esterno, secondo le aspettative della comunità, da una società che rispetta le regole dell’open source.

Secondo te, oggi, è più importante l’open source in sé o il rispetto degli standard e la disponibilità di Application Programming Interface (API)?

È una splendida domanda. Quello che ho notato, rispetto a dieci anni fa, è un cambiamento nel concetto di open. S’è adattato alle nuove tecnologie, a nuovi aspetti come il cloud dove abbiamo una smaterializzazione del software e device che operano una ri-materializzazione dello stesso sull’hardware. In questo nuovo mondo, la nozione di open s’è dovuta adattare: per parlare di open dobbiamo considerare insieme open standard, open source, comunità di sviluppatori e interoperabilità. Quattro ingredienti-base che mi piace comparare a uova, burro, zucchero e farina: a seconda di ciò che si vuole realizzare, cambiano le proporzioni. Oggi è difficile essere veramente aperti avendo un solo aspetto. L’open source, non accompagnato da una forte comunità di sviluppatori, è soltanto codice. Ce n’è tantissimo, ma ha un valore tutto sommato minimo. Un’implementazione open source di uno standard aperto, supportato da una grossa comunità, è il traguardo più importante.

Parleresti di una o diverse comunità open source? In un panorama così frazionato, come riesce Microsoft a dialogare con ognuna di esse?

È un dato di fatto che non esista un’unica comunità, ma differenti comunità che hanno altrettante interpretazioni dell’open source. Sono come diverse “famiglie”. Un modo di suddividerle può essere in base alle licenze che usano oppure al modello di governance che ogni progetto ha o, ancora, rispetto a come rilasciano il proprio software. Il trucco, in questa grossa matrice, è riuscire a capire quali sono le aspettative d’una determinata comunità e adattarcisi. Una società come Microsoft deve avere un estremo rispetto per la comunità con cui vuole parlare e adattarsi alle regole che s’è imposta. Conoscendo queste regole e avendo un’esperienza d’interazione con le diverse comunità, non è un dialogo difficile. Un tratto comune è che sono tutte in cerca d’aiuto, audience, sviluppatori: non sono dei circoli chiusi. La comunità open source è intrinsecamente aperta a nuovi ingressi. L’importante è conoscere le regole che s’è data.

Fra queste comunità, una è Apache che conosci bene perché ne hai fatto parte. Come ha affrontato Microsoft l’adozione di Hadoop sui big data?

Abbiamo annunciato è un servizio vero e proprio di Azure: Hadoop è un cittadino di prima classe tra i servizi gestiti da Microsoft, in collaborazione con Hortonworks. È stato anche annunciato, e mi sta molto a cuore, è che la comunità di Hadoop ha deciso d’accettare i contributi proposti da Microsoft. È stata ottemperata una promessa fatta quand’è stato lanciato questo servizio: la promessa di mantenere una compatibilità al 100% e contribuire con qualunque modifica avessimo fatto alla comunità di Apache. È di nuovo un esempio di come quello che importa nell’open source non è soltanto cosa si fa, ma soprattutto come. Come s’approcciano le comunità e come si interagisce con esse. Quella di Apache non pretende che questi cambiamenti vengano ridistribuiti: in teoria, Microsoft avrebbe potuto tenerli per sé come altre società che lavorano sui big data. L’aspettativa è che i cambiamenti vengano contribuiti ed è ciò che abbiamo fatto.

La conversazione è stata lunga e penso molto produttiva. Microsoft è cambiata: se mai lo è stata, non è più il “nemico” pubblico dell’open source e annovera ancora più progetti di quanti abbia citato. CodePlex, Outercurve Foundation… secondo alcuni potrebbe arrivare addirittura una versione di Office su Linux, non commentata da Rabellino. Non tutte queste tecnologie sono gestite da Microsoft Open Technologies, ma l’atteggiamento di quest’ultima nei confronti delle comunità open source è impeccabile. Ringrazio Rabellino e Roberta Bertolotti di Microsoft Italy che ha organizzato l’incontro.

Photo Credit: Federico Moretti via Photo Pin (CC)