Free Software e Open Source

0
1253

Free Software

di Michele Betti

Il 1991 vede ufficialmente la nascita di Linux, un kernel sviluppato da Linus Torvalds, giovane studente di informatica presso l’Università di Helsinki (Torvalds & Diamond, Rivoluzionario per caso. Come ho creato Linux. Garzanti, 2005). Da allora il kernel Linux è stato utilizzato come base per la realizzazione di molti progetti Open Source e di software sviluppato all’interno del progetto GNU. Grazie anche alle potenzialità di scambio e diffusione di informazioni offerte dal world wide web, in questi ultimi anni la diffusione di sistemi operativi basati su kernel Linux (o GNU/Linux) è cresciuta esponenzialmente, raggiungendo anche utenti tradizionalmente più orientati all’utilizzo di sistemi operativi standard. A questo ha, probabilmente, anche contribuito lo sviluppo, in ambiente GNU/Linux, di ambienti desktop come KDE e GNOME (interfacce grafiche molto simili a quelle di Microsoft Windows o di Mac OS) più vicine alle esigenze di utenti meno esperti.

La nascita del software libero propone un modello di sviluppo totalmente antitetico a quello del mondo commerciale. Raymond, in un suo saggio del 1997 (Raymond. The Cathedral and the Bazaar, Musings on Linux and Open Source by an Accidental Revolutionary, 1997. www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar), oggi generalmente considerato il manifesto del movimento Open Source, confronta e descrive i due stili di sviluppo coniando efficacemente le categorie di “modello cattedrale” e “modello bazaar”. Nel modello cattedrale, in voga in gran parte del mondo commerciale, il programma viene realizzato da un numero limitato di esperti che provvedono a scrivere il codice in quasi totale “isolamento”. Il progetto ha una suddivisione gerarchica molto stretta e ogni sviluppatore si preoccupa della sua piccola parte di codice. Ad esso si contrappone il modello bazaar, del mondo Linux, nel quale il codice sorgente è disponibile liberamente, gli utenti possono interagire con gli sviluppatori e modificare e integrare il codice. Lo sviluppo è decentralizzato e non esiste una rigida suddivisione dei compiti. Altrettanto efficacemente la differenza tra i due modelli può essere esemplificata dai termini copyright (diritti d’autore), per il mondo commerciale, e copyleft (permessi d’autore), per il mondo Open Source di cui la GNU General Public License creata da Richard Stallman rappresenta un primo esempio. La licenza GNU (GPL, General Public License), basata sui principi del copyleft, assicura quattro “libertà fondamentali” (così definite da Stallman): i) libertà di eseguire un programma per qualunque scopo; ii) libertà di studiare come funziona il programma e di adattarlo ai propri bisogni; iii) libertà di ridistribuzione ad altri; iv) libertà di migliorare il programma e ridistribuire il miglioramento ad altri. Un programma è software libero se la licenza consente tutte queste libertà (ed ovviamente per poter avere queste libertà è necessario avere libero accesso al codice sorgente).

Nell’ambito del GNU project (www.gnu.org) sono stati, e vengono, scritti molti programmi Free Software. Free Software e Open Source usano lo stesso mezzo (libera circolazione del codice) per scopi diversi: la libera circolazione dell’informazione i primi e lo sviluppo di buon software i secondi. Per essere Open Source un software deve soddisfare ulteriori criteri tra cui la libera redistribuzione e la disponibilità del codice sorgente. Sotto questa licenza, ed in parallelo ad ormai quanto disponibile per molti altri settori, gli ultimi decenni hanno visto lo sviluppo e il rilascio di una serie di codici di calcolo di calcolo di tipo Open Source anche nei tradizionali settori dell’ingegneria e della meccanica computazionale. Fra questi si può ricordare Elmer (www.csc.fi), OOFEM (www.oofem.org), OpenSees (opensees.berkeley.edu) e Code Aster (www.code-aster.org), solo per citarne alcuni.

 

Nessun commento