Il software libero è ancor più necessario che mai

Richard Stallman

gnu e pinguino

Una versione ridotta di questo articolo è stata pubblicata su Wired 1


Sono passati ormai 30 anni dalla nascita del movimento per il software libero, il cui obiettivo è promuovere software che tuteli la libertà dell'utenza e della comunità. Questo software viene denominato «libero» (in riferimento alla libertà e non al prezzo) 2. Alcuni programmi proprietari come Photoshop sono eccessivamente costosi, altri come Flash sono gratuiti; a prescindere, in entrambi i casi l'utente viene sottomesso al controllo del produttore del software.

Parecchie cose sono cambiate da quando abbiamo cominciato. Nei paesi ricchi del mondo chiunque possiede un computer (a volte chiamati «telefonini») con cui collegarsi a Internet. Il software proprietario impone il proprio controllo inserendo funzionalità nascoste, e gli utenti sono completamente ignari di esse. E' possibile inoltre perseguire questo scopo anche attraverso i nuovi modelli SaaSS (Service as a Software Substitute), ovvero «Servizio Surrogato del Software» che permette a un computer esterno di eseguire funzioni sul tuo dispositivo.

Sia il software proprietario che i SaaSS, possono spiare, imprigionare e perfino attaccare i propri utenti. I frequenti abusi nei servizi e prodotti software proprietari sono possibili proprio perché gli utenti non hanno alcun controllo. Infatti, questa è la discriminante fondamentale: tanto il software proprietario qaunto i SaaSS sono sotto il controllo esclusivo (spesso di aziende o dello Stato). Mentre il software libero, al contrario, lascia in mano a tutti i propri utenti questo potere.

Il Controllo

Perché il controllo è così importante? Perché la libertà implica poter assumere il controllo della propria vita. Impiegando un software per svolgere delle attività attinenti alla propria vita, la libertà dipenderà esclusivamente dal controllo che è possibile esercitare. Meriti d'avere tutto il controllo sui programmi che utilizzi, soprattutto se vengono impiegati per realizzare dei compiti a te indispensabili.

Affinchè l'utenza possa assumere il controllo dei programmi impiegati sono indispensabili quattro libertà essenziali. 3

  1. Libertà di eseguire il programma come si desidera, per qualsiasi scopo.

  2. Libertà di studiare il codice sorgente del programma e di modificarlo in modo da adattarlo alle proprie necessità. I programmatori scrivono il codice in un determinato linguaggio (qualcosa di simile all'inglese combinato con l'algebra): il «codice sorgente». Chiunque sia in grado di programmare e abbia a propria disposizione il codice sorgente può leggerlo, comprenderne il funzionanmento e dunque modificarlo. Invece, quando si ha unicamente a disposizione il programma come eseguibile binario (cioè, una lista di numeri comprensibile dal computer, ma difficilmente decifrabile per noi umani), capirlo e modificarlo a piacere diventa un compito alquanto complesso.

  3. Libertà di ridistribuire copie del programma, se lo si desidera. Non è un obbligo, ma una possibilitá. Un software libero non implica la necessità di farne o riceverne copie. Ma distribuire programmi senza queste libertà essenziali è un affronto all'utente. Ovviamente se ne si fa un uso semplicamente privato, senza presenza di copie, si rispetta comunque la libertá e non si arreca alcun danno.

  4. Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti apportati.

Le prime due libertà garantiscono ad ogni utente la possibilità di controllare individualmente il software. Le altre invece, permettono a un qualunque gruppo di utenti di controllare collettivivamente l'uso del software. L'insieme delle quattro libertà permette il controllo completo sul programma. Se una di queste libertà viene meno o viene modificata il programma non è libero, diviene proprietario e quindi ingiusto.

In diversi ambiti pratici sono impiegate anche opere dell'ingegno di vario genere, ad esempio: ricette di cucina, materiale didattico (libri di testo, manuali, dizionari ed enciclopedie), font, circuiti per la produzione hardware, oppure stampanti 3D per la manifattura di oggetti (non necessariamente ornamentali). Anche se tutte queste e molte altre non appartengono alla categoria del software, il movimento del software libero tenta di racchiudere anche questo vasto insieme, applicando su di esse lo stesso ragionamento di base e arrivando alla stessa conclusione: tutte queste opere devono garantire le quattro libertà essenziali.

