
Il professor Darrel Ince, Open University, ha lanciato un appello affinché tutti gli scienziati rilascino i sorgenti di tutto il codice che utilizzano per le loro ricerche.
Addirittura rincara la dose arrivando ad affermare che chi ne ha la possibilità e non lo fa non dovrebbe essere considerato un vero scienziato. La motivazione che lo hanno portato a questa conclusione è un’attenta analisi di milioni di linee di codice riguardante calcoli scientifici che ha dimostrato la presenta di una percentuale troppo alta di inconsistenze e possibili errori.
Un problema grosso poiché anche un semplice errore può invalidare tutti i risultati e tenendo privato il codice diventa più difficile e impegnativo verificare la correttezza di un determinato studio scientifico. In pratica vanno a saltare le chiavi di volta della ricerca scientifica: l’apertura, la condivisione ed il confronto.
Fabiooo
10 feb 2010 - 11:04 - #1Il concetto potrebbe essere giusto, ma non va dimenticato che la ricerca è spesso finanziata da privati, che hanno il diritto di tutelare i loro interessi(sennò chiudono il rubinetto e bon)
Diego Guidi
10 feb 2010 - 11:15 - #2Interessante però il motivo, ovvero la possibilità che ci siano errori e che la comunità possa trovarli.
E’ un pò come le pubblicazioni scientifiche: sono pubblicate perche’ sia garantita la veridicità e riproducibilità dei risultati, la stessa cosa dovrebbe valere per il codice.
Conad il Rabarbaro
10 feb 2010 - 11:40 - #3In effetti, se un professore/scienziato lavora ad esempio per un ente/università pubblico e il suo stipendio è pagato dalla pubblica istruzione/stato, che a sua volta prende i soldi dalle tasse, allora è giusto che le sue ricerche siano pubbliche; direi quasi è un obbligo.
christian m
10 feb 2010 - 12:47 - #4ma speriamo proprio di no! ci sono validi motivi per non distribuire sotto opensource
Skarn
10 feb 2010 - 12:50 - #5Il problema è diverso: se vuoi che il tuo lavoro sia riconosciuto, dev’essere sottoposto alla “peer review”, ossia l’analisi dei tuoi risultati da parte di parsone qualificate dello stesso campo.
Nello stesso modo io trovo naturale cercare di utilizzare solo software libero e open source per la ricerca, perchè non trovo accettabile che i dati debbano passare attraverso chissà che sistemi che fanno i conti come pare a loro.
Dal momento che persino negli esperimenti più banali il computer diventa sempre più pervasivo e viene coinvolta una complessa analisi dei dati per ricavarne elementi significativi, è logico che anche il software vada sottoposto alla peer review, o la nostra amata riproducibilità dei risultati va di corsa a quel paese!
DoppiaZ
10 feb 2010 - 12:56 - #6…christian m…il tuo commento è proprio illuminante… -.-”
gioby
10 feb 2010 - 13:25 - #7Se pubblichi dei risultati ottenuti con degli script fatti da te, é obbligatorio che tu li renda pubblici, altrimenti chi leggerá il paper non avrá maniera di riprodurre quello che hai scritto. Una alternativa potrebbe essere quella di scrivere dei buoni tests e descriverli nella pubblicazione, ma non tutti i ricercatori ne sono capaci (o intendono il concetto di ‘test’), e in ogni caso é sempre meglio avere a disposizione il codice sorgente.
Fabiooo
10 feb 2010 - 13:49 - #8#4 : ok, tipo?
darkham
10 feb 2010 - 13:58 - #9purtroppo anche nella piu’ aulica delle dimensioni culturali, ci sarà sempre chi vorrà che il suo lavoro sia vincolato in vari sensi al suo nome.
Fabiooo
10 feb 2010 - 14:21 - #10#9 : che c’entra, nella varie licenze OS non è escluso l’obbligo di “render merito” al creatore.
aska
10 feb 2010 - 14:46 - #11concordo con Fabiooo
dario3004
10 feb 2010 - 15:24 - #12non penso che i matematici tengano private le dimostrazioni dei propri teoremi :)
c’è un paradosso no?
G,G
10 feb 2010 - 15:57 - #13@dario3004
dimostrazioni private & codice aperto… sarebbe un mondo migliore :-)
charon66
10 feb 2010 - 21:41 - #14La cosa mi pare quantomeno un naturale preseguo di quanto si è sempre fatto nella scienza. Non basta affermare di aver scoperto qualcosa, ma bisogna portare anche prove sperimentali a conferma della propria tesi. Gli esperimenti devono essere riproducibili. Se io faccio un programma che elabora i dati in modo errato il risultato non è di alcuna utilità e utilizzandoli si potrebbe giungere a false conclusioni.
In teoria basterebbe che sia accessibile il binario perché l’elaborazione sia riproducibile. Tuttavia, così facendo, la validità della spiegazione dipende da quanto ci si fida che un certo binario faccia ciò che dichiara.
Nel caso di software commerciali è possibile che siano presenti dei bug, ma comunque mi pare lecito aspettarsi che il programma faccia quello che dichiara.
Se il software è sviluppato dai ricercatori, questi avrebbero potuto introdurre volutamente un funzionamento errato al fine di ottenere dei dati che fanno comodo.
Mi pare quindi più che giustificata la richiesta di avere i sorgenti.
mighelone
11 feb 2010 - 13:53 - #15Il problema sta nel fatto che nella ricerca c’è molta concorrenza. Dal momento che si pubblica il proprio codice, qualche concorrente potrebbe utilizzarlo per portare avanti il lavoro, dopo che magari uno ha perso anni sviluppando tale codice.
D’altro canto dare al pubblico un codice può voler dire essere citato molto spesso (da parte di chi lo usa) e questo ormai per uno scienziato vuol dire molto….
comunque nell’ambiente molto spesso questa cosa viene vista come un sacrilegio
BadTux
11 feb 2010 - 13:57 - #16@mighelone:
Se qualcuno va avanti con il codice, tu potrai fare lo stesso con il suo. Risparmia tempo lui e risparmi tempo tu…
Matteo De Felice
11 feb 2010 - 14:12 - #17Non penso che sia giusto forzare la pubblicazione del codice sorgente, per due motivi:
1. Nelle pubblicazioni viene (e deve) descritta la metodologia/algoritmo poi implementata nel codice e per una corretta revisione e controllo dei risultati, gli altri scienziati dovrebbero reimplementare quello stesso algoritmo per poi ottenere gli stessi risultati—certamente condividere il sorgente renderebbe questo più veloce ma non ci sarebbe poi una revisione sulla metodologia/algoritmo (teorico) ma solo sull’implementazione
2. Nel mondo reale un codice può dare il vantaggio di settimane/mesi su altri laboratori, nel mondo scientifico esiste la competizione ed è proprio questa che porta a spingersi sempre più in là
Sul secondo punto si può non essere d’accordo, ma sul primo io trovo importantissimo che la revisione si faccia su ciò che c’è scritto non sulle righe di codice, oltretutto non si possono obbligare gli scienziati a rendere leggibile il codice, commentarlo, ecc ecc, sarebbe fuori dai loro scopi (e spesso competenze)
Luca Beltrame
11 feb 2010 - 15:18 - #18Per Matteo De Felice: Quello che dici per il punto 1 puo’ aver senso in teoria, ma non in pratica, perche’ nessuno lo fara’ mai. E il principale motivo per il codice chiuso, detto molto francamente, e’ per poter garantire pubblicazioni “gratis” successive per gli aggiornamenti. Oppure per evitare “competizione” (che non ha assolutamente senso in un contesto di ricerca *pubblica*).
Questa situazione mi dimostra sempre di piu’ che certi settori della ricerca scientifica sono peggio che marci…
Matteo De Felice
11 feb 2010 - 21:40 - #19@Luca Beltrame
Non sono d’accordo nella completa visione negativa della competizione, pure in un contesto pubblico (come dovrebbe essere). Alla fine la ricerca pubblica deve generare conoscenza e strumenti per la collettività, non per forza codice open (che poi per forza di cose deve essere chiaro e commentato). Vedo bene chi pubblica il proprio codice, per maggiore trasparenza, ma in molti ambiti non vedo il bisogno, bisogna pure giudicare dal campo di applicazione: chi lavora con i modelli simulativi, ad es. modelli climatici, basa sul proprio software tutti i suoi risultati, quindi questo è fondamentale e deve poter essere esaminato da esterni (cosa che poi comunque accade nei peer reviewing delle riviste di alta fascia).
Luca Beltrame
12 feb 2010 - 10:35 - #20Se la ricerca e’ finanziata con soldi pubblici, deve essere a beneficio di tutti. E almeno nel settore della bioinformatica dove opero, vedere pubblicazioni di applicazioni prive di uno straccio di sorgente (e magari neanche cosi’ perfette, eh…) mi fa rabbrividire. “Bene di tutti” != “Beneficio esclusivo del gruppo di ricerca”. (dove “tutti” puo’ essere ristretto a “comunita’ scientifica”).
Questo e’ uno dei motivi per cui incoraggio l’uso di licenze tipo GPL o LGPL nel software accademico, in modo da garantire che sia sempre libero.
Quanto alla competizione, io mi riferisco al dissennato “publish or perish” che tutto fa meno incoraggiare lavoro di qualita’ (l’importante e’ averne fuori tanti in modo da poter continuare a chiedere finanziamenti…).