Questa traduzione potrebbe non essere aggiornata con le modifiche effettuate dopo il 2019-05-24 alla versione originale inglese.

È disponibile un elenco delle modifiche. Per informazioni su come gestire e inviare traduzioni delle nostre pagine web consultate la Guida alle traduzioni.

Adesso il Software libero è ancora più importante

di Richard Stallman

Una versione sostanzialmente riveduta di questo articolo è stata pubblicata su Wired.

Alcuni modi per aiutare il movimento del software libero.

Dal 1983 il movimento per il software libero si batte per la libertà degli utenti di computer, affinché siano gli utenti a controllare il software che usano e non viceversa. Quando un programma rispetta la libertà degli utenti e la comunità diciamo che è "software libero".

A volte (NdT: solo in inglese, dove "free" significa sia libero che gratuito) utilizziamo anche "libre" per enfatizzare il fatto che stiamo parlando di libertà e non di prezzo. Alcuni programmi proprietari, come Photoshop, sono molto costosi, altri, come Flash Player, sono disponibili gratuitamente, ma questo è solo un dettaglio: comunque sia, vincolano i loro utenti alla volontà del proprietario del programma., dando a quest'ultimo un potere che nessuno deve avere.

Questi due programmi non liberi hanno qualcos'altro in comune: sono entrambi malware, nel senso che contengono funzionalità irrispettose dell'utente. Il software proprietario oggi spesso è malware perché il potere degli sviluppatori li corrompe. Quell'elenco comprende circa 400 diverse funzionalità malevole (nel 2019) ma è sicuramente solo la punta dell'iceberg.

Con il software libero, gli utenti controllano il programma, in maniera individuale e collettiva. Quindi controllano quello che fanno i loro computer, purché questi siano affidabili e che cioè si attengano alle istruzioni dell'utente.

Con il software proprietario, il programma controlla gli utenti, e qualche altra entità (lo sviluppatore o "proprietario") controlla il programma. Quindi il programma proprietario mette i suoi utenti sotto il potere dello sviluppatore. Questa è un'ingiustizia di per sé e inoltre apre la porta ad altri modi di maltrattare l'utente.

Anche quando il software proprietario non è di per sé dannoso, i suoi sviluppatori sono incentivati a fare in modo che crei dipendenza e manipoli. Si è liberi, come l'autore di quell'articolo, di pensare che gli sviluppatori abbiano un obbligo etico di evitare queste azioni, ma gli sviluppatori di solito fanno i propri interessi. Se non volete che questo succede, fate in modo che il programma sia controllato dai suoi utenti.

Libertà significa avere il controllo della propria vita. Se si utilizza un programma per svolgere delle attività nel corso della vita, la nostra libertà dipende dal controllo che si ha su tale programma. Ci meritiamo di avere il controllo dei programmi che utilizziamo, tanto più se li usiamo per qualcosa di importante nella nostra vita.

Per avere il controllo sui programmi, gli utenti hanno bisogno di quattro libertà fondamentali.

(0) La libertà di eseguire il programma come si desidera, per qualsiasi scopo.

(1) La libertà di studiare il "codice sorgente" del programma e modificarlo per adattarlo alle proprie necessità. I programmi sono scritti da programmatori in linguaggi di programmazione, una sorta di inglese mischiato a formule matematiche, e tale forma del programma è detta "codice sorgente". Chiunque sa programmare, avendo a disposizione il programma sotto forma di codice sorgente può leggerlo, capirne il funzionamento e persino modificarlo. Se tutto ciò che si ha è la sua forma eseguibile, una sequenza di numeri che è chiarissima per essere eseguita dal computer ma praticamente indecifrabile per un essere umano, capire e modificare il programma in tale forma è praticamente impossibile.

