Lo mando prima qui, se va bene lo si mette in rete.
Vi abbraccio

--------------------------

Questo episodio è realmente accaduto nel mese di maggio del 2000.

Davanti a me c'è un cluster di sei macchine. Sono sei RISC 6000 IBM,
anno di immissione in esercizio: ignoto ma di sicuro quasi dieci anni
fa. Le macchine, senza che ci inganniamo, sono ormai obsolete: ognuna
di esse va come un 486 a 66 MHz.... Per fortuna il sistema operativo
è uno Unix, per cui vanno lo stesso in rete decentemente.
Non ci servono interfacce grafiche, qui facciamo calcolo massiccio,
cui le interfacce utente sono le classiche shell bash e facciamo
tutto a riga di comando... ed è una fortuna: se dovessimo far partire
le interfacce grafiche, qui si inchioderebbe tutto di sicuro.
Mi trovo in un laboratorio dove si sperimentano tecniche di analisi
di dati basate su algoritmi di intelligenza artificiale. In realtà io
non sono un informatico, mi occupo di fisica statistica dal 1999 (anno
della mia laurea in fisica) e gli algoritmi di analisi mi servono per
tirare fuori i risultati riguardanti l'esperimento a cui partecipo.
Nulla di eccezionale, ho solo un miliardo di equazioni da risolvere,
o meglio, da far risolvere alle macchine.
Il cluster RISC ha il sistema operativo AIX, il cui proprietario è
IBM, e tutto il software è sotto licenza IBM, rigorosamente senza
sorgenti ma questo non costituisce un problema: IBM ha fornito le
interfacce software delle funzioni delle librerie installate, per cui
abbiamo potuto sviluppare il nostro software da interfacciare con
quello proprietario.
Per ottenere i risultati che mi occorrono, abbiamo implementato un
algoritmo genetico, una parte della sua implementazione è stata la
mia tesi di laurea.

In una calda mattina di maggio, il cluster RISC si è fermato.
E' crashato un disco. Tra l'altro era quello dove compilai la mia
tesi di laurea in Latex, per fortuna avevo il backup... ma lasciamo
perdere i ricordi: ora c'è un problema immediato da risolvere, le
macchine si sono spente e quindi addio algoritmo genetico e analisi
dei dati...
Il sistemista ha chiamato l'assistenza IBM: è necessario mettere un
disco nuovo e reinstallare il software appropriato.
La IBM ha risposto che quelle macchine sono fuori assistenza da anni,
in quanto obsolete, e non viene fornita più assistenza. Dopo qualche
insistenza da parte del direttore del laboratorio (molto inviperito
a dire il vero), IBM ha confessato che non ha più personale in
grado di fornire assistenza su macchine così vecchie.
Addio cluster RISC... è stata una punta di diamante del calcolo
parallelo nella prima metà degli anni '90, ma ora per lui è giunta
l'ora del cimitero informatico.
Resta il problema dell'attività scientifica interrotta. C'è poco
da fare: devo inventare qualcosa per far girare quell'algoritmo
genetico.
Accendo il mio umile portatile, ben poca cosa rispetto al cluster
RISC, parte il sistema operativo Linux Slackware, faccio partire
l'interfaccia grafica e mi metto a cercare in rete qualcosa che
faccia al mio caso.
Il software particolare ce l'ho, l'ho scritto io, ma mi mancano
le librerie con il motore genetico che erano sulle RISC.
Una rapida ricerca su SourceForge e scopro che esiste la GAlib,
trovo infatti questa informazione:
GAlib: Genetic Algorithms Library - Web Site: http://lancet.mit.edu/ga/
Corro subito a leggere la documentazione, e scopro che questa
libreria svolge *esattamente* lo stesso compito delle librerie
proprietarie di IBM! Cambiano solo alcune interfacce.
C'è un altro particolare: leggo sul sito:
"Licensing: GAlib is free"!
Scarico le librerie e mi metto al lavoro. Modifico nel mio software
le chiamate alle funzioni di libreria, in modo da interfacciarmi
con le GAlib piuttosto che con le librerie proprietarie IBM.
Tenendo aperte due finestre, una con la documentazione delle librerie
ed una con un normale VI che mi serve ad editare il mio software,
modifico tutti i miei moduli. Durante questo lavoro mi rendo conto
che queste librerie free sono documentate *molto meglio* di quelle
proprietarie, le cui licenze sono costate un occhio della testa
all'istituto. E' merito della scelta fatta dal MIT, che possiede
il copyright delle librerie: "il codice sorgente è disponibile
gratuitamente", di conseguenza chi ha USATO il la libreria ha
poi inviato varie note di feedback agli autori, specificando in
quali punti la documentazione era poco chiara, e suggerendo anche
i miglioramenti da apportare.
Dopo sei ore di lavoro, ho terminato di modificare il mio codice.
Esco dall'interfaccia grafica e lancio l'algoritmo di analisi.
Il mio portatile è un banale pentium... ma nonostante questo il
software gira quasi alla stessa velocità di esecuzione che aveva
sul cluster RISC. Mi rendo conto che non è solo a causa della
lentezza delle RISC, il codice della libreria free è molto più
ottimizzato. Anche per il codice è avvenuta la stessa cosa
rilevata a proposito della documentazione: gli utenti della
libreria hanno inviato agli autori delle note di feedback
specificando dove si poteva migliorare il codice per
renderlo più veloce e più affidabile. Tutte cose che con
software proprietario non sono possibili.
Lascio il portatile acceso e torno a casa. Durante la notte farà
tutto il calcolo massiccio richiesto e domani mattina troverò
i risultati. Anche senza cluster RISC proprietario, il problema
è risolto, grazie alla possibilità di usare free software... per
il quale non c'è bisogno di chiamare assistenza a costi esorbitanti,
basta scrivere alla mailing-list del progetto, ed altre persone
che usano o sviluppano la libreria daranno la soluzione.



-- 
Monsieur Legrand
developer of ILN system http://iln.ppcnerds.org

Il problema non è tanto assicurare la privacy a coloro che la
sollecitano (pochi rispetto al totale della popolazione),
bensì di farla considerare un bene prezioso a coloro che vi hanno
entusiasticamente rinunciato.
_______________________________________________
www.e-laser.org
[EMAIL PROTECTED]

Rispondere a