|
Offrire strumenti di sviluppo è un elemento essenziale per chiunque voglia permettere la creazione di software e comunità, perché si investe proprio sui mezzi di lavoro necessari per la loro creazione. I progetti concepiti dai programmatori di Google come strumenti di sviluppo prendono il nome di Google Api, librerie proprietarie per interfacciarsi e utilizzare i principali servizi del colosso di Mountain View.
Una libreria è un insieme di funzioni condivise: si tratta di porzioni di codice compilate che forniscono strumenti ad altri programmi che abbiano la necessità di funzioni semplificate. Un esempio molto intuitivo è costituito dalle librerie grafiche Gtk, Qt e Fltk, che implementano gli elementi standard di un'applicazione visuale (pulsanti, menu, icone...), semplificando il lavoro dei programmatori: questi ultimi, appoggiandosi alla libreria preferita, scriveranno solo le funzioni reali del programma. Saranno infatti le librerie a disegnare i pulsanti, a gestire i click del mouse, a tracciare le ombre e molto di tutto ciò che siamo abituati a vedere come utenti. II tempo e le capacità dei programmatori vengono così ottimizzate. Visto che chi scrive codici difficilmente sarà entusiasta di creare i bottoncini delle sue applicazioni, le librerie grafiche rivestono un ruolo essenziale di collante fra i vari progetti. Da una parte, le applicazioni risulteranno relativamente omogenee dal punto di vista grafico; dall'altra, i programmatori potranno concentrarsi sul loro lavoro, senza perdere troppo tempo nell'implementazione dell'interfaccia.
Vi sono comunità di sviluppo che si occupano delle librerie per fornire strumenti generici e trasversali per la risoluzione di problemi complessi (connessioni di rete, comunicazione tra applicativi, gestione del testo, immagini, compressione). Esattamente come un software viene scritto con l'obiettivo di raggiungere più utenti possibili, una libreria è fatta per arrivare a quanti più sviluppatori possibili.
Le librerie quindi permettono ai programmatori di creare i propri software partendo da un set di elementi messi in condivisione, veri e propri standard de facto della programmazione. Appoggiarsi alle librerie significa implementare il lavoro avvalendosi di una base di partenza anche molto ampia e complessa, che utilizza al meglio il codice già disponibile e stratifica le competenze. Le librerie hanno quindi un valore strategico sia nella dinamica di cooperazione spontanea del free software sia nell'economia relazionale dell'open source.
Le librerie di Google, cioè le Google Api, sono pubblicate con licenza proprietaria, ovvero nascondono al programmatore il meccanismo del loro funzionamento. Ma non è tutto: è presente anche un particolare dispositivo di controllo, infatti lo sviluppatore che scarica gratuitamente le librerie deve autenticarsi attraverso un codice. Questo sistema permette a Google di tracciare in maniera pervasiva tutti i movimenti e le modifiche che derivano dall'uso delle sue Api. I programmatori che utilizzano queste librerie hanno l'opportunità di inserire la ricerca di Google nel proprio sito o conoscere in tempo reale il proprio PageRank(TM). Inoltre possono realizzare software capaci di gestire campagne pubblicitarie attraverso AdWords, generare mappe dinamiche dei loro dati con l'interfaccia di Google Maps o anche implementare client Voip per la telefonia ori line compatibili con Gtalk. In breve, possono sviluppare i servizi di Google come meglio credono, nel linguaggio di programmazione a loro più congeniale, sotto l'attenta supervisione di Mountain View.
L'enorme diffusione dei servizi di Google si coniuga con la possibilità di personalizzazione nei minimi dettagli: infatti, mediante la scrittura di appositi documenti xml è possibile creare "ponti" di collegamento fra i diversi servizi di Google; per esempio, programmando pezzo per pezzo l'homepage di Google come se fosse un vero e proprio applicativo, rendendola in questo modo del tutto adeguata alle proprie esigenze. Qualcosa di molto simile si può fare con Google Earth: è possibile costruire particolari navigazioni in 3D sulle foto satellitari, evidenziando graficamente sui computer degli utenti ulteriori zone geografiche, edifici, dati climatici ecc.
Tutti questi strumenti predisposti per chi sa scrivere codici (in almeno un linguaggio) sono essenziali per trovare nuove combinazioni o semplicemente usare ciò che Google rende pubblico, almeno in parte, all'interno dei propri applicativi. Esiste addirittura un portale, googleearthhacks.com, dove si possono trovare moltissimi trucchi e hacks per utilizzare nei modi più impensati questo servizio, incrociando le mappe satellitari con qualsiasi altro database.
Tutte le possibilità che le librerie di Google ci offrono implicano il rispetto di due precise regole: la registrazione e la licenza. Per attivare funzioni di Google Api, infatti, è necessario richiedere una chiave, cioè un codice di accesso, e comunicare esattamente come le si vuole impiegare. Le Api si attivano solo dopo aver effettuato questa registrazione. Il secondo punto è la licenza. Non avendo una licenza copyleft, queste Api si possono utilizzare soltanto nel rispetto di alcune limitazioni: per esempio, è necessario avere un account Google, perché l'accumulo di informazioni non si arresta mai; inoltre, le mappe sono di proprietà esclusiva di Google (o di terzi) e non possono essere modificate in alcun modo. Naturalmente, per usi commerciali è necessario stipulare un contratto. Il codice di attivazione permette a Google di mantenere sempre il controllo totale sui nuovi programmi generati sulle sue Api: può bloccare a piacimento gli applicativi o semplicemente controllare sia il modo in cui accedono ai servizi, sia l'uso che ne viene fatto. Tutto questo è possibile perché il codice sorgente non è pubblico e libero, e risulta quindi impossibile comprendere il funzionamento interno delle librerie.
Oltre a far sviluppare gratuitamente e a monitorare la crescita dei propri servizi, un altro motivo per cui Google sta creando comunità con questa strana formulazione che potremmo definire pseudo-open è quello di ottenere un database sul quale fare ricerca e vendita di statistiche.
Ospitare gratuitamente i progetti dei singoli programmatori significa ottenere la loro fiducia. Permettere a chiunque di effettuare ricerche sul database dei progetti ospitati attiva una solida catena di utenti. Una simile incubatrice gratuita di giovani talenti garantisce inoltre la disponibilità di materiale umano fortemente motivato e la cui formazione, ovvero il costo principale nel settore dell'rT, è già stata compiuta in maniera autonoma e del tutto conforme allo stile dell'azienda.
L'offerta di strumenti di sviluppo è un meccanismo di talent scouting noto da tempo, in particolare è il cavallo di battaglia di alcune solide aziende come la Va Software Corporation, che mette a disposizione gratuita del mondo dell'open source computer molto potenti e banda larga, spazio disco e assistenza non alla portata di tutti. Due paradisi digitali possono vantare una fama mondiale e un numero di progetti ospitati superiore a ogni altro concorrente: sourceforge.net e freshmeat.org, entrambi di proprietà della Va Software. Questi portali hanno una tale risonanza che anche i progetti più piccoli, una volta comparsi sulle prime pagine, arrivano tranquillamente a contare centinaia di visite al giorno. Tutti i progetti in seno a code.google.com hanno una loro pagina corrispondente su freshmeat.org e/o sourceforge.net.
In questo modo gli applicativi possono godere al contempo della visibilità di Google e di tutti i servizi messi a disposizione dal colosso Va Software: mailing list, computer dedicati per la soluzione degli errori di programmazione (debugging), per sistemi di controllo delle versioni, delle revisioni e dei cambiamenti del codice (per esempio Cvs, Concurrent Versioning System), forum di discussione ecc.
È semplice immaginare come, con un database utilizzato gratuitamente da migliaia di coder, la Va Software può garantire un ottimo servizio di business to business per aziende legate al mondo open source e non solo. Un data mining di particolare interesse per affari miliardari. Tra gli sponsor e gli inserzionisti di sourceforge.net e freshmeat.org figurano Red Hat, Microsoft e molti altri.
Vi sono molti modi per mettere in collegamento gli sviluppatori con le aziende open source. In Italia, Sun Microsystems offre la possibilità di pubblicare il proprio curriculum su una mappa di Google (utilizzando le Google Api), attraverso il portale javaopenbusiness.it. Sono gli sviluppatori stessi a segnalare il proprio profilo, creando così una mappa delle competenze open source in Italia attraverso gli strumenti resi disponibili da Sun e da Google.
Google può quindi contare sull'implementazione praticamente gratuita dei propri prodotti da parte di centinaia di utenti; a questo si aggiunte l'investimento mirato di gare come Summer of Code, festival dedicati alla promozione e allo sviluppo dei propri servizi e, last but not least, sistemi di reclutamento eccezionalmente dinamici.
Ippolita, “Luci e ombre di Google”, Feltrinelli, pag. 75
|