Home | Redazione | Archivio | Risorse

clandestino-ITIS@libero.it jj

Opensource: un'introduzione ed un paio di riflessioni
di
Roberto Antole

Premessa
Nel numero precedente del giornalino si è parlato di Linux e della sua contrapposizione a Windows.
Con questo articolo vogliamo introdurre alcuni concetti che riguardano la filosofia e la cultura del mondo opensource, del quale Linux costituisce uno dei prodotti migliori.
 

Un po' di storia: gli albori dell'informatica
Tra i primi (e pochi) sviluppatori di software vigeva un clima di collaborazione e di aiuto reciproco: c'era, infatti, un continuo interscambio di informazioni, aiuti e suggerimenti tra coloro che, per primi, si trovavano a dover affrontare il problema di “far funzionare i computer”.
Con l'andare del tempo, però, le case produttrici e le aziende iniziarono a distribuire i programmi senza renderne disponibili i sorgenti, scatenando le proteste di molti programmatori, i quali sentivano questa pratica come una limitazione delle loro libertà: non si sentivano liberi di capire come i programmi venivano realizzati, non si sentivano liberi di migliorarli (o adattarli alle loro personali esigenze), non si sentivano liberi di capire se, eventualmente, i programmi in questione contenessero del codice scritto da loro.  

  La Free Software Foundation
Nel 1984 il pensiero di questi programmatori portò alla fondazione della Free Software Foundation (FSF) ad opera del giovane sviluppatore Richard M. Stallman: il fine ultimo di questa organizzazione senza scopo di lucro era, ed è tuttora, quello di realizzare un sistema completo e tecnicamente valido, il cui utilizzo garantisca il rispetto delle libertà degli sviluppatori e degli utilizzatori.

  Liberi da chi? Liberi da che cosa?
A tale proposito, Stallman scrisse la definizione del free software (software libero), in modo da fissare i canoni che i programmatori dovevano rispettare per tutelare i propri diritti e quelli degli utenti.
Facciamo subito una precisazione importante: in inglese la parola free significa sia libero che gratuito: quando si parla di free software si intende software libero, non gratuito: ci può essere del software libero a pagamento,  ma ci può essere anche del software non libero gratuito.
Secondo Stallman, un programma è libero quando:
-è liberamente eseguibile;
-è liberamente modificabile secondo i propri scopi;
-è liberamente distribuibile (si può copiare liberamente);
-è liberamente distribuibile dopo averlo modificato (si possono rendere disponibili le proprie modifiche).
Condizione necessaria per rispettare queste regole è quella di distribuire i sorgenti insieme ai propri programmi perché solo attraverso essi è possibile conoscere appieno e modificare i programmi. Rilasciare i sorgenti, inoltre, continua a garantire la diffusione delle conoscenze e la collaborazione tra i vari sviluppatori.

  Il Progetto GNU
Per realizzare questo sistema libero la FSF varò il Progetto GNU, il cui scopo era quello di realizzare un sistema operativo simile ad Unix, ma le cui componenti fossero, tutte, software libero.
Per garantire ciò venne creata la licenza d'uso GPL (General Public License): una licenza d'uso è un documento che accompagna un programma e che specifica come tale programma può essere utilizzato e distribuito. Secondo la GPL un programma deve essere utilizzato rispettando i principi del free software.
Un aspetto fondamentale della GPL è che tale licenza impone che eventuali modifiche apportate ai programmi vengano ridistribuite ancora sotto lo stesso tipo di licenza, garantendo, in questo modo, il continuo rispetto dei principi del software libero.

  Linux
