 |
| Software nella Scuola |
 |
OpenSource e
Software Libero |
 |
|
 |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Servizi Web |
 |
|
|
QUALITÀ ASSISTENZA e SICUREZZA
L'autore di questo articolo ha tentato molte volte con poco successo di
convincere imprenditori e responsabili di aziende italiane ad adottare
software libero per costruire i vari programmi applicativi. – "È
vero che non dovrò pagare le royalties" – gli osservavano
– "ma chi mi garantirà la qualità del prodotto?
chi mi assisterà nella manutenzione? –.
E ancora, su sollecitazione del solito grande esperto della nota società
internazionale di consulenza: "Il software libero è noto
a tutti, e quindi "hacker" e "cracker" ci sguazzano.
Chi mi proteggerà dalle intrusioni?" Esaminiamo separatamente
le tre questioni della qualità, dell'assistenza tecnica e, infine,
della sicurezza, iniziando dalla prima e probabilmente la più importante,
la qualità.
È molto difficile formulare un giudizio obiettivo sulla qualità
di un prodotto software. Probabilmente come conseguenza della soggettività
del giudizio il dibattito sul confronto della qualità del software
proprietario e del software libero è cosí infuocato. Da
un lato, i produttori del software proprietario sostengono che non può
offrire alcuna garanzia di qualità il frutto di un lavoro collettivo
svolto con modalità caotiche e anarcoidi da una pluralità
di lavoratori disseminati sulla superficie dell'intero pianeta, riuscendo
facilmente con questa argomentazione a convincere la grande maggioranza
degli imprenditori e dei manager nostrani.
Sull'altro fronte, i sostenitori del software libero rilevano la qualità
eccezionale dei prodotti più noti del loro mondo - Linux, Apache,
BSD (Berkeley Software Distribution, UNIX) - e ne deducono una legge universale
sulla superiorità del software libero.
Uno dei più importanti esponenti di questa scuola di pensiero,
artefice anche della Debian Society, è Eric Raymond, che in un
saggio molto noto nella comunità mondiale degli informatici. La
cattedrale e il bazar, [7] ha raccontato e analizzato la storia di Fetchmail,
un programma libero per la gestione remota della posta elettronica, traendo
dal successo di quell'esperienza indicazioni di carattere generale sull'intero
universo del software libero.
Nel suo saggio Raymond confronta il processo di produzione del software
caratteristico di un'azienda importante, ove ogni atto è parte
di un rituale collettivo preordinato, preciso, gerarchico, con il processo
caratteristico del software libero, ove come in un bazar una moltitudine
di soggetti si scambiano beni in modo caotico, senza disciplina e autorità
superiori. Diciannove regole d'oro costituiscono secondo Raymond le chiavi
del successo di un prodotto software; quasi tutte sono applicabili soltanto
nel bazar.
Sinceramente, molte delle argomentazioni proposte da Raymond suscitano,
a giudizio di chi scrive, qualche perplessità. Complessivamente,
la cattedrale sembra, a chi scrive, un luogo più idoneo del bazar
allo sviluppo del software.
Tuttavia, due ragioni fondamentali potrebbero spiegare la presunta superiorità
dei migliori prodotti del software libero rispetto ai corrispondenti prodotti
del software proprietario.
La prima è la possibilità di buttare in campo centinaia
di utenti programmatori nella fase di debugging.
Raymond attribuisce a Torvalds il seguente enunciato, noto appunto come
"Teorema di Linus": "Given enough eyeballs all bugs
are shallow" ossia " Date tante pupille, tutti i bachi diventano
bazzecole".
La seconda ragione è sintetizzata dall'osservazione che nove donne
in un mese non fanno un bambino. I programmatori liberi lavorano per la
soddisfazione personale e la stima degli amici, senza fretta avendo la
qualità come obiettivo centrale. I programmatori delle aziende
che vendono software su licenza devono produrre una nuova versione ogni
due anni, per non uscire dal mercato e produrre nuovo fatturato. Ma la
complessità dei nuovi prodotti cresce molto rapidamente e soltanto
sacrificando la qualità è possibile superare le sfide della
complessità.
^top
Dal punto di vista industriale la questione dell'assistenza tecnica è
uno dei fattori più importanti che giocano a favore dei grandi
a danno dei piccoli. La piccola software house di Paperino, ad esempio,
che producesse un prodotto di grande interesse per il mercato non riuscirebbe
a diffonderlo perché non disporrebbe disporrebbe delle risorse
finanziarie per creare un'adeguata rete di assistenza. Per contro, Paperone
ha attuato un meccanismo per l'assistenza ai propri prodotti che, secondo
alcuni fanatici sostenitori del software libero, rivela la sua natura
diabolica ma che più razionalmente, si deve riconoscere, dimostra
il genio della finanza. Infatti, la multinazionale di Paperone incarica
aziende specializzate di organizzare corsi di specializzazione per aspiranti
tecnici di assistenza e incassa denaro per l'iscrizione ai corsi, l'organizzazione
degli esami e la concessione dei diplomi. Così, la creazione di
una rete capillare di assistenza basata su competenze di alto livello,
che a Paperino costerebbe come mille fatturati annui, contribuisce al
riempimento delle leggendarie casseforti di Paperone.
Tuttavia, a dispetto di questi meccanismi finanziari e dell'obiettiva
capacità delle multinazionali di creare reti di assistenza di alto
livello, la superiorità delle multinazionali del software proprietario
rimane discutibile.
Infatti, quando la complessità del problema dell'attuazione della
funzionalità particolare o dell'integrazione con altri prodotti
supera un certo livello, allora diventa necessario per il tecnico conoscere
a fondo cosa fa il prodotto, e come lo fa, e per questa conoscenza è
necessaria l'analisi del codice sorgente, che Paperone non consente per
non correre il rischio di essere copiato (o scoperto nel caso che uno
dei suoi programmatori avesse copiato qualcosa).
Così, alla superiorità economica si contrappone un'intrinseca
debolezza tecnica che in prospettiva non potrà non condizionare
pesantemente lo sviluppo del software proprietario.
^top
Talvolta qualche sostenitore del software proprietario propone un'argomentazione
quasi "truffaldina" che all'analisi non troppo meditata di
un dilettante potrebbe apparire ragionevole: afferma, ad esempio, che
i prodotti chiusi possono contare su livelli di sicurezza più elevati,
e in particolare su una migliore crittografia, rispetto ai prodotti aperti,
che adottano algoritmi noti a tutti in quanto il loro codice può
essere letto e studiato a fondo.
E invece è proprio vero l'esatto contrario, infatti, in linea teorica,
la crittografia costruita su chiavi sufficientemente lunghe è assoluta-
mente imbattibile in quanto non è noto, e forse non lo sarà
mai, un algoritmo per batterlo.
Ma i sistemi crittografici spesso presentano punti deboli, generalmente
rappresentati da chiavi troppo corte e da soluzioni tecniche per la distribuzione
delle chiavi attaccabili con vari stratagemmi. Cosí, sicurezza
e crittografia sono obiettivi molto difficili, forse i più difficili
dell'informatica e, per raggiungere una ragionevole tranquillità,
occorre sottoporre procedure e algoritmi a verifiche severe condotte da
molti studiosi di alto livello, possibilmente appartenenti ad ambienti
diversi.
Per sapere se una serratura è sicura, occorre affidarla a uno o
più esperti, che la aprano e la studino a fondo per verificare
che non possa essere aperta con un idoneo chiavistello.
Se la serratura non può essere aperta, perché affogata,
ad esempio, in un blocco di cemento, non è possibile verificare
se quella è una buona o cattiva serratura. Un ladro professionista
potrebbe corrompere il fabbro che ha costruito la serratura, farsi spiegare
come funziona e costruire un idoneo chiavistello; viceversa, se la serratura
è perfetta, non esiste un chiavistello in grado di aprirla.
^top
|