(2) La libertà di creare e distribuire copie del programma a piacimento. (Non si tratta di un obbligo ma di una scelta. Se il programma è libero, non significa che qualcuno debba fornircene una copia, o che se ne debba fornire una copia agli altri. Distribuire un programma ad altri senza che si accompagnato dalle libertà è un abuso; Ad ogni modo, scegliere di non distribuire il programma - utilizzandolo privatamente - non fa male a nessuno.)

(3) La libertà di creare e distribuire copie di versioni modificate del programma, secondo la propria volontà.

Le prime due libertà significano che ogni utente può esercitare il proprio controllo (individuale) sul programma. Con le altre due libertà, qualsiasi gruppo di utenti può esercitarne un controllo collettivo. Grazie a tutte le quattro libertà, gli utenti hanno il controllo completo del programma. Se anche solo una delle libertà manca o non è applicabile, il programma è proprietario (non libero) e iniquo.

Altri tipi di opere vengono utilizzate per attività pratiche, come le ricette di cucina, o opere istruttive come libri di testo, opere di consultazione come dizionari ed enciclopedie, stili di caratteri per la visualizzazione di paragrafi di testo, schemi per il montaggio di apparecchi, e modelli per realizzare oggetti utili (e non soltanto decorativi) con una stampante 3D. Poiché questi non sono software, il movimento del software libero in senso stretto del termine non li comprende; ma si possono applicare le stesse argomentazioni ottenendo lo stesso risultato: queste opere devono permettere le quattro libertà.

Un programma libero ci permette di armeggiarci per fargli fare quello che si vuole (o farlo smettere di fare qualcosa che non ci piace). Armeggiare con il software potrebbe sembrare ridicolo se si è abituati ad utilizzare software proprietario come una scatola chiusa, ma nel Mondo Libero è una pratica usuale ed un ottimo sistema per imparare a programmare. Persino il tradizionale passatempo americano di armeggiare con le auto ne risulta ostacolato perché le auto oggi contengono software non libero.

L'iniquità della proprietà

Se gli utenti non controllano i programmi, quest'ultimi controllano gli utenti. Con il software proprietario c'è sempre qualcuno, lo sviluppatore o il "proprietario" del programma, che lo controlla e attraverso di esso esercita il potere sui suoi utenti. Un programma non libero è quindi un giogo, uno strumento di potere iniquo.

In casi scandalosi (sebbene questo oltraggio sia divenuto piuttosto usuale) programmi proprietari vengono progettati per spiare gli utenti, limitarli, censurarli, abusandone. Ad esempio, il sistema operativo dei vari "iGadgets" di Apple fa tutto ciò e lo stesso fa Windows sui dispositivi mobili con processori ARM. Windows, il firmware dei telefoni cellulari e Google Chrome per Windows hanno al loro interno un meccanismo di accesso (back door) che permette ad alcune aziende di modificare i programmi a distanza senza chiedere alcun permesso. Il Kindle di Amazon ha una back door che consente la cancellazione di libri.

L'uso di software non libero nell'“internet of things” la trasformerebbe nell'“internet dei televenditori” e nell'“internet degli spioni”.

Con l'obiettivo di porre fine all'iniquità del software non libero, il movimento del software libero sviluppa programmi liberi per rendere liberi gli utenti. Abbiamo iniziato nel 1984 sviluppando il sistema operativo libero GNU. Oggi milioni di computer lo utilizzano, soprattutto nella versione GNU/Linux.