Inizialmente il Progetto GNU produsse molte applicazioni (editor, compilatori, ...), ma nessuno riuscì a creare un kernel (il cuore del sistema operativo) efficiente ed adeguato per far funzionare i programmi realizzati. Si aveva a disposizione del software libero, ma per utilizzarlo si era costretti a ricorrere all'uso di sistemi operativo non liberi, lasciando, così, incompiuto il sogno della FSF...
Questo vuoto venne colmato nel 1991 da Linus Torvalds, uno studente finlandese che realizzò un kernel e decise di distribuirlo sotto la licenza GPL.
Grazie alla collaborazione di moltissimo sviluppatori sparsi in tutto il mondo, il lavoro di Torvalds e del Progetto GNU sono diventati quel sistema operativo completo, efficiente e molto apprezzato che noi oggi chiamiamo Linux...

  E opensource, allora, cosa significa?
Nel 1998 nacque l'associazione OpenSource Initiative (OSI) con lo scopo  di promuovere e diffondere il software libero negli ambienti commerciali. Il messaggio lanciato dalla FSF, infatti, era visto con diffidenza dalle aziende e dai produttori, perché carico di contenuti ideologici e filosofici.
Il lavoro dell'OSI, pur difendendo gli stessi principi, è più attento agli aspetti pratici dell'utilizzo e dello sviluppo di prodotti liberi.
Ecco perché, oggi, si sente parlare di opensource piuttosto che di free software: si parla sempre della stessa cosa, ma il termine opensource (sorgente aperto) pone più attenzione sulla condivisione delle conoscenze e sulla trasparenza dei programmi (ed elimina l'ambiguità derivata del termine free).

  Linux vs Windows (OpenSource vs Monopolio)
In questi anni, Linux è stato più volte contrapposto al monopolio dei prodotti Microsoft, non solo da un punto di vista tecnico, ma anche, potremmo dire, da un punto di vista concettuale. Più in generale, possiamo dire che abbiamo assistito, e stiamo assistendo, ad un confronto tra due modi differenti di vedere e concepire la pratica della programmazione e l'utilizzo del computer.

  Tecnicamente parlando
Tecnicamente parlando, le varie distribuzioni opensource ed i sistemi Windows hanno pregi e difetti che possono essere valutati e quantificati solo rapportandoli con l'utilizzo per il quale vengono impiegati: un prodotto può essere più o meno adatto a risolvere particolari problemi, può necessitare di formazione specifica, può essere più o meno adattabile alle particolari esigenze, può essere più o meno supportato, può avere un costo più o meno alto, ... Tutti questi sono parametri che devono essere presi in considerazione quando si deve scegliere quali prodotti utilizzare (ammesso, naturalmente, che il mercato proponga una scelta).
Ma, da un punto di vista strettamente tecnico, a priori non sarebbe corretto bandire tutto il software proprietario (quello, cioè, che viene distribuito, come Windows, senza il codice sorgente) perché l'essere proprietario non è una discriminante tecnica sufficiente per valutare un prodotto. Se un programma proprietario funzionasse decisamente meglio di uno opensource? E se esistesse un solo programma proprietario in grado di svolgere dei particolari compiti? Da un punto di vista tecnico, quale scelta fareste?

  Concettualmente parlando
Concettualmente parlando, invece, i pregi del modello opensource sono decisamente evidenti e sostanziali:

-          il codice aperto favorisce la trasparenza: possiamo controllare, in ogni momento, che un programma non esegua istruzioni a nostra insaputa (andando, ad esempio, a violare la nostra privacy);

-          mettere a disposizione il codice ne incrementa la sicurezza perché si ha a disposizione un team di centinaia di sviluppatori che possono testarlo e migliorarlo;

-          l'opensource favorisce la diffusione degli standard, necessari per far collaborare proficuamente, tra loro, gli sviluppatori, e gli standard sono fissati a livello internazionale per venire incontro alle esigenze degli utenti e per favorire lo sviluppo tecnologico;

-          il modello opensource garantisce e favorisce anche il diritto e la libertà di informazione;

-          il software opensource stimola la criticità degli utenti perché lo possono esaminare e valutare;

-          il modello opensource si contrappone decisamente ad atteggiamenti monopolistici il cui scopo principale è quello di ottenere profitto e non l'effettiva soddisfazione delle richieste del cliente.

(Questa lista non ha alcuna pretesa di essere completa ed esaustiva.)  

Uno spunto di riflessione
Nonostante quanto abbiamo appena detto riguardo al modello opensource, visto che siamo partiti parlando di libertà, chiunque dovrebbe essere lasciato libero di utilizzare del software proprietario; chiunque dovrebbe, in senso più generale, essere lasciato libero di scegliere quale soluzione adottare.
Ma, si chiedono gli esponenti del mondo opensource, se un'azienda può fare delle scelte particolari, uno Stato non dovrebbe, invece, avere come fine quello di garantire le libertà ed i diritti dei cittadini? E se la Pubblica Amministrazione utilizza (o impone l'utilizzo di) software proprietario, le nostre libertà sono veramente garantite? Se, per esempio, per accedere ad un sito di un ministero sono costretto ad utilizzare un particolare browser, è giusto che io sia obbligato ad acquistare un prodotto che, al di là del costo, io non ritengo valido? È giusto che sia lo Stato ad impormelo? Se io uso un altro browser non vengo, in questo modo, discriminato proprio da chi dovrebbe garantirmi le libertà più semplici e fondamentali? E così facendo, lo Stato non favorisce, di fatto, una particolare azienda, dimenticandosi di tutelare la libera concorrenza? Applicare il modello opensource potrebbe essere la soluzione?
Molti Stati nel mondo si stanno interrogando a tale proposito e anche in Italia qualcosa si sta muovendo: in seguito alla presentazione di una proposta di legge, il Ministero per l'Innovazione e le Tecnologie ha istituito una commissione per studiare e valutare le tecnologie a sorgente aperto in vista di un loro possibile futuro utilizzo nell'ambito della Pubblica Amministrazione. I lavori di questa commissione dovrebbero terminare a breve: aspettiamone i risultati incrociando le dita...

  Un altro spunto di riflessione: il ruolo della scuola
