SQLite – storia (di successo) dell’opensource

SQL sta per Structured Query Language (linguaggio per richieste strutturate), ed è lo standard de facto per le operazioni sui database (DB), in particolare di tipo relazionali. La connessione tra strumento e linguaggio è talmente forte che i database non relazionali si identificano con il termine NoSQL.
Di norma, i DB sono programmi che girano su macchine dedicate, con cui vari utenti intergiscono via rete, nel tipico modello server/client.
SQLite implementa un database, che comprende il linguaggio SQL, ma che opera in locale operando solo su un file.

A inizio luglio è stata pubblicata un’intervista (audio, ma è presente una trascrizione) all’inventore Richard Hipp di SQLite, ripresa da un articolo su The New Stack. In questa intervista si ripercorre la storia che ha portato alla nascita di questo software, che dal 2000 ad oggi è diventato un componente software pressoché ubiquo nel mondo moderno: molti prgogrammi lo usano per memorizzare configurazioni e/o utenze, i cellulari per gestire i dati, specie quelli della rubrica, il browser per organizzare la cache, rendendola più rapida – ovvero utile ed efficacie.

Sintetizzeremo molto gli eventi, per ovvie questioni di spazio, ma possiamo dire che è davvero avvincente – e dobbiamo ammettere che non la conoscevamo. Quindi, se volete ascoltare o leggere qualcosa di interessante, i link sopra fanno al caso vostro.

Il tutto inizia quando Richard Hipp, lavorando sul software di una nave da guerra, identifica un problema ricorrente nell’impossibilità di contattare il server per il DB. Cosa che gli risultava alquanto strana, considerando che in teatro di guerra quella nave avrebbe dovuto sostenere vari danni, e un errore del genere avrebbe bloccato i sistemi piuttosto presto…
Hipp quindi trova nella connessione remota il problema principale, risolvibile usando un DB in locale. Ma, dalle sue ricerche (e ricordiamoci che nel 2000 Internet era ancora agli albori), non esisteva ancora nulla che potesse funzionare in quel modo. Non gli rimaneva che crearsi la soluzione.

Si rimbocca le maniche, prende dalla libreria “The Art of Computer Programming” di Donald Knuth, e si mette al lavoro. Qualche mese dopo, SQLite funziona, è pronto.
Proprio perché non aveva trovato nulla di simile, pubblica il suo codice per aiutare chi, nelle sue stesse condizioni, avesse bisogno di una soluzione.
Il successo è immediato, l’interesse subito molto alto con sviluppatori entusiasti nell’incorporare quel codice un po’ ovunque – Palmari Palm compresi.

In questo clima di entusiasmo, il software stava già diventando prodotto. Tanto che uno dei giganti delle telecomunicazioni di allora, Motorola, contattò Hipp perché voleva integrare il software nei suoi sistemi, e chiedeva assistenza. A pagamento.
Pare che poter avere un business con software open-source abbia sorpreso Hipp. E, in effetti, sappiamo bene che non è facile, quindi possiamo capire la sorpresa di Hipp!
Lo sviluppatore risponde che non c’è problema: per 80.000 dollari fornirà l’assistenza necessaria. La somma sembra piuttosto ridicola, ma gli permette di assumere tre collaboratori, creando un vero e proprio gruppo di lavoro.

Poco tempo dopo anche un altro gigante si fa vivo: è Nokia, per il suo sistema operativo Symbian (a qualche dinosauro nostalgico come me sarà scesa una lacrimuccia a leggerne il nome). Che però chiede di aumentare il numero di persone coinvolte – meramente per non rischiare che un incidente fermi l’intero progetto.
Il modo individuato per avere più supporto è la creazione di un consorzio, che vede la luce in breve tempo con Mozilla, Symbian e Adobe che ne fanno parte. Non c’è che dire, un bell’elenco di nomi!

Ormai dalla prima pubblicazione è passato qualche anno, la diffusione avanza. Nel 2005 Google premia Richard Hipp per il miglior software open-source, ed è disponibile una sua presentazione proprio per i Google TechTalks dell’anno dopo. E la collaborazione con Google per Android porta ad un sistema di test molto raffinato, capace di verificare il funzionamento su varie piattaforme e individuare moltissimi bug. E prograbilmente grazie a questo, fino ad oggi, i report di problemi di sicurezza inerenti SQLite sono stati davvero pochi.

La storia di SQLite dimostra come un software, nato per risolvere un’esigenza particolare, possa essere rilasciato e diffondersi praticamente ovunque. Ma mostra anche come un l’open-source possa diventare un’attività lucrativa (grazie anche alla licenza apposita usata). Che sia chiaro: non intendiamo nel senso dispregiativo. Anzi: questa capacità di vendere il prodotto è alla base degli stipendi e dell’impegno di tante persone dedicate allo sviluppo, e che rendono SQLite un buon prodotto!

Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Tags: , ,