Identificare la strategia di Microsoft in questa fase può essere complesso: il proclama “cloud first, mobile first” del CEO Satya Nadella (traducibile con un imperfetto “cloud e mobile prima di tutto”), che ormai è in carica da un anno, ha prodotto in questi mesi alcuni annunci clamorosi e diversi cambiamenti in seno a quella che è a tutti gli effetti una delle più grandi aziende del pianeta. Cambiamenti a volte evidenti, altre meno: ma può valere la pena indagare quanto in profondità si spingano queste rinnovate strategie.
Tra gli annunci più significativi del 2014 c’è senza dubbio la “liberazione” di dotNET: durante l’ultima BUILD Microsoft ha di fatto aperto il forziere e piazzato una licenza OSI come Apache 2.0 sul vero e proprio cuore della sua tecnologia, che tanto più valore assume se messa in relazione con l’avanzare del cloud e il valore che certe soluzioni possono assumere nell’informatica odierna. Ma la decisione di cambiare la natura di dotNET non è stata partorita nello spazio di una notte : le sue radici sono più indietro, almeno di un paio d’anni se non nel passato ancora più remoto. Microsoft ha persino messo in piedi una vera e propria divisione dedicata ad estendere il paradigma open source a tutta la sua organizzazione: si chiama Open Technologies Inc e Punto Informatico ha avuto l’opportunità di registrare una lunga intervista con uno dei suoi leader, l’italiano Gianugo Rabellino .
“Proviamo a creare un po’ di contesto per quanto accaduto – esordisce Rabellino – proviamo a mettere in fila qualche data: la società per cui lavoro, Microsoft Open Technologies, è stata creata nella primavera del 2012 ed è una succursale di Microsoft stessa. Ci avviciniamo quindi ai tre anni di vita, ma già prima della creazione di questa società lo stesso identico gruppo operava già sotto un altro nome: si chiamava Interoperability Strategy ed era già protagonista di tutta una serie di iniziative”. In questi ultimi due anni, per esempio, c’è stata la nascita della dotNET Foundation e altre iniziative per attribuire licenza open a porzioni della piattaforma Microsoft. In piena epoca Ballmer, quindi, il cammino era già stato intrapreso.
Rabellino arriva in Microsoft nel 2010, racconta, dopo una carriera di oltre tre lustri spesa nel contesto dell’open source: “Sono entrato in contatto la prima volta con Microsoft nel 2007-2008, quando iniziammo a lavorare insieme su un progetto Apache in cui ero coinvolto: già allora Microsoft stava cambiando, e soprattutto il cambio era strutturale. Come tutte le evoluzioni a un certo punto, quando raggiungono la massa critica, scatta inevitabile l’effetto valanga”. La percezione di questo cambiamento di pelle, racconta Rabellino, fu nitida durante il suo colloquio di selezione: solo in quella occasione almeno 23 diversi team erano interessati a saperne di più sulla sua esperienza con l’open source .
Di mezzo però ci sono stati anche alcuni tentennamenti: vale la pena citare su tutti la vicenda OpenXML , che per molto tempo ha tenuto banco tra le news e nelle community. Ma Rabellino rifiuta questa singola interpretazione: neanche a farlo apposta fu proprio OpenXML la circostanza che lo vide per la prima volta collaborare con Microsoft, e secondo lui in quella circostanza da Redmond venne cercato l’aiuto della comunità Apache per costruire in Java la libreria che leggesse e scrivesse nel formato documentale. “Tutte cose che all’epoca avevano una portata importante e per le quali non c’è stata grossa attenzione” dice Rabellino.
Sono state circostanze che hanno generato una maturazione del fenomeno e delle dinamiche interne: non è solo Microsoft ad essersi avvicinata a certe filosofie di sviluppo, è lo stesso open source ad essere cambiato in questi anni . “Sono 23 anni che mi occupo di questi temi, all’inizio non si chiamava neppure open source: fermo restando che si tratta di un concetto abusato – puntualizza Rabellino – c’erano tutte queste discussioni su cosa fosse una open source company, sembrava che l’open source fosse una condizione necessaria e sufficiente. Oggi invece è diverso: se sostenessimo che openness equivale a open source ci perderemmo tutta una serie di fenomeni come il cloud dove i confini si fanno più sfumati”.
Il concetto di cloud computing serve a illustrare un altro aspetto della questione: con il cloud quello che accade è che si delega il sistema di qualcun altro a far girare i propri programmi e applicazioni, e non si ha alcun accesso diretto alla piattaforma. Anche dando per scontato che sia open source non si ha pieno controllo su quanto giri esattamente sui server ospitanti: è in questo contesto che entrano in ballo altre questioni relative alle API, agli open standard e all’interoperabilità che oggi definiscono in modo diverso – e se possibile più ampio – la questione.
“In questi anni – prosegue Rabellino – abbiamo scoperto anche un’altra cosa: che il software fa schifo. Mi spiego meglio: il software lasciato lì e non manutenuto, tempo qualche mese e mostrerà gravi carenze. Ci vuole una forza in grado di bilanciare questa deriva, e nel mondo open source questa forza si chiama community”. Per spiegare questo principio Rabellino ricorre ancora ad Apache (lo fa più volte nel corso della conversazione, segno che è quanto mai legato al progetto): “Il motto di Apache è: la comunità è più importante del codice. Perché una comunità può creare tutto il codice che vuole, mentre il codice da solo non è certo in grado di gestirsi”.
Ai concetti espressi in precedenza, quindi, si deve unire anche il valore della comunità che sostiene un progetto open source : “Per parlare di openness oggi, secondo me, bisogna parlare di questi quattro pilastri: open source, open standard, community e interoperabilità. Se non comprendiamo l’interazione tra questi quattro – spiega a Punto Informatico – rischiamo di avere un concetto vuoto e molto poco calzante”. Solo unendo questi aspetti, è il suo ragionamento, ci si può garantire che una pagina web risulti identica e fruibile in diversi browser, su diversi smartphone equipaggiati con diversi sistemi operativi: tanto più che si va verso una diffusa tendenza ad unire in un solo pacchetto hardware e software, con scarso o nullo controllo degli utenti sullo stesso. A questo punto, però, occorre anche dare un volto a questa svolta di Microsoft. Nel caso di Open Tecnologies il gruppo è diviso in tre team: a capo di tutta la filiera c’è Jean Paoli, il presidente, che sovrintentende un team di ingegneria (diretto da Kamaljit Bath), uno di standard (al comando c’è Paul Cotton, che è stato anche co-chair HTML5) e uno dedicato prettamente all’evangelizzazione (quello che fa riferimento a Gianugo Rabellino). Tutti e tre questi team sono imperniati su uno dei pilastri citati, e tutti assieme provvedono a garantire l’ultimo – l’interoperabilità – supportando diverse parti dell’azienda madre.
“Siamo un service team – spiega Rabellino – molto agili e in grado di lavorare sia con gruppi interni che con community esterne: a volte siamo noi a muovere il primo passo, altre volte è qualche altro business group ad avanzare qualche richiesta. Ma ci tengo a sottolineare che non siamo assolutamente gli unici a fare open source in Microsoft: i contributi al kernel Linux vengono sviluppati da OSDC, il lavoro compiuto sui big-data con Hadoop fa capo a un gruppo apposito, la parte relativa a Linux su Azure è gestita dal gruppo Azure stesso. Sono tantissimi i team impegnati in questo senso, e noi da soli abbiamo in ballo oltre 200 progetti in questo momento” (una lista di questi progetti in corso è disponibile qui ).
Tra questi, Rabellino sceglie come esempio lo sviluppo appena completato dell’ integrazione degli strumenti Office 365 nella piattaforma di e-learning Moodle : “In questo caso abbiamo visto l’esigenza di migliorare uno strumento come l’e-learning che è sempre stato un po’ un’isola”. È un buon esempio per chiarire anche come Open Technologies operi delle scelte quando decide di supportare un progetto: “Osserviamo il mercato da vicino e cerchiamo di essere fattivi. Ci poniamo domande del tipo: cosa sarà importante nei prossimi 12 o 18 mesi, che cosa Azure o un altro strumento Microsoft dovrà supportare per rispondere alle esigenze dei clienti e degli sviluppatori? A quel punto definita un’area guardiamo il codice implementato nell’ambito di un prodotto open source, guardiamo la community che ruota attorno a quel progetto e vagliamo anche il metodo di contribuzione scelto: se riteniamo di poter dare una mano, come in questo caso, ci facciamo avanti”.
Nel caso di Moodle, “Sfruttare strumenti come OneNote consentono di risolvere il problema dell’assigment e lo scambio dei materiali. Open Directory, all’interno di un istituto che ne faccia già uso, può essere sfruttato per offrire strumenti pronti all’uso a docenti e studenti. Con questi strumenti possiamo contribuire a rendere più semplici da gestire tutti i materiali prodotti nell’ambito dell’insegnamento mediato dalla tecnologia”. I plugin sviluppati sono open source, e Rabellino chiarisce che si cerca sempre di rispettare la licenza in uso nel progetto a cui si decide di contribuire : “Quando siamo noi a muovere il primo passo preferiamo licenze liberali come Apache o MIT. Altrimenti, bisogna sempre ricordarsi che oltre all’aspetto legale una licenza altro non è che la traduzione in legalese di un approccio generale della community a cui fa capo: è bene rispettare quindi le licenze altrui”.
Nella sua posizione, Rabellino è un po’ il portavoce e l’ambasciatore di Microsoft presso le comunità open source: ma, spiega, non esiste una formula unica per comprendere le sfrumature e l’approccio da tenere non è unico. “La regola di base è: don’t be a jerk . Siamo tutti volontari, anche se sei il dipendente di qualcuno la tua azienda ha deciso volontariamente di impegnarsi in un progetto, e se siamo qui è perché ci fa piacere esserci. Quando poi io mi impegno in Apache si presume che sia abbastanza intelligente da rappresentare me stesso e le mie opinioni, o veicolare quelle di Microsoft quando sia necessario: ma si dà per scontato che chi lavora ad Apache sappia portare anche la eventuale posizione che deve rappresentare in maniera rispettosa e produttiva”.
Ci sono poi degli altri fenomeni che complicano ulteriormente il quadro e dimostrano come la questione sia decisamente più ampia che la semplice contrapposizione tra open e non-open. “Prendiamo GitHub: rendere così semplice e poco costoso la creazione di fork e le pull request sta inserendo delle dinamiche sociali non da poco, spostando la conversazione molto più vicina al codice e a dove viene scritto”. Questo ha dei pro e dei contro: da un lato si assiste a una sorta di democratizzazione del coding, visto che non occorre essere al corrente dell’intera portata di un progetto per contribuire al singolo particolare; dall’altro, però, il fatto stesso che le modifiche non si discutano in un forum pubblico ma solo nell’ambito delle modifiche stesse può rivelarsi un’arma a doppio taglio.
“Lo svantaggio principale è che rende le community degli arcipelagi, dove si formano tanti piccolo gruppi di due o tre persone che lavorano a determinate parti di codice e manca un posto dove avere una visione più organica. La mailing list, basti pensare a quella di Linux, dove si ha una visione generale in tempo reale di dove si sta andando”. GitHub è un fenomeno positivo : “Ma cosa facciamo coi lati negativi? Ad esempio in Apache ci siamo posti il problema della proprietà intellettuale: se i contributi che arrivano da GitHub non sono gestiti all’interno di un processo più ampio, come facciamo a offrire quel software di qualità dove almeno la valutazione di base sulla proprietà intellettuale del codice è stata vagliata?”. Quale che sia il tipo di processo scelto per integrare il contributo dell’open source in uno sforzo complessivo , appropriato per una azienda che sviluppa comunque un prodotto destinato ad un uso enterprise, è interessante anche provare a capire quale sia l’effettiva portata di questa rivoluzione – se di rivoluzione si tratta. “Per comprendere l’impatto non si deve guardare solo a Open Technologies: ci sono tutti gli altri team al lavoro, come il già citato OSDC, che si occupano di argomenti specifici legati all’open source o all’apertura delle tecnologie di Microsoft. Il nostro team è all’avanguardia – spiega Rabellino a Punto Informatico – sta davanti e aiuta tutti, ma il cambiamento è in divenire e riguarda tutta la società: anche in qui in Italia, come in altre nazioni, ci sono persone che hanno il mandato specifico di parlare con le comunità open source e interagire con loro” (in Italia il gruppo che si occupa di questi temi fa capo a Roberto Andreoli ).
Open Technologies ha il vantaggio di essere il pezzo di organizzazione incaricato di esplorare e tracciare il cammino: “Mi piace definirci trailblazer ” dice Rabellino, ovvero gli apripista che mostrano agli altri dove andare e cosa si può fare . Come nel caso di Docker , tecnologia open per la distribuzione di software e applicazioni da far girare sul cloud, di recente divenuto compatibile con Azure proprio grazie al lavoro di Microsoft: “È una bella storia che dimostra come lavoriamo: ci accorgiamo, auspicabilmente presto, che c’è un bel progetto che sta funzionando bene e lavoriamo rapidamente per passaggi successivi per la sua integrazione: per essere credibili nel mondo open source bisogna scrivere codice, le chiacchiere stanno a zero, se non sei pronto a contribuire praticamente non c’è rispetto, attenzione, trazione per le tue posizioni”.
Come già detto in precedenza, la questione è fare le cose giuste e non annunciarle soltanto : non basta apporre il bollino open source su un’iniziativa per renderla tale, o per attirare l’attenzione degli hacker. “Contribuire al kernel Linux, adottare Hadoop per il big-data, puntare su HTML5 per garantire l’interoperabilità cross-platform sul mobile, l’open-sourcing di dotNET: questo io lo chiamo fare le cose giuste” dice Rabellino: che, senza fare nomi, sottolinea come in altre iniziative il contributo delle comunità sia in gran parte ignorato. “Noi invece abbiamo una storia legata al codice proprietario, e in un certo senso la rivendichiamo con orgoglio: ma questo significa anche che quando decidiamo di fare open source lo facciamo sul serio”.
Non che Microsoft sia l’unica buona samaritana al lavoro, ma Rabellino ci tiene a sottolineare quanto della sua esperienza ventennale nel campo sia rispecchiata dal quadro attuale: “Quando ho iniziato nel 1992 a fare open source l’ho fatto perché ho visto quanto potevo imparare lavorando con gli altri. Tutto quello che ho ottenuto con l’open source, anche in termini professionali, l’ho ottenuto grazie alla collaborazione con altri. Non sono andato verso l’open source perché pensavo mi avrebbe garantito una carriera: ci sono arrivato perché potevo imparare, interagire, mi divertivo e mi appassionavo”.
Con questo approccio diventa possibile tenere conto di aspetti molto più pratici relativi alla gestione di un progetto open source: “Mi piace parlare di sostenibilità, della capacità di creare qualcosa che tra un anno, due anni o tre anni sia ancora in perfetta forma: quando iniziamo a preoccuparci di questo – racconta Rabellino – iniziamo anche a capire come fare a gestire il ricambio ed evitare il burnout, aggirare il conflitto, iniziamo a preoccuparci dell’idea di salvaguardare il valore di un progetto”.
L’importante è mantenere la massima trasparenza sulle modalità di gestione di un progetto e di interazione con la community : “Ad esempio per dotNET i contributi sono benvenuti, abbiamo fatto di tutto per fare in modo che si possa contribuire: ma abbiamo anche un dovere nei confronti di chi già utilizza dotNET – continua – Andare incontro alla community non deve penalizzare la qualità di un software enterprise: per questo è molto importante avere da parte nostra un team di ingegneria all’altezza di guidare il progetto, e al contempo l’apertura open source ci garantisce la massima interoperabilità”.
Per riallacciare il discorso alla premessa, dunque, ecco spiegata la strategia di Microsoft e i motivi che l’hanno avvicinata all’open source: immaginare che Windows e Office, da soli, possano continuare a dominare il mercato informatico è un miraggio destinato a svanire in fretta. Inevitabile aprirsi e adeguarsi a quelle che sono le tendenze in atto sul mercato : e per garantire che i propri software, i propri servizi e dunque i propri business risultino presenti (e auspicabilmente vincenti) in questo panorama rinnovato, bisogna andare incontro al cambiamento. Un cambiamento organico e trasversale: “Va visto come una tendenza, occorre unire i punti: se si guarda ai singoli annunci – conclude Rabellino – potrebbero sembrare gesti isolati, ma quello in atto è un processo iniziato qualche anno fa parlando delle prime licenze OSI, e che oggi determina un cambio di passo di un’intera organizzazione”.
a cura di Luca Annunziata