Open source e ricerca: il caso di Gaia

Satellite Gaia_ESA

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

di Marco Castellani, Istituto Nazionale di Astrofisica (INAF) – Osservatorio Astronomico di Roma

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 (e che potete trovare alla pagina: http://mcastel.net63.net/1_13_The-Gaia-Project.html), 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 (http://www.asi.it/it/attivita/cosmologia/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. 

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. La pagina web: http://www.java.com/it/.
  • Eclipse: è l’ambiente di sviluppo fortemente consigliato (come dire, fate come vi pare, ma non si ha supporto con altri ambienti….). Pagina web: http://www.eclipse.org/ .
  • SVN: tutto il codice è posto sotto controllo revisione, utilizzando subversion. Pagina web: http://it.wikipedia.org/wiki/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… Pagina web: http://www.mediawiki.org/wiki/MediaWiki .
  • Hudson, uno strumento per eseguire automaticamente i test del codice, ad intervalli programmati e presentare dei report su pagina web. Pagina web: https://hudson.dev.java.net/ .
  • Cobertura è lo strumento in grado di calcolare la percentuale del codice accessibile alle procedure di test . Pagina web: http://cobertura.sourceforge.net/ .
  • Mantis è uno strumento per il controllo e la gestione di “bachi” nel progetto. Pagina web:  http://www.mantisbt.org/ .
  • Grace, un utile tool per realizzare grafici. Pagina web: http://plasma-gate.weizmann.ac.il/Grace/ .
  • TopCat un visualizzatore interattivo di tabelle ed editor di dati. Pagina web: http://www.star.bris.ac.uk/~mbt/topcat/ .
  • ant, un utile tool di compilazione in ambiente Java. Pagina web: http://ant.apache.org/ .
  • Plastic (PLatform for AStronomical Tool InterConnection) è un protocollo di comunicazione tra differenti tool utilizzati prevalentemente in ambito astronomico. Pagina web: http://plastic.sourceforge.net/ .

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?

Marco
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…  :-))

Informazioni su Sabrina Masiero

Ricercatore Astronomo (Tecnologo III livello) presso INAF-Osservatorio Astronomico di Palermo-Gal Hassin, Centro Internazionale delle Scienze Astronomiche di Isnello, Palermo. In precedenza: Borsista presso INAF-Osservatorio Astronomico di Padova e Fundaciòn Galileo Galilei, FGG-Telescopio Nazionale Galileo, La Palma, Isole Canarie.

Aggiungi ai preferiti : Permalink.

6 risposte a Open source e ricerca: il caso di Gaia

  1. Sabrina dice:

    Grazie Marco per avermi dato la possibilità di pubblicare questo post. Dopo quello di Giuseppe Altavilla, "Un astronomo a La Silla", oggi si parla del progetto Gaia sotto un altro punto di vista.

  2. Grazie a te Sabrina per avermi dato spazio in questo bello e interessante blog. In effetti, progetti così vasti come quello di Gaia permettono di essere osservati da diversi e variegati punti di vista, penso sempre con profitto.. Spero che il post vi paia interessante 😉

  3. Monica dice:

    Dietro ad ogni missione spaziale ci stanno centinaia di tecnici e ricercatori.. Sto pensando a quanti anni di lavoro sono necessari per portare a termine una missione… E poi, se la sfortuna nera vuole che qualcosa vada storto, la missione è compromessa…
    Sì, questo mi fa proprio riflettere…

    • mcastel dice:

      Si Monica, ogni tanto ci penso pure io.. E dopo tutto questo tempo, metti che il vettore fa "puff" al momento cruciale e Gaia rimane a Terra? Certo che attenderemo il momento del lancio con una trepidazione tutta particolare, noi che ci lavoriamo ormai già da mesi e mesi..

      Però, per guardare le cose dal lato positivo, anche nel peggiore dei casi, una bella esperienza (in termini di apprendimento di nuovi linguaggi di programmazione, del metodo di lavoro in un grosso team, nella condivisione di nuove sfide scientifiche con tante persone diverse sparse in tutta Europa…) me la sarò fatta, e anche se non immediatamente monetizzabile, me la terrò cara.. 😉

  4. Giuseppe dice:

    Ciao Marco. Ci sarebbero poi i software utilizzati non tanto per l'analisi dei dati ma per la loro gestione, come MySQL http://dev.mysql.com/downloads/ utilizzato per gestire i database (vedi ad esempio http://www.rssd.esa.int/SA/GAIA/docs/Gaia_2004_Pr…. Noi utilizziamo anche PostgreSQL http://www.postgresql.org/. Sarebbe bello assistere al lancio di persona, in Guyana francese.