Questa traduzione potrebbe non essere aggiornata con le modifiche effettuate dopo il 2020-12-17 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.
Quel server in realtà a chi serve?
di Richard Stallman
La prima versione di questo articolo è stata pubblicata su Boston Review.
Su Internet il software non libero non è l'unico modo per perdere la vostra libertà: il servizio come surrogato del software (Service as a Software Substitute, SaaSS) è un altro modo per lasciare che qualcun altro abbia potere sulle vostre attività informatiche.
Il punto è che si può avere il controllo di un programma che qualcun altro ha scritto (se è libero), ma non si può mai avere il controllo di un servizio fornito da un altro: quindi mai usare un servizio quando un programma potrebbe fare la stessa cosa.
SaaSS [NdT: in italiano, “servizio come surrogato del software”, in contrasto al “Software as a Service”, cioè “software come servizio”] significa usare un servizio implementato da qualcun altro come surrogato dell'esecuzione della vostra copia del programma. Il termine è nostro, visto che gli articoli e le pubblicità non lo useranno, né vi diranno se un certo servizio è un SaaSS. Probabilmente useranno piuttosto il vago e fuorviante termine “cloud”, che raggruppa il SaaSS con diverse altre pratiche, alcune offensive, altre accettabili. Grazie alla spiegazione e agli esempi di questa pagina potrete distinguere quando un servizio è un SaaSS.
Premessa. Come il software proprietario vi sottrae la libertà
La tecnologia digitale può darvi libertà, ma può anche sottrarvela. La prima minaccia al nostro controllo sulle nostre attività informatiche viene dal software proprietario, software che gli utenti non possono controllare, perché a controllarlo è il proprietario (un'azienda come Apple o Microsoft). Il proprietario infatti spesso approfitta di questo potere iniquo aggiungendo delle funzioni malevole, come spyware, back doors o Digital Restrictions Management (DRM) (chiamati nella loro propaganda “Digital Rights Management”).
La nostra soluzione a questo problema è di sviluppare software libero e di rifiutare il software proprietario. Software libero significa che voi, in qualità di utenti, avete quattro libertà fondamentali: 0. eseguire il programma come volete, 1. studiare e modificare il codice sorgente affinché faccia ciò che volete, 2. ridistribuire copie identiche del programma, 3. ridistribuire copie del programma che avete modificato. Si veda anche la Definizione di software libero.
Grazie al software libero noi utenti ci riprendiamo il controllo delle nostre attività informatiche. Il software proprietario esiste ancora, ma, come molti hanno già fatto, possiamo escluderlo dalle nostre vite. Ciononostante ora affrontiamo una nuova minaccia al nostro controllo delle nostre attività informatiche, cioè i servizi come surrogati del software (SaaSS) e per amore della nostra libertà dobbiamo rifiutare anche quelli.
I servizi come surrogati del software vi sottraggono la libertà
Per servizio come surrogato del software (SaaSS) intendiamo l'uso di un servizio come surrogato dell'esecuzione della vostra copia del programma. In pratica, qualcuno imposta un server in rete che si occupa di certe attività informatiche, come modificare una foto, tradurre testo in un'altra lingua, ecc..., ed invita poi gli utenti ad eseguirle attraverso quel server. L'utente del server invierebbe al server i propri dati, su cui esso eseguirebbe l'attività propria dell'utente e infine ne restituirebbe il risultato all'utente, o eseguirebbe qualche azione per lui.
L'attività è propria dell'utente poiché per ipotesi egli, in linea di principio, può eseguirla con un programma sul suo computer, a prescindere dal fatto che tale programma sia disponibile o meno. Se, viceversa, quest'ipotesi non è applicabile, allora non si tratta di un SaaSS.
L'estorsione del controllo effettuato da questi server è ancor più inesorabile di quanto non avvenga nel caso del software privato. Nel caso del software non libero solitamente gli utenti hanno a disposizione un eseguibile sprovvisto di codice sorgente, il che rende difficile studiare il codice in esecuzione: è difficile determinare cosa faccia davvero il software, ed è difficile cambiarlo.
Nel caso del SaaSS gli utenti non hanno nemmeno l'eseguibile che esegue l'attività informatica. È sul server di qualcun altro e non possono né vederlo, né toccarlo: è impossibile verificare cosa faccia davvero il software, ed è impossibile cambiarlo.
Inoltre il SaaSS produce effetti equivalenti alle funzionalità malevole di certi software non liberi.
Ad esempio, certi programmi proprietari sono “spyware”, cioè comunicano informazioni sul comportamento degli utenti: Microsoft Windows ne invia a Microsoft; Windows Media Player racconta cosa l'utente guarda o ascolta; il Kindle di Amazon riferisce quali pagine, e di quali libri, l'utente guarda, e quando lo fa; Angry Birds riferisce lo storico di geo-localizzazione dell'utente.
A differenza del software proprietario, il SaaSS non ha bisogno di codice di copertura per ottenere i dati degli utenti: per usare il server sono questi ultimi che devono spedire i dati. L'effetto è lo stesso dello spyware: grazie alla natura del SaaSS, il gestore del server ottiene i dati senza particolare sforzo. Amy Webb, che mai avrebbe voluto pubblicare le foto di sua figlia, fece l'errore di modificarle usando un SaaSS (Instagram) e alla fine da lì sono state divulgate.
In teoria, in futuro grazie alla crittografia omomorfica potrebbe diventare possibile costruire servizi SaaSS che non possano comprendere una parte dei dati che gli utenti inviano loro. Questi servizi potrebbero essere impostati in modo da non spiare gli utenti, ma questo non significa che non spieranno in alcun modo gli utenti.
Alcuni sistemi operativi privati hanno una back-door generale, che permette ad alcuni di installarvici modifiche al software. Per esempio, Windows ne ha una che consente a Microsoft la modifica coatta di qualsiasi software sia sulla macchina, e lo stesso avviene pure per quasi tutti i telefonini. Anche certe applicazioni private possiedono delle back-door generali, come il client Steam per GNU/Linux, che permette allo sviluppatore di installare da remoto delle versioni modificate.
Ora, nel caso del SaaSS, il gestore del server può cambiare il software che è in funzione sul server.Niente di strano, visto che il computer è suo, ma l'effetto è lo stesso di usare un'applicazione non libera che abbia back-door generali: qualcuno ha il potere di imporre silenziosamente dei cambiamenti su come l'attività informatica sia effettuata.
In conclusione, pertanto, usare un SaaSS è equivalente ad eseguire un software privato con uno spyware e una back-door generale. Ciò dà al gestore del server un iniquo potere sull'utente e noi dobbiamo opporci a questo potere.
SaaSS e SaaS
All'inizio avevamo fatto riferimento a questa prassi problematica con il termine “SaaS”,che sta per “Software as a Service” [NdT: software come servizio], un termine comunemente utilizzato quando un software viene messo in funzione su server, invece che distribuito agli utenti. Pensavamo che questo descrivesse precisamente i casi nei quali questo problema si presenta.
Successivamente ci siamo resi conto che il termine SaaS è usato talvolta per servizi di comunicazione, che sono attività per le quali il problema non si pone. Inoltre il termine “Software come servizio” non spiega perché si tratti di una cattiva pratica. Abbiamo pertanto coniato il termine “Servizio come surrogato del software”, che definisce più chiaramente questa pratica cattiva e spiega cosa ci sia di male.
Distinguere il problema del SaaSS dal problema del software proprietario
Il SaaSS e il software proprietario conducono a risultati similmente dannosi, ma con meccanismi diversi: con il software proprietario avete una copia del software ma modificarla vi è difficile e/o illegale; con il SaaSS non avete neppure la copia del software che esegue le vostre attività informatiche.
Queste due problematiche sono spesso, e non solo accidentalmente, confuse fra loro. Gli sviluppatori web usano il vago termine “applicazione web” per raggruppare il software del server con il software che che gira sul vostro browser. Certe pagine web, infatti, installano nel vostro browser dei programmi JavaScript non banali o addirittura grossi senza informarvi della cosa. Quando quei programmi non sono liberi causano lo stesso tipo di ingiustizie di ogni altro software non libero, ma ora ciò che ci interessa è il problema dell'uso del servizio stesso.
Molti sostenitori del software libero credono che il problema del SaaSS sarà risolto sviluppando software libero per i server. È vero che per gli amministratori del server è meglio che i programmi in esecuzione sul server siano liberi, poiché altrimenti i proprietari/sviluppatori del software avrebbero controllo sul server, e ciò sarebbe ingiusto per gli amministratori del server e di alcun servizio agli utenti. Ma anche se i programmi sul server sono liberi, sono gli utenti del server a non essere protetti dagli effetti del SaaSS, perché tali programmi liberano gli amministratori e non gli utenti.
Ciononostante, pubblicare il codice sorgente di un software per server giova alla comunità, visto che dà la possibilità agli utenti con le giuste competenze ad impostare server simili, magari cambiando il software. Quindi per i programmi da server noi consigliamo l'uso della licenza GNU Affero GPL.
In ogni caso nessun server, a meno che non sia il vostro (sotto il vostro controllo, a prescindere dal fatto che sia di vostra proprietà o meno), vi darebbe il controllo sulle attività che svolgete su di esso. Può quindi essere accettabile fidarsi del server di un amico per certe attività, proprio come potreste accettare che un vostro amico faccia manutenzione sul vostro computer, ma in ogni altro caso il server va considerato come SaaSS. Il SaaSS vi costringe al potere dell'amministratore del server e l'unica soluzione è non usare SaaSS! Non usate un server di qualcun altro per svolgere le vostre attività informatiche con i dati che gli fornite.
Questo problema dimostra quanto sia significativa la differenza tra “open” e “libero”. Il codice sorgente che è open source è quasi sempre libero. Ma l'idea di un servizio “open software”, usata per indicare un servizio in cui il software server è open source e/o libero, non cattura il problema del SaaSS.
Insomma, i servizi sono insomma sostanzialmente diversi dai programmi e le questioni etiche sollevate dai primi sono quindi sostanzialmente diverse da quelle dei secondi, quindi, per evitare di fare confusione, evitate di chiamare un servizio “libero” o “proprietario”.
Riconoscere il SaaSS tra gli altri servizi di rete
Quali servizi online sono SaaSS? L'esempio più chiaro è quello di un servizio di traduzione che, diciamo, traduce testo dall'inglese allo spagnolo. Ora, tradurre un testo è un'attività prettamente vostra e, avendo solo il programma appropriato potreste svolgerla eseguendolo sul vostro computer, e potreste farlo anche eticamente, se il programma fosse libero. Il servizio di traduzione, invece, sostituisce il programma quindi è un servizio come surrogato del software (o SaaSS) e, dal momento che vi nega il controllo dell'attività informatica, vi fa del male.
Un altro esempio chiaro è l'uso di un servizio come Flickr o Instagram per modificare una foto: le persone hanno svolto questa attività sui loro computer per decenni, mentre farlo su un server fuori dal vostro controllo invece che sul vostro computer è SaaSS.
Rifiutare il SaaSS non significa però rifiutare di usare qualsiasi server in rete che sia gestito da altri che da voi. La maggior parte dei server, infatti, non sono SaaSS, visto che le attività che svolgono non sono degli utenti, bensì rientrano nell'ambito della comunicazione.
L'idea iniziale dei server web non era di svolgere attività informatiche per voi, ma piuttosto di pubblicare informazioni cui darvi accesso. Questo è tutt'ora ciò che fa la maggior parte dei siti web senza porre il problema del SaaSS, visto che accedere ad informazioni pubblicate da altri non è una attività informatica vostra. Neppure lo è pubblicare il vostro materiale su un blog o usare un servizio di microblog, come Twitter o StatusNet, sebbene questi servizi possano, a seconda dei casi, avere altri problemi; e lo stesso vale per altre comunicazioni che non abbiano carattere privato, come le chat di gruppo.
In sostanza, le reti sociali sono una forma di comunicazione e di pubblicazione che non sono SaaSS, ma un servizio che abbia come scopo principale il social networking potrebbe, ciononostante, avere funzionalità o estensioni che sono SaaSS.
Del resto, il fatto che un servizio non sia SaaSS, non implica che il servizio vada bene, visto che bisogna considerare altre questioni etiche legate ai servizi. Per esempio, Facebook distribuisce filmati in Flash spingendo gli utenti ad utilizzare software non libero, richiede l'esecuzione di codice JavaScript non libero, e dà agli utenti una fuorviante impressione di privacy proprio mentre li induce a mettere a nudo le loro vite su Facebook. Si tratta di problemi importanti, ma diversi da quello del SaaSS.
Ci sono servizi, come i motori di ricerca, che raccolgono dati nel web e vi permettono di analizzarli. Ora, passare in rassegna la loro raccolta di dati non è un'attività informatica solitamente definibile vostra, dato che non siete voi che avete fornito quella raccolta, quindi usare tale servizio per fare ricerche nel web non è SaaSS. D'altro canto, realizzare un servizio di ricerca per il vostro stesso sito usando un server altrui, questo è SaaSS.
Nemmeno fare acquisti online è SaaSS, perché l'attività informatica non è vostra, bensì è realizzata congiuntamente da voi e il venditore. Il vero problema degli acquisti online è piuttosto se vi fidiate della controparte nel darle denaro ed altre informazioni personali, in primis, il vostro nome.
Neppure i siti di depositi di progetti, come Savannah o SourceForge, sono intrinsecamente SaaSS, dato che il compito di un deposito è quello di pubblicare i dati che gli sono forniti.
Nemmeno l'uso dei servizi di un progetto collettivo è SaaSS, perché le attività informatiche non sono vostre, ma del progetto. Per esempio, se modificate delle voci di Wikipedia, non state compiendo un'attività informatica personale, ma state collaborando alle attività informatiche di Wikipedia, realizzate sui server controllati da Wikipedia stessa. Anche le organizzazioni, però, esattamente come accade ai singoli utenti, si imbattono nel problema del SaaSS quando svolgono le proprie attività informatiche su server esterni.
Inoltre, ci sono siti che offrono svariati servizi ed è possibile che, mentre uno di questi non sia SaaSS, un altro lo sia. Il servizio principale di Facebook, per esempio, è la rete sociale, che non è SaaSS, ma contiene anche applicazioni di terze parti, alcune delle quali lo sono. Ancora, il servizio primario offerto da Flickr è la distribuzione di foto, che non è SaaSS, ma esso offre anche funzionalità di modifica delle foto, che lo sono. Similmente accade, infine, su Instagram: pubblicarvi una foto non è SaaSS, mentre usarlo per modificarla lo è.
Esaminare un singolo servizio può diventare alquanto complesso, come ci mostra il caso di Google Docs, un servizio che invita gli utenti a modificare un documento usando un grosso programma JavaScript non libero. Il che è chiaramente ingiusto, ma, visto che il servizio offre anche delle API per caricare e scaricare i documenti in diversi formati, un editor di testo libero potrebbe modificarlo ed usare tali API. Questo caso d'uso non è SaaSS, perché Google Docs è utilizzato come un semplice deposito, ma, per una questione di privacy, è comunque sbagliato mostrare i propri dati ad una azienda. Se invece usate il servizio per la conversione tra formati, questo è SaaSS, perché è qualcosa che potreste fare usando un programma appropriato, sperabilmente libero, sul vostro computer.
Ovviamente l'uso di Google Docs attraverso un editor di testo è alquanto raro e molto più spesso le persone usano il programma JavaScript non libero, cattivo come ogni altro programma non libero. Anche questo scenario potrebbe però coinvolgere il SaaSS, a seconda di cosa, dell'editor di testo, sia realizzato dal programma JavaScript e cosa dal server. Non si sa, ma non è nemmeno così importante saperlo, poiché il SaaSS e il software proprietario sono similarmente dannosi all'utente.
La pubblicazione usando depositi altrui non pone, in generale, problemi di privacy, ma quella su Google Docs ha un problema particolare: è necessario eseguire codice JavaScript non libero nel browser anche solo per leggere un documento. Di conseguenza, anche se non a causa del SaaSS, non dovete usare Google Docs per pubblicare nulla.
L'industria informatica scoraggia gli utenti a fare questo genere di distinzioni e, infatti, il termine in voga “nuvola informatica” (o “cloud”) serve proprio a questo. È un termine così nebuloso che potrebbe riferirsi a qualsiasi uso di Internet e include, pertanto, sia il SaaSS, sia altre pratiche di uso dei servizi in rete. Difatti, preso un contesto qualsiasi, l'autore che scrive “nuvola”, se è un tecnico, probabilmente ha un preciso significato in mente, ma in genere non spiega che in altri articoli questa parola abbia degli specifici significati diversi. Questa parola insomma induce le persone a fare semplicistiche generalizzazioni su pratiche che invece dovrebbero prendere in considerazione separatamente.
“Nuvola informatica” un significato ce l'ha, ma non riguarda il modo di fare informatica, ma piuttosto un modo di concepirla: un approccio incurante che dice “Non fatevi domande. Non preoccupatevi di chi controlla le vostre attività informatiche o di chi abbia i vostri dati. Non controllate, prima di ingoiare un servizio, se ci sia un amo nascosto. Credete alle aziende senza esitare.” Ovvero, in altre parole “Siate stupidi”. Una nuvola nella mente è un ostacolo alla chiarezza del pensiero quindi, per chiarezza di pensiero, evitiamo di usare la parola “nuvola”.
L'affitto di un server non è SaaSS
Quando si affitta un server (reale o virtuale) che rimane, dal punto di vista del software, sotto controllo, questo non è SaaSS. Nel SaaSS qualcun altro decide quale software eseguire sul server e quindi controlla le elaborazioni. Ma se voi installate il software sul server, siete voi a controllare le elaborazioni e quindi il server affittato si comporta come se fosse un vostro comupter, almeno a questi fini.
I dati sul server affittato sono meno sicuri che su un server casalingo, ma questo è un altro problema, non legato a SaaSS.
Questo tipo di noleggio server è a volte chiamato “IaaS,” ma quel termine si riferisce ad una struttura concettuale che sminuisce problemi che noi consideriamo importanti.
Gestire il problema del SaaSS
Solo una piccola parte dei siti web offre SaaSS, quindi per la maggior parte di essi il problema non si pone. Che dobbiamo fare con quelli che invece lo pongono?
Nel caso semplice, dove le vostre attività informatiche riguardano dati che sono nelle vostre mani, la soluzione è semplice: usate la vostra copia di un'applicazione libera. Modificate il vostro testo con la vostra copia di un editor di testo libero, come GNU Emacs, o un programma di videoscrittura libero; e modificate le vostre foto con la vostra copia di un software libero, come GIMP. E se non c'è un programma libero disponibile? Un programma privato o un SaaSS vi sottraggono la libertà e non dovete usarli, potete invece contribuire, con il vostro tempo o con il vostro denaro, allo sviluppo di un programma sostituto che sia libero.
E quando si collabora con altre persone in un gruppo? Al momento potrebbe essere difficile farlo senza usare un server e il gruppo potrebbe non sapere come metterne in funzione uno proprio. Se usate un server di altri, almeno non fidatevi di quello di una azienda. Il solo contratto di fornitura del servizio non offre alcuna garanzia, a meno che non siate in grado di individuare le violazioni e intentare una causa legale, tenendo anche presente che le aziende probabilmente stendono i loro contratti proprio per consentirgli un'ampia gamma di abusi. Lo stato, inoltre, può richiedere alla società i vostri dati, come quelli di chiunque altro, in qualità di prova in sede giudiziaria, come fece il presidente Obama con le compagnie telefoniche. Per non parlare di quando sono le stesse aziende ad offrirsi volontariamente, come accadde con le compagnie telefoniche statunitensi che intercettarono illegalmente i propri utenti per il presidente George W. Bush. Insomma, se siete costretti ad usare un server, usate un server i cui gestori vi offrano una base di fiducia che vada al di là di una relazione meramente commerciale.
In una scala temporale lunga, comunque, potremo creare alternative all'uso di questi server. Ad esempio, possiamo creare un programma peer-to-peer col quale i collaboratori possano scambiare dati cifrati, e poi la comunità del software libero potrebbe sviluppare dei sostituti alle “applicazioni web” importanti, che abbiano, appunto, un'architettura distribuita peer-to-peer. Queste potrebbero infine essere pubblicate con saggezza, usando la licenza GNU Affero GPL, visto che sarebbero candidati promettenti per essere convertiti da altri in programmi di tipo server. Il progetto GNU sta cercando volontari per lavorare su questi sostituti. Infine, possiamo esortare gli altri progetti di software liberi a tenere presente questa problematica nella progettazione.
Nel frattempo, se una compagnia vi invita ad usare il suo server per fare le vostre attività informatiche, non cedete, e non usate SaaSS. Non comprate, né installate “thin clients”, quei computer così poco potenti che vi costringono a fare tutto il vero lavoro su un server, a meno che questo non sia un server vostro. Per amore della vostra libertà, usate computer veri, tenete i vostri dati lì ed eseguite le vostre attività informatiche sulla vostra copia di un programma libero.
Si veda anche:
Il bug che nessuno può comprendere.