Il software libero permette di sperimentare e modificare un programma, perchè si adatti ai nostri bisogni (oppure di eliminare quanto non ci interessa). Modificare il software può risultare fuori luogo per chi è abituato alle scatole chiuse del software proprietario, ma nel mondo del software libero è consuetudine, inoltre rappresenta un ottimo modo per imparare a programmare. Persino il passatempo di aggiustare le proprie automobili, usanza comune in vari paesi, viene ostacolato dall'utilizzo di software proprietario all'interno dei veicoli.

L'ingiustizia dell'esclusività

Se le persone non controllano il programma, è il software a controllarle.

Nel caso del software proprietario, esiste sempre un'entità (il «proprietario») che controlla il programma, attraverso il quale esercita il proprio potere e decide come e chi dovrà utilizzarlo. Un programma non libero è fonte di oppresssione, di ingiustizia.

Nei casi estremi (ormai quasi normali), il codice proprietario è progettato per spiare, limitare, censurare o abusare degli utenti 4. Strategia messa in atto, ad esempio, dalla famiglia Ios 5 di Apple e dai dispositivi mobili Windows con processori ARM.

I firmware dei telefonini, il navigatore Google Chrome per Windows e lo stesso sistema operativo, includono una backdoor universale che permette all'azienda di modificare programmi in modalità remota senza bisogno di permessi. Il Kindle di Amazon permette la cancellazione dei libri tramite un'apposita backdoor.

Per mettere fine all'ingiustizia del software proprietario, il movimento per il software libero sviluppa programmi liberi per garantire agli utenti le proprie libertà. Il movimento nasce con lo sviluppo del sistema operativo libero GNU nel 1984. Ad oggi, milioni di computer funzionano con GNU 6 , principalmente con la combinazione GNU/Linux 7.

Distribuire programmi senza concedere le dovute libertà, significa vessare e abure degli utenti. La non distribuzione, invece, non arreca alcun danno. Certo, se scrivi un software e lo usi solo per te non stai facendo male, al massimo sprechi la possibilità di fare del bene, aiutando qualche altra persona che ne avrebbe bisogno, cosa che però è ben diversa da far del male. Quindi, quando affermiamo che tutto il software dovrebbe essere libero, intendiamo che tutte le copie di un programma messe a disposizione di altri dovrebbero concedere le quattro libertà essenziali, ma non che tutti coloro che sviluppano programmi debbano concedere obbligatoriamente copia ad altre persone.

Software proprietario e SaaSS

Il software proprietario è stato il principale mezzo impiegato dalle aziende per controllare le attività informatiche delle persone. Oggi tale controllo viene spesso imposto attraverso i servizi chiamati SaaSS (Service as a Software Substitute), tradotto in italiano sarebbe «Servizio come Surrogato del Software», ovvero un servizio che permetta a un computer esterno di eseguire alcuni compiti sui quali non abbiamo assolutamente il controllo.

Anche se di solito i programmi sui server fornitori di SaaSS sono proprietari, questi servizi possono anche includere o essere interamente progettati utilizzando software libero. Purtroppo, l'utilizzo in sé dei SaaSS riporta alle ingiustizie connesse all'utilizzo del software proprietario: sono due strade che conducono alla stessa pessima conclusione. Si consideri, per esempio, un SaaSS per le traduzioni: l'utente invia una o varie frasi al server, il server traduce (per esempio dall'inglese all'italiano) e poi rimanda il testo tradotto all'utente. In questo modo, il compito di traduzione è sotto il controllo dell'amministratore del server e non dell'utente.

Se utilizzi un servizio SaaSS, chi gestisce il server controlla anche le tue attività informatiche. Tutti le richieste e i dati relativi sono affidati al gestore dell'infrastruttura, che un giorno potrebbe essere costretto a fornire tale informazioni allo Stato o a terzi; quindi una domanda sorge spontanea: chi sta servendo veramente questo servizio? 8

