Free software, opensource, freeware

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Banner e-zine.png
Questa guida è basata sui seguenti articoli presenti all'interno del numero 2 dell'e-zine di Debianizzati.org :

Free software, opensource, freeware


Introduzione

n questi ultimi anni si parla molto di Free Software e Open Source, molti software si sono diffusi (quasi) a macchia d'olio entrando anche nei PC degli utenti meno smaliziati. Ma di quali software stiamo parlando? Diciamo che quasi tutti voi conoscerete (per averli installati o usati almeno una volta) programmi come Mozilla Firefox per navigare, oppure Openoffice.org al posto della ben più pesante (e costosa) suite Microsoft Office™.
Fino a pochi anni fa chi voleva nel proprio PC un programma di videoscrittura evoluto (wordprocessor) e un programma per fare calcoli e tabelle (foglio di calcolo o spreadsheet) aveva di fronte a sé due strade: o spendere per acquistare la licenza d'uso o (purtroppo molto più spesso di quanto si possa immaginare) "piratarlo" facendoselo copiare o copiandolo. Quali sono i vantaggi dell'Open Source e del Free Software rispetto al software proprietario? Andiamo con ordine...

Differenze tra software chiuso e software aperto

Cosa è il software "chiuso" e cosa è il software "aperto"? Questa prima distinzione si incentra sulla disponibilità del codice sorgente del programma in esame.
Il computer, come tutti saprete, sa capire soltanto se passa corrente elettrica oppure no in un circuito. Tutto quello che capisce è 1 oppure 0. Senza entrare nei particolari (questo non vuole essere un articolo tecnico, ma divulgativo) un programma per PC deve per forza essere scritto come una lunga sequenza di 0 e 1. Questi numeri vengono interpretati come una lista di cose da fare, in ordine ben preciso.

Risulta evidente che per un programmatore scrivere del codice in questo modo è molto pesante e complicato, nonché soggetto a molti errori (negli anni '50 in effetti i programmatori ragionavano e scrivevano così!). Per questo sono stati creati dei compilatori e degli interpreti per agevolare questo lavoro. Questi sono, a loro volta, programmi che traducono una lista di istruzioni scritte in un linguaggio più vicino a quello umano nell'unico linguaggio comprensibile al computer: il linguaggio macchina (quello fatto di 1 e 0).

Questi linguaggi (C, C++, Pascal, PHP, Perl, Java, Python, Ruby, etc.) sono definiti di "alto livello" proprio perchè la loro sintassi, come detto, è più vicina al linguaggio "umano" che a quello "macchina".

La "lista" di istruzioni in linguaggio comprensibile all'uomo è il codice sorgente; se questo viene reso disponibile agli utenti, il software si definisce aperto (open in inglese), in caso contrario si definisce chiuso (closed). Disporre del sorgente permette di capire come funziona un dato programma, cosa può fare e come, cosa impossibile nel caso di software closed.

La differenza tra software chiuso e software aperto può essere vista come la differenza tra comprare una torta industriale senza sapere cosa c'è dentro (ok, ci può essere un'etichetta più o meno precisa sugli ingredienti, ma chi ci dice che sia veritiera? E anche se fosse, nessuno ci dice come è stata fatta questa torta... conoscere gli ingredienti non basta) e conoscere la ricetta con relativi ingredienti e il procedimento di preparazione.
Quale dei due casi voi definireste più "sano" e più "affidabile"? La torta industriale va comprata (come il software chiuso), fidandosi dell'etichetta (come il software chiuso), senza sapere cosa effettivamente ci sia dentro e come effettivamente sia stata fatta (come il software chiuso). La "torta della nonna", invece, è molto più sana perché hai a disposizione la ricetta (come il software aperto), la puoi modificare (se non ti piace con le mandorle puoi metterci le nocciole...), etc. Insomma con la torta ci fai quel che vuoi, la modifichi come vuoi. Ovviamente dopo non si potrà più chiamare torta della nonna, ma dovrà chiamarsi torta del nipote sulla base della torta della nonna (anche col software aperto possono verificarsi casi simili).

