il free software

Il software libero è software rilasciato 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.

La parola libero non implica la possibilità di utilizzare il software libero 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 rilasciato 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 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

praticamente....

Secondo Richard Stallman e la Free Software Foundation da lui fondata, un software per poter essere definito libero deve garantire quattro "libertà fondamentali":

  • Libertà di eseguire il programma per qualsiasi scopo (chiamata "libertà 0")
  • Libertà di studiare il programma e modificarlo ("libertà 1")
  • Libertà di copiare il programma in modo da aiutare il prossimo ("libertà 2")
  • Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio ("libertà 3")