Open source e ricerca: il caso di Gaia

Quanta parte ha il software open-source nel contesto della ricerca scientifica odierna? Da ricercatore astronomo, amante e fruitore di software open source, tentare di approfondire la domanda mi intriga parecchio…
…Orbene, lo spunto per parlarne ora mi viene dall’osservazione degli strumenti software che vengono adottati in un grande progetto al quale anche io sto prendendo parte, ovvero la definizione delle procedure di trattamento ed analisi dei dati fotometrici che dovranno essere prodotti dalla sonda dell’ESA (L’Agenzia Spaziale Europea) chiamata Gaia: la sonda dovrà essere lanciata nel 2012, ma già da tempo il lavoro per la definizione delle opportune procedure è attivo a pieno regime.

A mio parere, già un semplice, scarno elenco degli strumenti software utilizzati dai vari team di Gaia – coordinati attraverso una rete europea di istituti scientifici – sarebbe forse sufficiente per capire che il software open-source (permettetemi la brutale banalizzazione) va alla grande, ovvero – per dirla in termini più elaborati – gode ormai di uno spazio definito e fondamentale di applicazioni e ambiti ben consolidato, perlomeno nella ricerca scientifica.

Una immagine di fantasia della sonda GAIA nello spazio
Photo: ESA/Medialab

A illustrazione di ciò, mi sono divertito a stilare un elenco (incompleto) del software open source usato correntemente nello sviluppo delle procedure di riduzione dati di Gaia, redatto semplicemente ponendo mente agli strumenti che vengono adoperati, da me o dai miei colleghi, per il lavoro quotidiano all’interno del progetto medesimo..

Il catalogo, dunque, è questo…:

  • Java: è il linguaggio del software di analisi e riduzione dati. Tutte le procedure devono essere per forza scritte in Java, per decisione di ESA. Questo comporta una serie notevole di benefici in termini di indipendenza dall’hardware, portabilità, modularità etc… troppo estesi per essere spiegati compiutamente in questa sede.
  • Eclipse: è l’ambiente di sviluppo fortemente consigliato (come dire, fate come vi pare, ma non si ha supporto con altri ambienti….)
  • SVN: tutto il codice è posto sotto controllo revisione, utilizzando subversion
  • MediaWiki : vi è un wiki ad accesso riservato, molto esteso, in cui è riportata tutta la documentazione del progetto, i meeting e i vari seminari di aggiornamento per i vari team, la documentazione… una mini wikipedia tematica, in soldoni…
  • Hudson, uno strumento per eseguire automaticamente i test del codice, ad intervalli programmati e presentare dei report su pagina web
  • Cobertura è lo strumento in grado di calcolare la percentuale del codice accessibile alle procedure di test
  • Mantis è uno strumento per il controllo e la gestione di “bachi” nel progetto
  • Grace, un utile tool per realizzare grafici
  • TopCat un visualizzatore interattivo di tabelle ed editor di dati
  • ant, un utile tool di compilazione in ambiente Java
  • Plastic (PLatform for AStronomical Tool InterConnection) è un protocollo di comunicazione tra differenti tool utilizzati prevalentemente in ambito astronomico
  • Probabilmente c’è anche dell’altro, ma al momento non mi sovviene 🙂
La cosa interessante è che tutto questo software è rilasciato su licenza GPL (General Public License) o similare; il che facilita di molto la possibilità di diffusione ed utilizzo dello stesso: non c’è necessità di acquisire licenze proprietarie e restrittive (o farle acquisire dal proprio istituto…): ordinariamente, si scarica il software e si comincia ad utilizzarlo da subito. Tutto qui. Non è male, direi, sia per la propria “produttività scientifica personale” sia per l’indubbio beneficio che questo ha nell’ambito del progetto vero e proprio. Vi immaginate quanto tempo (del ricercatore) e denaro (del contribuente) andrebbe speso se si dovessero acquisire licenze (rinnovi, chiavi software…) per tutte queste cose?

PS naturalmente non tutto è open source in Gaia: ad esempio, come sistemi operativi adottati nei vari desktop e laptop dedicati al progetto, c’è da dire che convivono tutti e tre i principali OS, ovvero linux, MacOS e Windows, in varie miscele, a seconda dei posti e dei singoli ricercatori… Non ne ho ancora incontrato nessuno però che usa Vista, a proposito… :-))

Loading