Software Libero

Software Libero: cos’è e come nasce

Cos’é?
Il software libero è software pubblicato con una licenza che permette a chiunque di utilizzarlo e che ne incoraggia lo studio, le modifiche e la redistribuzione; per le sue caratteristiche, si contrappone al software proprietario ed è differente dalla concezione open source, incentrandosi sulla libertà dell’utente e non solo sull’apertura del codice sorgente, che è comunque un pre-requisito del software libero.
La parola libero non implica la possibilità di utilizzare tale software in maniera indiscriminata: il software libero è comunque soggetto ad una licenza d’uso, a differenza ad esempio del software di pubblico dominio.

Rispetto al software proprietario, la licenza d’uso del software libero permette di:
• eseguire il programma per qualsiasi scopo;
• accedere alla struttura interna del programma (codice sorgente), studiarla ed eventualmente modificarla;
• ridistribuirlo in un numero di copie illimitato.

La licenza d’uso pone in genere i seguenti vincoli:
• gli autori precedenti del software devono essere menzionati anche nelle versioni modificate, lasciando intatto il loro copyright;
• in seguito ad una modifica, non è possibile applicare una licenza d’uso incompatibile con la licenza originaria o che vada contro le norme della licenza stessa. Per esempio chiunque può riemettere del software pubblicato sotto LGPL usando la licenza GPL (tale operazione è anche chiamata upgrade della licenza), mentre non è possibile fare il contrario (naturalmente se non si è il detentore unico del copyright);
• normalmente, nella licenza, vi è una clausola che sancisce la non usabilità del software se non si rispetta la licenza d’uso o se una o più norme della stessa licenza non sono valide per termini di legge;
• quando si distribuisce un codice binario occorre o distribuire insieme anche i sorgenti o garantire per iscritto la possibilità a tutti gli utenti di venirne in possesso dietro richiesta ed al solo costo del supporto

Le “quattro libertà”

Secondo Richard Stallman e la Free Software Foundation da lui fondata, un software si può definire libero solo se garantisce quattro “libertà fondamentali”:
• Libertà 0: Libertà di eseguire il programma per qualsiasi scopo.
• Libertà 1: Libertà di studiare il programma e modificarlo.
• Libertà 2: Libertà di copiare il programma in modo da aiutare il prossimo.
• Libertà 3: Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio.

Differenze rispetto all’open source

Essendo la disponibilità del codice sorgente uno dei requisiti fondamentali che accomuna il software libero ed il software open source, spesso si è indotti a considerare i due concetti equivalenti, ma in realtà non lo sono.
Un software è open source se i termini secondo i quali viene distribuito rispondono alla Open Source Definition dell’Open Source Initiative (OSI): in particolare, se una licenza rientra in tale definizione, allora tale licenza può essere dichiarata licenza open source. La definizione potrebbe cambiare nel tempo (nessuno garantisce che questo non possa accadere) e quindi è possibile che una licenza attualmente open source non lo sia nel futuro o viceversa. OSI è anche l’organizzazione che su richiesta certifica con il relativo marchio registrato il fatto che una licenza sia effettivamente aderente alla Open Source Definition. Recentemente l’OSI ha posto un freno al proliferare delle licenze dichiarando che cercherà di limitare il numero di licenze che nel futuro saranno ritenute licenze open source. Questo potrebbe, in linea teorica, far sì che una licenza ritenuta libera non venga ritenuta open source.
Una licenza invece è libera (o meglio, una versione di una licenza è libera) se e solo se rispetta le quattro libertà fondamentali. Pertanto se una versione di una licenza è libera, allora lo sarà per sempre.  Naturalmente è sempre complesso, almeno per un cittadino “normale” (non esperto di leggi), stabilire se una licenza è libera o meno perché entrano in gioco i termini legali utilizzati nella stessa. Il progetto GNU si occupa tra l’altro anche di indicare se una licenza è libera o meno e se è compatibile con le licenze GNU o meno.
Il software libero inoltre non deve essere confuso con il software freeware, che è distribuibile gratuitamente ma che non è né software libero né open source.
In ogni caso, gli insiemi di applicativi designati da software libero e open source coincidono a meno di poche eccezioni. La differenza fondamentale è nel tipo di approccio: parlando di software libero si pone l’accento sugli aspetti sociologici ed etici, che sono volutamente rimossi nella visione open source.

Come nasce?

