soberania_tecnologica_v1/it/pre_requisiti/01_sistemi_operativi_liberi.md

17 KiB

Il software libero è ancor più necessario che mai

##Richard Stallman

gnu e pinguino

Una versione ridotta di questo articolo è stata pubblicata su Wired. Sono passati ormai 30 anni dalla nascita del movimento per il software libero, il cui obiettivo è quello di promuovere software che tuteli la libertà dell'utenza e della comunità. Questo software viene denominato «libero» (in riferimento alla libertà e non al prezzo1). Taluni programmi proprietari come Photoshop sono eccessivamente costosi, altri come Flash Player sono gratuiti; a prescindere, in entrambi i casi l'utente viene sottomesso al controllo del produttore del software.

Parecchie cose sono cambiate dalla nascita del movimento. Nei paesi sviluppati del mondo odierno chiunque possiede un computer (a volte chiamati «telefonini») con cui collegarsi a Internet. Da una parte, il software proprietario continua imponendo il controllo altrui sui compiti informatici dei diversi utenti, dall'altra però, è ora possibile imporre tale controllo anche attraverso il «servizio come surrogato del software», ovvero Service as a Software Substitute (SaaSS), che permette a un server altrui di eseguire tali compiti.

Entrambi, software proprietario e SaaSS, possono spiare, incatenare e perfino attaccare i loro utenti. I frequenti abusi nei servizi e prodotti del software proprietario sono possibili proprio perché gli utenti non hanno nessun controllo su di essi. Infatti, questa è la differenza fondamentale: tanto il software proprietario come i SaaSS sono sotto il controllo altrui (spesso corporazioni oppure lo Stato). Mentre il software libero, al contrario, offre in mano a tutti i suoi utenti tale potere.

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 tua vita, la tua libertà dipenderà esclusivamente dal controllo che puoi esercitare su di esso. 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.

  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 i programmi in un determinato linguaggio di programmazione (qualcosa di simile all'inglese combinato con l'algebra), cosa che viene denominata «codice sorgente». Chiunque sia in grado di programmare e abbia a sua disposizione il codice sorgente del programma può leggere tale codice, capire i suoi meccanismi e dunque modificarlo. Invece, quando si ha unicamente a disposizione il programma come eseguibile binario (cioè, una lista di numeri eseguibili dal computer, ma difficilmente decifrabile per noi umani), capire il programma e modificarlo a piacere diventa un compito al quanto complesso.

  3. Libertà di ridistribuire copie del programma in modo da aiutare il prossimo. Questo ovviamente non è in assoluto obbligatorio. Che il programma sia libero non implica che uno è costretto a facilitare delle copie oppure che siano facilitate a noi. Mentre distribuire programmi senza le dovute libertà è un affronto verso l'utenza, la non distribuzione e l'uso privato di essi non rappresenta nessun danno altrui.

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

Le due prime libertà garantiscono ad ogni utente la possibilità di esercitare individualmente il controllo sul programma. Le altre due invece, permettono a un qualunque gruppo di utenti esercitare un controllo collettivo su di esso. L'intero insieme delle libertà permettono che l'utenza assuma tutto il controllo sul programma. Se qualcuna di queste libertà manca, o non sono attendibili, il programma risulta dunque proprietario/privativo (non libero) e quindi iniquo.

In diverse ambiti pratici vengono impiegate anche opere di vario genere, tipo ricette di cucina; materiale didattico (libri di testo, manuali, dizionari ed enciclopedie); tipi di caratteri; diagrammi circuitali per la produzione hardware; oppure stampanti 3D per la manifattura di oggetti funzionali (non necessariamente ornamentali). Anche se tutte queste ed altre opere non appartengono alla categoria del software, il movimento del software libero tenta di accogliere questo vasto insieme in senso lato, cioè applicando su di esse lo stesso ragionamento di base e raggiungendo la stessa conclusione: tutte queste opere devono garantire le quattro libertà essenziali.

Il software libero permette di smanettare e aggiungere delle modifiche a un determinato programma, così da fargli realizzare quel che a noi serve (oppure di farlo smettere di fare ciò che a noi non interessa). Smanettare il software può risultare fuori luogo per chi è abituato alle scatole chiuse del software proprietario, ma nel mondo del software libero è consuetudine, nonché rappresenta un ottimo modo per imparare a programmare. Persino il passatempo di aggiustare le proprie macchine, usanza nei paesi nordamericani, viene ostacolato dal fatto che ora le vetture portano all'interno del software proprietario.

L'ingiustizia del privativo