Qualcuno ha iniziato anche a riflettere sul mondo della scuola e su come esso dovrebbe relazionarsi con l'opensource.
Il fine della scuola è quello di educare, di insegnare delle funzioni, non delle funzionalità; la scuola dovrebbe insegnare a scrivere un documento di testo, non ad utilizzare un determinato programma; gli studenti non dovrebbero diventare esperti utilizzatori di uno specifico sistema operativo, ma dovrebbero imparare i concetti che governano la moderna informatica.
È vero tutto questo? E la scuola italiana, oggi, come si sta comportando? E se non si stesse comportando bene, cosa si potrebbe fare? Fare riferimento al modello opensource potrebbe essere una soluzione sia da un punto di vista tecnico che di formazione di professionisti (e di cittadini)? Oppure potrebbe essere un punto di partenza per iniziare un processo di miglioramento?

  Link utili per chi vuole approfondire

Il sito ufficiale della Free Software Foundation e del Progetto GNU:

www.fsf.org  

Il sito della OpenSource Initiative:

www.opensource.org

Il sito ufficiale di Linux:

www.linux.org

Il sito italiano di Linux (dove potete trovare molti documenti tradotti)::

www.linux.it

Un quotidiano online di notizie sul mondo dell'informatica, con una sezione dedicata al mondo opensource:

www.punto-informatico.it

Un esempio di utilizzo di Linux nella didattica:

www.linuxdidattica.org

L'Osservatorio Tecnologico per la Scuola del Ministero dell'Istruzione, dell'Università e della Ricerca:

www.osservatoriotecnologico.it

Il comunicato di istituzione della commissione al Ministero per l'Innovazione e le Tecnologie:

http://www.mininnovazione.it/ita/comunicati/2002_11_08.shtml

 

Layout e grafica T1T Productions 2002. Webmaster overmars87.
 
Risoluzione ottimale 800 x 600.Browser ottimale Explorer 5.0
Scarica qui i caratteri per visualizzare correttamente il sito.