Ingiustizie primarie e secondarie

Impiegare programmi proprietari o SaaSS e' un problema per tutti, poiché si permette ad altri di esercitare un potere ingiusto su di noi. Per il proprio bene si dovrebbe evitarne l'uso. Se un singolo utente acconsente alla "non condivisione", danneggia anche gli altri. Accettare questo tipo di compromesso è un male, smettere è il meno peggio, ma la cosa giusta è non iniziare affatto.

Ci sono situazioni in cui l'uso del software proprietario incoraggia altre persone a farne uso. Skype è un chiaro esempio: se qualcuno impiega il loro client, forza altre persone a farne uso a discapito delle proprie libertà. Anche Google Hangouts presenta lo stesso problema. È del tutto sbagliato proporre software di questo genere. Dobbiamo rifiutarci di utilizzare questi programmi, anche occasionalmente, perfino nei computer altrui.

Riassumendo, si può dire che l'impiego di programmi proprietari e SaaSS favorisca l'oppressore, lo aiuti nella propaganda, ne promuova la crescita e spinga sempre più persone a sottostare al dominio di un'unica azienda. Nel caso un cui l'utente corrisponda a un ente pubblico o una scuola, i danni indiretti in tutte le forme possibili raggiungono una dimensione maggiore.

Il software libero e lo Stato

Gli enti pubblici sono stati concepiti per i cittadini, e non come istituzioni indipendenti. Pertanto, anche nelle loro funzioni informatiche, fanno le veci dei cittadini e delle cittadine. Hanno dunque il dovere di mantenere il totale controllo su tali compiti al fine di garantire la loro corretta esecuzione. È questa, infatti, la "sovranità informatica" dello Stato. Proprio per questo nessun ente dovrebbe delegare o far svolgere da imprese private il proprio ruolo. Per avere un totale controllo delle mansioni informatiche svolte a favore dei cittadini, gli enti pubblici non dovrebbero impiegare software proprietario (software sottoposto al controllo di entità non statali).

Delegare lo svolgimento di tali compiti a un servizio esterno sviluppato e eseguito su piattaforme non interne alle strutture statali sarebbe comunque sbagliato, ricadrebbe nell'utilizzo di SaaSS e non permetterebbe il controllo di quanto accade. Il software proprietario non offre protezione alcuna contro una minaccia fondamentale: il proprio sviluppatore, che potrebbe facilitare l'attacco da parte di terzi. La Microsoft, prima di correggere gli errori di Windows, li comunica alla NSA, l'agenzia di intelligence del governo degli Stati Uniti 9. Non sappiamo se Apple faccia lo stesso, ma è sicuramente sottoposta, come Microsoft, a pressioni da parte dello Stato.

Software libero e l'educazione