L’idea di software libero nasce agli inizi degli anni ’80, quando lo sviluppo del software cominciò a passare di mano dalle università alle aziende (software proprietario), ponendo un pesante freno alla collaborazione che caratterizzava il lavoro di gran parte dei programmatori e dei sistemisti dell’epoca, soprattutto con i patti di non divulgazione che le aziende facevano firmare ai programmatori che assumevano.
In realtà il software “commerciale” esisteva da sempre, ma i costi elevati dell’hardware facevano sì che il business delle aziende non fosse concentrato sul software, che era considerato una parte naturale del prodotto, ed i cui sorgenti erano in genere pubblici. Con il passare del tempo il software diventò sempre più complesso e difficile da realizzare e le aziende iniziarono a non distribuire i sorgenti e obbligare i propri dipendenti a non rivelare nulla per non avvantaggiare la concorrenza; inoltre con il crollo dei costi dell’hardware, lo sviluppo commerciale del software divenne un business notevole, ed il codice sorgente era divenuto un investimento prezioso che poteva da un lato far acquisire una fetta di tale mercato in rapida crescita e dall’altro legare i propri utenti al proprio software mantenendo il segreto sui metodi utilizzati per lo sviluppo di sistemi e applicazioni.
In questo modo le aziende cominciavano ad utilizzare la legge sul diritto d’autore per impedire ai concorrenti di leggere e modificare i loro prodotti, assicurandosi il controllo dei propri clienti che, senza più poter vedere e modificare il codice sorgente del software, non potevano più adattarlo alle loro esigenze ma dovevano chiedere alle aziende di farlo per loro.
Nel 1983 Stallman fondò il Progetto GNU con l’intenzione di creare un sistema operativo completamente libero. Grazie alla collaborazione di molti sviluppatori volontari, all’uso di Internet per la coordinazione del progetto e al kernel Linux di Linus Torvalds, nel 1991 nacque GNU/Linux, un clone di UNIX liberamente distribuibile e modificabile.
In Italia si riscontra una sempre maggiore attenzione per il software libero, vi sono associazioni che giornalmente dedicano molte attenzioni ed energie nella tutela e nel rispetto delle norme che regolano (o dovrebbero regolare) l’utilizzo del software libero nelle varie strutture pubbliche, come anche la Pubblica Amministrazione. Una delle più importanti sentenze registrate negli ultimi giorni riguarda l’Associazione per il Software Libero (Assoli ): con una sentenza a lungo attesa il Tribunale Amministrativo Regionale del Lazio riconosce ad Assoli il diritto di perseguire i suoi scopi statutari agendo anche in giudizio ove fosse necessario.

Aspetti filosofici e sociali

Nel software libero il significato della parola libero ha un’accezione particolare. Si è già sottolineato che la libertà del software libero non è incondizionata, perché è soggetta ai precisi vincoli della licenza d’uso, come qualsiasi altra licenza d’uso, solo che in questo caso l’autore si “espropria” di alcuni diritti per cederli agli utenti. Questi vincoli sono studiati in maniera tale da favorire il tipo di libertà cosiddetta copyleft, ovvero che ha come obiettivo la condivisione del sapere. Pertanto il software libero parte da considerazione sociali e per molti aspetti è una forma di filosofia.
Le implicazioni sociali del software libero sono notevoli. La condivisione del sapere non permette a un gruppo ristretto di persone di sfruttare la conoscenza (in questo caso tecnologica) per acquisire una posizione di potere. Inoltre, è promossa la cooperazione delle persone, che tendono naturalmente ad organizzarsi in comunità, cioè in gruppi animati da un interesse comune.
Il modello del software libero si è naturalmente esteso ad altri campi del sapere. Chi crede nel modello copyleft pensa che questo possa essere applicato ad esempio alla musica o alla divulgazione.
L’esempio più riuscito di applicazione di questo modello ad un campo differente dal software è oggi Wikipedia, che promuove la condivisione del sapere e la formazione di una comunità.

Vantaggi del software libero

A prescindere dalle implicazioni sociali, secondo i suoi sostenitori il software libero presenta numerosi vantaggi rispetto al software proprietario:
• essendo possibile modificare liberamente il software, è possibile personalizzarlo ed adattarlo alla proprie esigenze
• il codice sorgente è sottoposto ad una revisione da parte di moltissime persone, pertanto è più difficile che contenga bachi e malfunzionamenti. In ogni caso, è sempre possibile per chiunque tenere un indice pubblico dei problemi, in modo che gli utenti li conoscano
• se viene scoperto un baco o una falla di sicurezza, la sua correzione di solito è molto rapida
• essendo il sorgente liberamente consultabile, è molto difficile inserire intenzionalmente nel software backdoor, cavalli di Troia o spyware senza che questi vengano prontamente scoperti ed eliminati, come invece è accaduto per alcune applicazioni commerciali (ad esempio il caso del database Firebird della Borland che conteneva una backdoor scoperta quando di tale software sono stati pubblicati i sorgenti)
• non esistendo standard proprietari, le cui specifiche sono normalmente segrete, è molto più facile costruire software interoperabile
• permettere a chiunque di modificare i sorgenti garantisce che ogni nuova funzionalità o copertura di un baco possa essere proposta da chiunque e immediatamente applicata dagli sviluppatori. Questo permette di avere rapidamente a disposizione un software che rispetta le esigenze di chi ha richiesto le modifiche in caso di necessità
• la complessità e le dimensioni di alcune applicazioni di software libero (ad esempio, dei sistemi operativi) è tale che è necessario il supporto commerciale di un’azienda ; il software libero si presta a creare nuove opportunità di business nel campo della formazione e del supporto, oltre che della eventuale personalizzazione del software.
• collaborando con sviluppatori volontari e utilizzando il lavoro della comunità, anche le piccole e medie imprese sono in grado di sviluppare e vendere prodotti di alta qualità, senza dover ampliare il loro organico.

                                                                                                                                                                                                                           (tratto da Wikipedia)

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...