Che cos'è il Software Libero

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, di cui i principali sono:

  • gli autori precedenti del software devono essere menzionati anche nelle versioni modificate, lasciando intatto il loro copyright;
  • 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.

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.