Se gli utenti non controllano il programma, è il software a controllare loro. Nel caso del software proprietario, esiste sempre un'entità (il «proprietario» del programma) che controlla il programma, tramite il quale usa il suo potere a discapito degli utenti. Un programma che non è libero è dunque oppressore, uno strumento di potere ingiusto.

Nei casi estremi (ormai diventati consueti), i programmi privativi sono progettati per spiare, limitare, censurare e approfittarsene dei loro utenti. Cosa che vien fatta, ad esempio, dal sistema operativo degli i-cosi2 di Apple e anche 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 a una certa azienda di modificare programmi in modalità remota senza bisogno di permessi. Il Kindle di Amazon permette la cancellazione dei libri tramite un'apposita backdoor.

Col proposito di finire con l'ingiustizia del software proprietario, il movimento per il software libero sviluppa programmi liberi così da garantire agli utenti le proprie libertà. Movimento che nasce con lo sviluppo del sistema operativo libero GNU nel 1984. Ad oggi, milioni di computer funzionano con GNU, principalmente con la combinazione GNU/Linux.

Distribuire programmi senza concederne le dovute libertà, implica un maltrattamento verso gli utenti. La non distribuzione di un programma, invece, non genera danni per nessuno. Cioè, se scrivi un software e l'usi privatamente non è un affronto per nessuno. In quel caso, sprechi la possibilità di favorire qualcun altro, cosa che però è ben diversa da fargli del male. Quando affermiamo che tutto il software deve essere libero, intendiamo che tutte le copie di un programma messe a disposizione ad altri devono concedere le quattro libertà essenziali, e non che tutti coloro che sviluppano programmi devono concedere obbligatoriamente delle copie in giro ad altre persone.

Software proprietario e SaaSS

Il software proprietario è stato il primo mezzo impiegato dalle aziende per prendersi il controllo dei compiti informatici delle persone. Oggi tale controllo viene anche imposto attraverso il «servizio come surrogato del software», ovvero Service as a Software Substitute (SaaSS), che permette a un server altrui di eseguire tali compiti.

Anche se di solito i programmi all'interno dei server fornitori di SaaSS sono proprietari, tali server possono anche includere o essere interamente progettati utilizzando software libero. Purtroppo, l'utilizzo in sé dei SaaSS provoca le stesse ingiustizie inerenti all'utilizzo del software proprietario: sono due percorsi che portano alla stessa cattiva fine. 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 reinvia il testo tradotto all'utente. In questo modo, il compito di traduzione è sotto il controllo dell'amministratore del server e non dell'utente.

Se usi un SaaSS, chi controlla il server controlla anche i tuoi compiti informatici. Ciò implica affidare tutti i dati necessari all'amministratore del server, che può essere costretto a fornire tale informazioni allo Stato o a terzi; <commento: a chiunque vogliano, non solo lo stato> quindi, a chi serve veramente tale servizio?

Ingiustizie primarie e secondarie

Impiegando programmi privativi o SaaSS si provoca un danno, poiché concedi ad altri un potere iniquo su te. Per il proprio bene si dovrebbe evitarne l'uso. Se l'utente acconsente di "non condividere" si danneggiano anche gli altri. Accettare questo tipo di compromesso è un male, smettere è meno peggio, ma per essere sinceri, 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. Infatti, dobbiamo rifiutarci di utilizzare questi programmi, anche per pochi istanti, perfino nei computer di altri individui.

Riassumendo, si può dire che l'impiego di programmi privativi e SaaSS consente di: propagarli, promuovere lo sviluppo di tale programma o «servizio» e forzare sempre più persone a sottostare al dominio della azienda proprietaria. Nel caso un cui l'utente corrisponde a un ente pubblico o una scuola, i danni indiretti -in tutte le sue forme- raggiungono maggiori proporzioni.

Il software libero e lo Stato

Gli enti pubblici sono stati concepiti per i cittadini, e non come istituzioni a sé stanti. Per tanto, tutti i compiti informatici che svolgono, li svolgono facendo le veci dei cittadini. Hanno dunque il dovere di mantenere il totale controllo su tali compiti ai fini di garantire la loro corretta esecuzione in beneficio dei cittadini. È questa, infatti, la sovranità informatica dello Stato. Motivo per cui nessun ente deve mai permettere che il controllo dei compiti informatici dello Stato venga delegato a interessi privati.