Distribuire un programma ad utenti senza trasmettere loro anche le libertà è un abuso nei loro confronti; scegliere di non distribuire il programma non fa male a nessuno. Se si scrive un programma e lo si usa privatamente, non si danneggia nessuno. (Si spreca un'occasione per fare del bene, ma allo stesso tempo non si fa niente di male). Quindi, quando diciamo che il software deve essere libero, vogliamo dire che ogni copia deve essere fornita con le quattro libertà, ma non vogliamo dire che qualcuno è obbligato a fornire copie del programma.

Software non libero e SaaSS

Il software non libero è stato il primo meccanismo che le aziende hanno utilizzato per prendere il controllo delle attività degli utenti. Oggi ce n'è un altro, chiamato Service as a Software Substitute (servizio come surrogato del software) o SaaSS. Ciò significa permettere ai server di qualcun altro di gestire le proprie attività di elaborazione.

SaaSS non significa che i programmi sul server sono non liberi (anche se spesso sono effettivamente non liberi). Piuttosto, utilizzando SaaSS mettiamo in atto la stessa iniquità dei programmi non liberi: sono due percorsi che portano nella stessa direzione sbagliata. Prendiamo ad esempio un servizio SaaS di traduzione: l'utente invia il testo da tradurre al server, il quale lo traduce (dall'inglese allo spagnolo, per esempio) e re-invia la traduzione all'utente. In questo modo il meccanismo di traduzione è sotto il controllo del gestore del server invece che dell'utente.

Se si utilizza SaaSS il gestore del server controlla le nostre elaborazioni. Si è costretti a fornire tutti i dati pertinenti all'operazione al gestore del server che potrà essere costretto a mostrarli ad un ufficiale - in realtà chi sta servendo realmente quel server?

Iniquità primarie e secondarie

Quando si utilizzano programmi proprietari o SaaSS, prima di tutto facciamo del male a noi stessi, perché questo consente a qualcun altro di esercitare un potere iniquo su di noi. Per il nostro bene dovremmo evitarlo. Fa del male anche ad altri poiché promettiamo di non condividere. È sbagliato tenere fede a tale promessa e un male minore infrangerla; per essere veramente integerrimi non dovremmo farla affatto.

Ci sono casi in cui l'utilizzo di software non libero mette pressione direttamente sugli altri a fare altrettanto. Skype ne è un chiaro esempio: quando una persona utilizza il software non libero Skype è necessario che anche un'altra lo faccia - in questo modo entrambe rinunciano alla propria libertà. Google Hangouts presenta lo stesso problema. È sbagliato anche suggerire l'utilizzo di tali programmi. Dovremmo rifiutare di usarli anche per un tempo limitato o sul computer di qualcun altro.

Un altro danno derivante dall'utilizzo di software non libero e SaaSS è che si premia l'autore, incoraggiando ulteriori sviluppi del programma o "servizio", il che porta a sua volta sempre più persone sotto il controllo dell'azienda.

Tutte le forme di danno indiretto vengono amplificate nel caso in cui l'utente sia un ente pubblico o una scuola.

Il software libero e lo Stato

Gli enti pubblici esistono per le persone, non per se stessi. Quando utilizzano i sistemi di elaborazione lo fanno per le persone. Hanno quindi il dovere di mantenere il controllo sull'elaborazione dei dati in maniera da assicurarsi che queste siano realizzate per le persone in maniera corretta. Ciò costituisce la "sovranità computazionale" dello Stato. Non devono assolutamente permettere che il controllo del sistema di elaborazione dello Stato cada nelle mani di privati.

Per mantenere il controllo dell'elaborazione dei dati delle persone, gli enti pubblici non devono farlo con software proprietario (software sotto il controllo di un soggetto diverso dallo Stato). E non devono affidare i dati ad un servizio programmato ed eseguito da un soggetto che non sia lo Stato, e questo sarebbe SaaSS.

