Software libero: cos’è, com’è nato e quali sono le differenze con il software proprietario

Software libero: cos’è, com’è nato e quali sono le differenze con il software proprietario

Ancora oggi molti utenti non comprendono bene la differenza fra software proprietario e software libero, dove libero non vuol dire necessariamente “gratuito”. Secondo la celebre definizione di Richard M. Stallman, fondatore libertario e anarcoide della Free Software Foundation negli anni ‘80, un free software, per essere tale deve permettere 4 libertà fondamentali:

  • libertà di eseguire il programma per qualsiasi scopo, anche commerciale;
  • libertà di studiare il programma e di modificarlo;
  • libertà di copiare e distribuire il programma,
  • libertà di migliorare il programma.

Per far sì che le quattro libertà vengano rispettate è necessario che venga messo a disposizione dell’utente il cosiddetto “codice sorgente”, vale a dire il file di testo contenente, in un determinato linguaggio di programmazione (ad esempio il C), le istruzioni scritte dal programmatore. Tali istruzioni saranno successivamente convertite, “compilate” in gergo tecnico, in codice binario da un apposito programma di traduzione che renderà il file “eseguibile” dalla macchina. La caratteristica principale del software libero è, quindi, il fatto che venga distribuito, gratuitamente o a pagamento, insieme al codice sorgente, cosa che al contrario non avviene nel caso di software proprietari come quelli detenuti da Apple e Microsoft. Modificare il source code di un software proprietario protetto da licenza è un’operazione illegale e perseguibile per legge. Vietato è anche il “reverse engineering”, ovvero la modifica di un programma agendo direttamente sul file eseguibile, operazione non impossibile ma complessa dal momento che, come abbiamo detto, una volta convertito il file di testo in file eseguibile avremo sul video solo stringhe di numeri in codice binario.

Il software libero non è affatto un’innovazione, ma ha radici ben lontane. Come racconta Luciano Paccagnella, nel suo libro Open Access, negli anni ’70 lo sviluppo di un software avveniva con modalità cooperative, nel senso che il codice sorgente era fatto circolare tranquillamente fra gli addetti ai lavori. È in questo contesto che cominciano a ingegnarsi programmatori come Richard Stallman (GNU/Linux), Steve Wozniak (Apple) e Bill Gates (Microsoft), personaggi che pur non condividendo la stessa filosofia sono rimasti impressi nell’immaginario comune. Mentre Stallman sarà l’ideatore dell’odierna etica hacker per la creazione di una società libera partendo dalla distribuzione di software liberi, Wozniak e Gates andranno a fondare due delle aziende produttrici di software proprietari più importanti della Storia. Sarà proprio un giovane Gates, in una lettera datata 3 febbraio 1976, a reclamare la fine delle pratiche di diffusione libera del software, proponendo l’istituzione di una classe di programmatori professionisti. È da quel momento che, nella percezione comune, il software cessa di essere libero, “aperto” e diventa chiuso, commerciale, come se si acquistasse un’automobile.

Il progetto GNU di Stallman, che nel 1984 si licenzia dal MIT, nasce allora come alternativa ai software proprietari. Il manifesto di Stallman recita: «Una volta scritto GNU ognuno potrà avere del buon software, così come può avere l’aria. […] I sorgenti saranno a disposizione di tutti. Gli utenti non saranno più in balia di un’impresa che, avendo la proprietà esclusiva dei sorgenti, sia la sola a poter fare le modifiche». GNU, che rimane senza un kernel, cioè il nucleo del sistema operativo, trova la sua piena espressione nel 1991, quando uno studente finlandese, Linus Torvald, presenta alla comunità hacker il suo sistema operativo Linux. Linux, con l’aiuto di altri programmatori, si trasforma ben presto in un prodotto user friendly, candidandosi ad essere un degno concorrente di Windows e MacOS.

Un errore in cui si incorre spesso è quello di considerare il software libero privo di copyright. In realtà, il suo utilizzo è disciplinato da un’apposita licenza, detta GNU/GPL (General Public License) elaborata dalla stessa Free Software Foundation. Tale licenza, oltre a decretare che l’utente ha il diritto di esercitare le quattro libertà fondamentali del free software, stabilisce, ribaltando il meccanismo del diritto d’autore, che qualunque software derivato da un programma GNU/GPL deve a sua volta essere rilasciato sotto la stessa licenza. Un simile uso rovesciato del copyright è detto “copyleft”, tradotto in italiano con “permesso d’autore”. Il software libero, infine, non va confuso con il freeware e lo shareware. Il primo è semplicemente un programma gratuito, di cui il programmatore detiene i diritti. Copiarlo o modificarlo costituisce un reato. Il secondo è sì un software gratuito, ma solo per un determinato arco di tempo, solitamente 30 giorni di prova, dopo i quali va acquistata la licenza completa.