Per avere un totale controllo delle mansioni informatiche svolte a favore dei cittadini, gli enti pubblici non devono impiegare software proprietario (software sottoposto al controllo di entità non statali). Neppure devono delegare lo svolgimento di tali compiti a un servizio programmato ed eseguito da entità non attinenti allo Stato, poiché in questo modo farebbero uso di SaaSS. Il software proprietario non offre protezione alcuna contro una minaccia fondamentale: il suo sviluppatore, che potrebbe facilitare terzi a portare a compimento un attacco. Prima di correggere gli errori di Windows, Microsoft li fornisce a alla NSA, la agenzia di spionaggio digitale del governo degli Stati Uniti (si veda a proposito www.arstechnica.com/security/2013/06/nsa-gets-early-access-to-ze-ro-day-data-from-microsoft-others/ ). Non abbiamo conoscenza se Apple fa lo stesso, ma è sempre sotto la stessa pressione statale di Microsoft.

Software libero e l'educazione

Le scuole (e tutte le istituzioni educative a sua volta) influiscono sul futuro della società tramite i loro insegnamenti. Nel campo informatico, per garantire che tale influenza sia positiva, queste dovrebbero insegnare unicamente software libero. Insegnare l'uso di un programma proprietario equivale ad imporne la dipendenza, azione del tutto contraria alla missione educativa. Incentivando l'uso tra gli studenti di software libero, le scuole raddrizzano il futuro della società verso la libertà, e aiuteranno alla formazione di programmatori di talento.

Inoltre, così facendo, le scuole trasmetterebbero agli studenti l'abitudine di cooperare ed aiutare agli altri. Le scuole, a cominciare dalle elementari, dovrebbero dire agli studenti: «Cari studenti, questo è un luogo dove condividere 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».

Seguendo gli interessi degli sviluppatori di software proprietario, gli studenti non potrebbero né acquisire l'abitudine di condividere il software né sviluppare le capacità per modificarli, qualora ci fosse la curiosità ed interesse tra loro. Cosa che implica una mala formazione accademica. Nella sezione http://www.gnu.org/education/ è possibile trovare informazione dettagliata riguardo l'uso del software libero nelle istituzioni educative.

Software libero: molto più che «vantaggioso»

Molto speso mi viene chiesto di descrivere i «vantaggi» associati al software libero. Il termine «vantaggi» però è del tutto insignificante quando si parla di libertà. La vita senza libertà è tirannia, cosa che si applica tanto alla informatica come a qualunque altra attività attinente alla nostra vita. Dobbiamo rifiutarci di concedere il controllo dei nostri compiti informatici ai proprietari di programmi o servizi informatici. E quel che deve essere fatto, per ragioni egoistiche o no. < uno dei motivi per cui non sono una scelta ne di destra ne di sinistra>

La libertà implica la possibilità di cooperare con altri. Negare tale libertà è sinonimo di voler dividere le persone, 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 qualche conoscente viene a trovarti e ti vede usare un programma nel frattempo, questa persona potrebbe chiederti una copia di esso. Qualunque programma che impedisce la sua libera distribuzione, o ti impone l'obbligo che «non devi cooperare» , è antisociale.

In informatica, la cooperazione implica la distribuzione della stessa copia di un programma fra diversi utenti. Ma a sua volta, implica anche la distribuzione delle sue versioni modificate. Il software libero promuove queste forme di cooperazione, mentre quello proprietario le vieta. Anche il SaaSS impedisce di cooperare: se deleghi i tuoi compiti informatici a un servizio web custodito in un server altrui, mediante una copia di un programma altrui, non puoi nè vedere nè toccare il software impiegato per realizzarli, e quindi 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 nei nostri computer oppure quelli di uso frequente, e anche, rifiutando i SaaSS; sviluppando software libero (per chi lavora nel campo della programmazione); rifiutando di sviluppare o promuovere software proprietario o SaaSS e diffondendo queste idee.

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 -programmatori e non- possono usare. Unitevi alla nostra causa, ben sia come programmatore oppure attivista. 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. Tra i suoi meriti di programmazione all'interno del progetto GNU spiccano la realizzazione dell'editore di testo Emacs, il compilatore GCC e il debugger GDB. È principalmente conosciuto per lo sviluppo del quadro di riferimento morale, politico e legale all'interno del movimento del software libero, come alternativa di sviluppo e distribuzione al software proprietario. È stato anche l'inventore del concetto di copyleft (anche se non del termine), metodo per concedere in licenza il software garantendo che tanto il suo utilizzo, come ulteriori modifiche, rimangano libere e sempre a portata della comunità di utenti e sviluppatori.


NOTE


  1. In inglese, il termine «free» può significare «libero» oppure «gratuito». ↩︎

  2. Presso da «iThings», termine dispregiativo per fare riferimento ad aggeggi tipo iPod, iPad, iPhone, ecc. ↩︎