Il software proprietario non ha alcuna sicurezza in un caso importante - nei confronti del suo sviluppatore. E lo sviluppatore può aiutare altri ad attaccarlo. Microsoft mostra i bug di Windows alla NSA (l'agenzia governativa di spionaggio digitale degli Stati Uniti) prima di correggerli. Non sappiamo se Apple fa altrettanto, ma è sottoposta alle stesse pressioni governative di Microsoft. Se il governo di qualsiasi altro Paese utilizza tale software mette a repentaglio la sicurezza nazionale. Chi vorrebbe che la NSA entrasse nei computer del proprio governo? Abbiamo preparato anche dei suggerimenti per i governi per la promozione del software libero.

Il software libero e l'istruzione

Le scuole (e tutte le istituzioni didattiche in senso lato) influenzano il futuro della società tramite il loro insegnamento. Queste dovrebbero insegnare esclusivamente software libero, così da utilizzare la loro influenza in maniera positiva. Insegnare l'uso di un programma proprietario equivale ad impiantare una dipendenza, che va contro la missione educativa. Insegnando l'uso del software libero, le scuole indirizzeranno il futuro della società verso la libertà e aiuteranno i programmatori dotati di talento a padroneggiare il proprio mestiere.

Insegneranno anche agli studenti l'abitudine alla cooperazione e all'aiuto verso gli altri. Ogni corso deve avere questa regola: "Studenti, questa classe è il luogo nel quale condividiamo la conoscenza. Se portate software in classe non dovete tenerlo per voi. Ma dovete condividerne copie con il resto della classe - incluso il suo codice sorgente, nel caso in cui qualcuno volesse studiarlo. Pertanto, portare software proprietario in classe non è consentito eccetto per lo studio del funzionamento al fine di ricostruirne il codice sorgente".

Gli sviluppatori di software proprietario vorrebbero farci punire gli studenti che sono abbastanza bravi di cuore per condividerlo e contrastare quelli abbastanza curiosi da volerlo modificare. Questa è una cattiva educazione. Altri articoli sull'uso del software libero nelle scuole sono disponibili su http://www.gnu.org/education/.

Software libero: più che "vantaggi"

Spesso mi viene chiesto di descrivere i "vantaggi" del software libero. Ma la parola "vantaggi" è troppo debole quando si tratta di libertà. La vita senza libertà è oppressione e questo si applica all'informatica come ad ogni altra attività della nostra esistenza. Dobbiamo rifiutarci di dare agli sviluppatori dei programmi o dei servizi informatici il controllo delle nostre elaborazioni. Questa è la cosa giusta da fare, per motivi egoistici, ma non solo.

La libertà include la libera cooperazione con altri. Imbrogliare le persone dicendo che libertà significa tenerle divise è l'inizio di un regime di oppressione. Nella comunità del software libero, siamo veramente consapevoli dell'importanza della libertà di cooperare perché il nostro lavoro si basa su una cooperazione organizzata. Se un amico ci viene a far visita e ci vede utilizzare un programma, potrebbe chiedercene una copia. Un programma che ci impedisce di redistribuirlo, o dice che "non dovremmo farlo", è antisociale.

In informatica, la cooperazione comprende la redistribuzione di copie di un programma ad altri. Comprende anche la distribuzione delle eventuali modifiche apportate. Il software libero incoraggia tali forme di cooperazione, mentre il software proprietario le vieta. Proibisce la redistribuzione di copie e, negando agli utenti il codice sorgente, non consente loro di apportarvi modifiche. SaaSS ha gli stessi effetti: se l'elaborazione avviene via web sul server di qualcun altro, da un programma di qualcun altro, non si può vedere o toccare il software che effettua l'elaborazione, quindi non lo si può redistribuire o modificare.

Conclusione

Ci meritiamo di avere il controllo delle nostre elaborazioni, ma come possiamo ottenerlo? Tenendo lontano il software non libero dalle macchine che possediamo o utilizziamo regolarmente e rifiutando SaaSS. Sviluppando software libero (per coloro che sono programmatori), rifiutandosi di sviluppare o promuovere software non libero o SaaSS. Diffondendo queste idee agli altri.

Assieme ad altre migliaia di utenti, noi lo stiamo facendo dal 1984, e questo ci ha permesso di avere oggi GNU/Linux, il sistema operativo libero che chiunque - programmatore o meno - può utilizzare. Unitevi alla nostra nostra causa, come programmatori o attivisti. Rendiamo liberi tutti gli utenti di computer.