Le scuole (e tutte le istituzioni operanti nel campo dell'educazione) influiscono sul futuro della società tramite i loro insegnamenti. Nel campo informatico, per garantire un'influenza positiva, le scuole dovrebbero insegnare unicamente software libero. Insegnare l'uso di un programma proprietario equivale a imporre la dipendenza da esso, azione del tutto contraria alla missione educativa. Incentivando l'uso di software libero tra gli studenti, le scuole indirizzeranno il futuro della società verso la libertà, e contribuiranno alla formazione di programmatori di talento.

In questo modo le scuole abituerebbero inoltre gli studenti alla cooperazione e all'aiuto reciproco. Le scuole, cominciando dalle elementari, dovrebbero dire agli studenti: «Cari studenti, questo è un luogo dove si condivide il sapere. Se porti a scuola del software devi dividerlo con gli altri bambini. Devi mostrare il codice sorgente ai compagni, se qualcuno vuole imparare. Quindi è vietato portare a scuola software proprietario se non per studiare come funziona ai fini di poterlo riprodurre».

Sottostando agli interessi degli sviluppatori di software proprietario, gli studenti non potrebbero né acquisire l'abitudine di condividerlo né sviluppare le capacità per modificarlo, seppure fossero curiosi e interessati. Si tratta di una pessima formazione dal punto di vista accademico. Nella sezione GNU Education 10 è possibile trovare informazione dettagliate sull'uso di software libero nelle scuole e nelle istituzioni educative.

Software libero: molto più che «vantaggioso»

Molto speso mi viene chiesto di descrivere i «vantaggi» associati al software libero. Il termine «vantaggio» però è del tutto insignificante quando si parla di libertà. La vita senza libertà è tirannia, e questo si applica tanto all'informatica quanto al resto delle attività umane. Dobbiamo rifiutarci di concedere il controllo della nostra vita informatica ai proprietari di programmi o servizi. È la cosa giusta da fare, sia che avvenga per semplice interesse personale, oppure no.

La libertà implica la possibilità di cooperare con altri. Negare tale libertà significa voler isolare le persone, il che porta unicamente ad opprimerle. Nella comunità del software libero siamo molto consci dell'importanza della libertà di cooperare, appunto perché il nostro lavoro corrisponde a una cooperazione organizzata. Se un conoscente viene a trovarti e ti vede usare un programma, potrebbe chiederti una copia. Qualunque programma che impedisca la libera distribuzione, o ti imponga l'obbligo di non cooperare, è antisociale.

In informatica, la cooperazione implica la distribuzione della stessa copia di un programma fra diversi utenti, ma anche la distribuzione dell'eventuali versioni modificate. Il software libero promuove queste forme di cooperazione, mentre quello proprietario le vieta. Anche il SaaSS impedisce di cooperare: se deleghi una certa funzionalità a un servizio web custodito nel cloud o in un server esterno, realizzata da un programma esterno, non puoi nè vedere nè toccare il software usato, di conseguenza non puoi né distribuirlo liberamente né modificarlo.

Conclusioni

Tutti noi meritiamo di avere il controllo della nostra vita informatica. Come possiamo ottenerlo? Rifiutandoci di impiegare software proprietario sui nostri computer o quelli che usiamo più di frequente. Rifiutando i servizi SaaSS Sviluppando software libero 11. Rifiutando di sviluppare o promuovere software proprietario o SaaSS e diffondendo queste idee 12.

Noi, e altri migliaia di utenti, continuiamo a farlo sin dal 1984, e grazie a questo sforzo oggi abbiamo il sistema operativo libero GNU/Linux, che tutti (sviluppatori e utenti), possono modificare, distribuire e utilizzare. Unitevi alla nostra causa, come programmatori o come attivisti. Facciamo in modo che tutti gli utenti di computer siano liberi!


Richard Matthew Stallman

Programmatore statunitense e fondatore del movimento per il software libero nel mondo. All'interno del progetto GNU ha lavorato alla realizzazione dell'editor di testo Emacs, il compilatore GCC e il debugger GDB. Noto principalmente per lo sviluppo del quadro di riferimento morale, politico e legale del movimento del software libero, quale alternativa di sviluppo e distribuzione al software proprietario. È stato anche l'inventore del concetto di CopyLeft (anche se non del termine). Un metodo per concedere in licenza il software garantendo che tanto l'utilizzo, come le ulteriori modifiche, rimangano libere e sempre a portata della comunità di utenti e sviluppatori.


NOTE

1. http://www.wired.com/opinion/2013/09/why-free-software-is-more-important-now-than-ever-before
2. In inglese, il termine «free» può significare «libero» oppure «gratuito».
3. https://gnu.org/philosophy/free-sw.html
4. https://gnu.org/philosophy/proprietary.html
5. Presso da «iThings», termine dispregiativo per fare riferimento ad aggeggi tipo iPod, iPad, iPhone, ecc.
6. http://gnu.org/gnu/the-gnu-project.html
7. http://gnu.org/gnu/gnu-linux-faq.html
8. https://gnu.org/philosophy/who-does-that-server-really-serve.html
9. www.arstechnica.com/security/2013/06/nsa-gets-early-access-to-ze-ro-day-data-from-microsoft-others
10. http://www.gnu.org/education
11. https://gnu.org/licenses/license-recommendations.html
12. https://gnu.org/help

results matching ""

    No results matching ""