Ecco qualche esempio di software open e di corrispettivo software closed (tutti disponibili per vari sistemi operativi: Windows, GNU/Linux, MacOS): Mozilla Firefox (Microsoft Internet Explorer™ oppure Opera™ ), Mozilla Thunderbird (Microsoft Outlook™ ), OpenOffice.org (Microsoft Office™ ), The GIMP (Adobe Photoshop™ ). Tra questi, sicuramente, ne avrete riconosciuto qualcuno che usate quotidianamente :-) .

Differenze tra Free Software e software Freeware

In inglese la parola "free" significa sia "gratuito" che "libero".
Nel caso del Free Software la parola free significa libero: si pone l'accento sulla libertà piuttosto che sulla gratuità. Richard Matthew Stallman, fondatore della Free Software Foundation (FSF), ha definito le 4 libertà fondamentali che dovrebbero sempre avere gli utilizzatori di software:

  • libertà 0: libertà di eseguire il programma, per qualsiasi scopo;
  • libertà 1: libertà di studiare come funziona il programma e adattarlo alle proprie necessità. L'accesso al codice sorgente ne è un prerequisito.
  • libertà 2: libertà di ridistribuire copie in modo da aiutare il prossimo.
  • libertà 3: libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti (e le versioni modificate in genere), in modo tale che tutta la comunità ne tragga beneficio. L'accesso al codice sorgente ne è un prerequisito.

È sufficiente che anche una sola di queste libertà non sia soddisfatta e il software non potrà essere definito Free Software.

Un programma Freeware, invece, è semplicemente gratuito. Il suo codice sorgente non viene quasi mai reso disponibile e non si ha nemmeno la possibilità nè la libertà di studiarne il funzionamento interno.
In questa categoria rientra, ad esempio, il browser internet Opera che si può definire freeware (è gratuito), ma non Free Software (non valgono le 4 libertà di cui sopra).
Purtroppo la (relativa tutto sommato) ambiguità della lingua inglese non aiuta a farsi un'idea precisa, e spesso c'è disinformazione in merito.

Differenze tra Free Software e Open Source

Cosa distingue quindi un programma Free Software da uno Open Source?
La differenza è sottile ma sostanziale. In ambedue i casi è necessario avere accesso al codice sorgente (sono tutti e due a codice "aperto"), ma mentre il Free Software punta l'accento sulle 4 libertà e ne fa anche una causa filosofica e morale molto importante, i sostenitori dell'Open Source danno maggiore attenzione al fatto che sia disponibile il codice sorgente e ai vantaggi pratici della collaborazione di programmatori sparsi in tutto il mondo per creare software sempre migliore.
È una visione più pragmatica e meno profonda dal punto di vista morale.
Tutto il Free Software è anche Open Source (per essere definito Free Software deve essere pubblico il codice sorgente e quindi è anche Open Source), ma non tutto il software Open Source si può definire Free Software.

Conclusioni

Bene, che dire dopo questa piccola introduzione all'argomento software chiuso/software aperto, Free Software e Open Source/Freeware?
Io direi che la cosa importante è informarsi e sapere che le alternative esistono, sapere che non si è obbligati a usare tutti lo stesso sistema operativo o lo stesso programma.

Bisognerebbe sapere che per utilizzare legalmente la stragrande maggioranza del software proprietario, bisogna "acquistarlo" (spesso costa parecchi soldi). Se questo non succede (come nel caso di copie non autorizzate) si commette un reato. Si viola la licenza d'uso.

Si dovrebbe anche riflettere, poi, su alcune semplici domande: "Come funziona?", "Viola la nostra privacy?", "Come si comporta con le nostre password?", "Tiene traccia delle nostre abitudini di navigazione su internet?", "Le nostre email vengono lette da occhi indiscreti?", "I file salvati con la versione attuale del programma saranno nello stesso formato anche tra 2 anni oppure la software house ci obbligherà ad aggiornare il programma alla nuova versione spendendo altri soldi?".

A tutte queste domande non esiste una risposta certa poiché manca l'accesso al codice sorgente. In più non ci sono garanzie che, in futuro, il programma manterrà la compatibilità con le sue versioni più vecchie.
Fortunatamente esiste anche l'altra metà della luna, basta guardarsi un po' intorno... :-).

Links

Vari link di Wikipedia da cui iniziare la ricerca personale: