Open source philosophy

Definizione di Software Libero e Open Source

Criteri del Software Libero

Prima di tutto, «libero» nel contesto del software libero non ha nulla a che fare con «gratuito», o come il fondatore della Free Software Foundation (FSF), Richard Stallman, sinteticamente dice:

Per capire il concetto, dovresti pensare a «libero» come in «libertà di parola», non come in «birra gratis».

— Richard Stallman

Cos’è il software libero?

Indipendentemente dal fatto che tu debba pagare per il software o meno, ci sono quattro criteri che costituiscono il concetto di software libero. Richard Stallman descrive questi criteri come «le quattro libertà essenziali», il cui conteggio parte da zero:

«La libertà di eseguire il programma come si desidera, per qualsiasi scopo (libertà 0).»

Dove, come e per quale scopo il software viene utilizzato, non può essere né prescritto né limitato.

«La libertà di studiare come funziona il programma, modificarlo affinché faccia il vostro calcolo come si desidera (libertà 1). L’accesso al codice sorgente è una condizione preliminare per questo.»

Ognuno può cambiare il software in base alle proprie idee ed esigenze. Ciò presuppone a sua volta che il cosiddetto codice sorgente, ossia tutti i file di cui è costituito un software, deve essere disponibile in una forma leggibile dai programmatori. Naturalmente, questo diritto si applica a un singolo utente che potrebbe voler aggiungere una singola funzionalità, come alle società di software che costruiscono sistemi operativi complessi, per esempio quelli in uso su smartphone o firmware del router.

«La libertà di ridistribuire copie in modo da poter aiutare gli altri (libertà 2).»

Questa libertà incoraggia esplicitamente ogni utente a condividere il software con altri. Si tratta della più ampia distribuzione possibile e quindi della più ampia comunità possibile di utenti e sviluppatori che, sulla base di queste libertà, sviluppano e migliorano ulteriormente il software a beneficio di tutti.

«La libertà di distribuire copie delle tue versioni modificate ad altri (libertà 3). In questo modo puoi dare a tutta la comunità la possibilità di beneficiare dei tuoi cambiamenti. L’accesso al codice sorgente è una condizione preliminare per questo.»

Non si tratta solo della distribuzione del software libero, ma della distribuzione del software libero modificato. Chiunque apporti modifiche al software libero ha il diritto di rendere le modifiche disponibili ad altri. Colui che la effettua, è tenuto a renderla pubblica, vale a dire non si devono limitare le libertà originarie nella distribuzione del software, anche se lo ha modificato o esteso. Ad esempio, se un gruppo di sviluppatori ha idee diverse sulla direzione di un software specifico rispetto agli autori originali, può dividere il proprio ramo di sviluppo (chiamato fork) e continuare come un nuovo progetto. Ma, naturalmente, tutti gli obblighi associati a queste libertà rimangono.

L’enfasi posta sull’idea di libertà è coerente anche nella misura in cui ogni movimento di libertà è diretto contro qualcosa, vale a dire un avversario che sopprime le libertà postulate, che considera il software come proprietà e vuole tenerlo sotto chiave. A differenza del software libero, tale software è chiamato proprietario.

Software Open Source vs Software Libero

Per molti, il software libero e il software open source sono sinonimi. L’abbreviazione FOSS significa Free and Open Source Software e sottolinea questa comunanza. FLOSS sta per Free/Libre e Open Source Software, è un altro termine popolare, che sottolinea inequivocabilmente l’idea di libertà anche per altre lingue diverse dall’inglese. Tuttavia, se si considera l’origine e lo sviluppo di entrambi i termini, è utile una differenziazione.

Il termine software libero con la definizione delle quattro libertà descritte, risale a Richard Stallman e al progetto GNU fondato da lui nel 1985 — quasi 10 anni prima dell’emergere di Linux. Il nome «GNU is not Unix» descrive l’intenzione con un occhiolino: l’iniziativa GNU nata per sviluppare da zero una soluzione tecnicamente convincente — ossia il sistema operativo Unix — per renderla disponibile e migliorarla continuamente con il coinvolgimento del grande pubblico. L’apertura del codice sorgente era semplicemente una necessità tecnica e organizzativa, ma nella sua immagine il movimento del software libero è ancora un movimento sociale e politico — alcuni dicono anche ideologico —.

Con il successo di Linux, le possibilità collaborative di Internet e le migliaia di progetti e aziende emerse in questo nuovo cosmo software, l’aspetto sociale si è sempre più ritirato in secondo piano. L’apertura del codice sorgente è cambiata da un requisito tecnico a una caratteristica di definizione: non appena il codice sorgente era visibile, il software veniva considerato «open source». Le motivazioni sociali hanno dato il posto a un approccio più pragmatico allo sviluppo del software.

Software libero e software open source lavorano sulla stessa cosa, con gli stessi metodi e in una comunità mondiale di individui, progetti e aziende. Ma dal momento che si sono riuniti da direzioni diverse — una sociale e una pragmatico-tecnica — a volte ci sono conflitti. Questi conflitti sorgono quando i risultati del lavoro congiunto non corrispondono agli obiettivi originali di entrambi i movimenti. Ciò accade soprattutto quando il software rivela le sue fonti ma non rispetta contemporaneamente le quattro libertà del software libero, ad esempio quando ci sono restrizioni alla divulgazione, modifica o connessione con altri componenti software.

La licenza in base alla quale il software è disponibile determina le condizioni a cui il software è soggetto per quanto riguarda l’uso, la distribuzione e la modifica. E poiché i requisiti e le motivazioni possono essere molto diversi, nell’area FOSS sono state create innumerevoli licenze diverse. A causa dell’approccio molto più fondamentale del movimento del software libero, non sorprende che non riconosca molte licenze open source come «libere» e quindi le respinga. Al contrario, questo è causa dell’approccio open source molto più pragmatico.

Diamo un breve sguardo all’area effettivamente molto complessa delle licenze nelle seguenti schede.