Fondamenti

Le Quattro Libertà del Software Libero

Quando parli di Software Libero parli di libertà. Più precisamente, parli delle libertà di usare, studiare, condividere e migliorare il software. Grazie ad una analogia con una ricetta, diventa abbastanza chiaro come funzionano tali libertà e perché è importante che il codice sorgente di un software sia disponibile a chiunque.

Ipotizziamo di voler preparare una zuppa. Davanti a noi abbiamo la ricetta e gli ingredienti. Abbiamo la libertà di usare la ricetta per qualsiasi scopo: possiamo cucinare per cena a casa o a casa di amici, in vacanza, in un paese straniero. Ciò è quello che si intende con la prima libertà: uso illimitato per qualsiasi scopo.

Ora prendiamo la ricetta e leggiamo quali ingredienti sono necessari. Nella nostra metafora la ricetta della zuppa è il codice sorgente del software. Senza il codice sorgente non posso capire il software, esattamente come non posso preparare una zuppa senza avere accesso alla ricetta. Questo è il significato della seconda libertà: ho bisogno del diritto di studiare come funziona un software e di capirlo. Non mi è di alcuna utilità avere una confezione di zuppa la cui composizione non è chiara e la cui ricetta è tenuta segreta.

Per continuare la nostra metafora possiamo anche immaginare che cucinare solo per me mi renda triste. Ho la libertà di invitare alcuni amici per cena, o di portargli la mia zuppa quando sono invitato, o addirittura di dar loro la mia ricetta affinché possano gustare la zuppa anche se sono assente. I miei amici possono anche copiare la mia ricetta e darla ai loro amici... Questa è la terza libertà: il diritto di condividere copie del programma aiutando, con questo gesto, le persone.

Un ulteriore passo è osservare che la mia zuppa, anche se la ritengo buona, potrebbe essere migliore. Nella ricetta ci sono alcuni suggerimenti come l'aggiungere un po' di prezzemolo, ma il prezzemolo non mi piace: provo con il basilico. Preparo la zuppa e trovo che abbia un gusto migliore. Allora prendo la mia copia personale della ricetta e la modifico: cancello "prezzemolo" e scrivo al suo posto "basilico". Quando un amico mi chiede la mia ricetta gli do la nuova versione modificata. Questa è la quarta libertà: la libertà di migliorare il codice sorgente e di distribuire i miglioramenti, cosicché tutti possano beneficiarne. Poiché sono autorizzato a fare ciò, anche la zuppa dei miei amici ha un sapore migliore. O forse anche loro vorranno aggiungere un altro ingrediente, diciamo della crema, così modificheranno la loro copia della ricetta. Le cose funzionano in questo modo da quando la cucina è stata inventata. Le persone non hanno cucinato il primo tacchino della storia riempiendolo di arance, cavolo rosso e semi di cardamomo, ma piuttosto lo avranno cucinato arrosto insieme ad un cervo su di un falò. Se nessuno ha il diritto di rivelare come rendere le cose migliori, probabilmente staremmo ancora mangiando cervo arrosto con tacchino crudo o qualcosa del genere. Pessima idea.

Appare del tutto ovvio il fatto di essere autorizzato a dar via una ricetta o una zuppa o perfino di migliorarla. Se questa stessa logica la trasferiamo al software, possiamo facilmente capire che nel caso di software proprietario non sono né autorizzato a copiare né a condividere il software: farlo è illegale. Non sono autorizzato ad aiutare le persone.

Se pensi che per te queste libertà siano di di poco interesse, poiché non programmi, per favore rifletti su questa cosa: anche se non sei in grado di farlo da solo, queste libertà danno la possibilità, a coloro che possono programmare meglio di quanto non riesca tu, di risolvere i problemi per te. Ad ogni modo, senza l'accesso al codice sorgente tutto ciò rimane impossibile.

Altri Collegamenti

Questa spiegazione esiste anche in formato video, allo Spettacolo della Conoscenza Libera (Show des freien Wissens) (430 MB, OGV, in tedesco)