Riflessioni sull’informatica e i suoi effetti




Il 15 gennaio 2022 ci lasciava Corrado Alunni, dirigente rivoluzionario i cui tratti umani, oltre che politici, abbiamo voluto ricordare il 31 gennaio seguente con il testo Per il sorriso dei tuoi occhi, a cura di Sergio Bianchi, nella sezione «scavi» di Machina. La compagna da una vita di Corrado, Marina Zoni, e il figlio Federico, hanno trovato nel suo computer un saggio risalente al 2014 sul tema dell’informatica e dei suoi effetti negli ambiti produttivi, economici, sociali e politici. Ne pubblichiamo qui la prima delle tre parti che compariranno nella sezione «scatola nera».


* * *


L’avvento dell’era digitale ha prodotto cambiamenti di ordine sociale ed economico a livello planetario, sia direttamente – laddove la tecnologia informatica si è diffusa ampiamente in tutti gli ambiti – sia indirettamente – come nei paesi più poveri che sono stati interessati dalla delocalizzazione produttiva e dall’estensione della comunicazione. Non si può dire che queste trasformazioni siano concluse o che l’informatica si avvii ad essere una tecnologia matura. Piuttosto è ragionevole pensare che gli effetti del digitale nell’ambito produttivo e sociale devono ancora dispiegarsi, tanto più se si pensa che il fenomeno è in corso solo da un paio di decenni e che la società, i gruppi, gli individui metabolizzano i cambiamenti in modo assai più lento. È, quindi, prematuro trarre delle conclusioni definitive, semmai è possibile cercare di capire i presupposti che hanno permesso il rapido dilagare di questa tecnologia in ogni ambito, il valore (o il disvalore) dei cambiamenti che si sono verificati e di quelli che è possibile prevedere all’interno delle linee di tendenza. Prima ancora è necessario soffermarsi sulla natura di questa tecnologia, sulla sua «qualità», per sottrarsi al rischio di astrarre dal suo reale contesto e mitizzarne le manifestazioni. Si tratta cioè di «capire» le basi di questa tecnologia prima di tradurne gli effetti nel modello culturale che più ci aggrada. Inoltre, come per tutte le grandi rivoluzioni industriali, anche in questo caso (l’avvento dell’informatica) si producono effetti a livello sociale che non sono direttamente imputabili al rapporto di produzione capitalistico. La disponibilità di energia elettrica, ad esempio, è oggi considerato un diritto come quello alla salute, a prescindere dal fatto che l’elettricità (come la salute) è una merce, e già adesso il diritto alla comunicazione configura l’accesso a internet come un servizio indispensabile. Ciò significa che l’analisi deve considerare i soggetti sociali coinvolti e le loro relazioni non come un dato statico che si modifica solo per il quantum che l’introduzione delle nuove tecnologie modifica i loro rapporto di forza, ma come variabili che si modificano assieme al contesto in cui esistono, acquisendo bisogni, caratteristiche qualità diverse.

Vediamo, dunque cosa c’è alla base della tecnologia informatica.


La macchina «universale»

Hilbert, un grande matematico del secolo scorso, pose fra gli altri il seguente quesito:

esiste sempre, almeno in linea di principio, un metodo meccanico (cioè una maniera rigorosa) attraverso cui, dato un qualsiasi enunciato matematico, si possa stabilire se esso sia vero o falso?

Se tale metodo esistesse, sarebbe in grado di risolvere tutti i problemi matematici e, inoltre, renderebbe possibile ridurre ogni [1] ragionamento umano a un algoritmo eseguibile in modo meccanico. Un giovane matematico inglese, Alan Touring, diede una risposta (parzialmente) positiva alla questione nel 1936 attraverso la formulazione di una macchina teorica, quella che oggi è nota come la macchina di Touring. Nel 1945 nasce l’EDVAC (Electronic Discrete Variables Automatic Computer): è la prima macchina digitale programmabile tramite un software basata su quella che sarà poi definita l’architettura di von Neumann. Il merito dell’invenzione, oltre che allo scienziato ungherese, va a Alan Turing (dato che l’EDVAC, a dispetto della propria memoria finita, è la realizzazione della macchina universale di Turing ovvero, un computer programmabile nel senso moderno del termine) e a Eckert e Mauchly (per la realizzazione) [2]. L’EDVAC, era un enorme ammasso di valvole, interruttori, bobine, condensatori grande come un salone e pesante 30 tonnellate con un dispendio enorme di energia. Sarà utilizzato (soprattutto) nel campo militare per calcoli legati alla costruzione di bombe nucleari.

Il computer, così inteso, non è altro che una macchina in grado di eseguire delle istruzioni (qualsiasi istruzione traducibile in un linguaggio da essa interpretabile). L’hardware (l’elaboratore) è inscindibile dal software ( le istruzioni da elaborare), tanto che esso (l’hardware) è inutile da solo, mentre le istruzioni sono la codifica di un qualsiasi algoritmo (relativo a un problema matematico o di altro tipo). Le basi scientifiche del computer sono quindi disponibili già negli anni Trenta del secolo scorso, un suo prototipo è stato realizzato negli anni Quaranta, ma bisogna aspettare gli anni Ottanta prima che esso si diffonda a livello sociale e produttivo. Ciò è dovuto a vari fattori fra i quali:



· L’esistenza di (relativamente pochi) computer di grandi dimensioni può rispondere a necessità di elaborazione di una grande mole di dati, ma certo non impatta né con il processo produttivo né con la vita sociale quotidiana;

· L’elevato costo di una macchina come l’EDVAC (o di un suo equivalente) ne limita la diffusione a enti di grandi dimensioni oltre al fatto che il suo utilizzo è legato a competenze molto specialistiche;

· Nonostante le potenzialità illimitate del computer di eseguire istruzioni, pure quelle istruzioni vanno scritte in un linguaggio intellegibile dall’hardware, cioè non esisteva o (il che è la stessa cosa) non era necessario produrre un software in grado di adempiere a funzioni utili da un punto di vista sociale o produttivo.


Fra gli anni Sessanta e gli anni Ottanta si sviluppa enormemente un’altra tecnologia, quella dei semiconduttori, fortemente legata a quella elettronica. Chi è vissuto anni Sessanta ricorda sicuramente l’avvento delle radioline a transistor e la rapida diffusione di questa tecnologia in vari altri prodotti: dai televisori ai grammofoni a tutte quelle apparecchiature, domestiche e non, che utilizzavano componenti elettronici (basti pensare alle centrali telefoniche!). Logico, quindi, che tale tecnologia venisse applicata al computer che è appunto un insieme di componenti elettronici. Il microchip è un circuito elettronico composto da vari elementi (oggi anche milioni) miniaturizzato in modo tale da presentarsi come un singolo componente elettronico. Esistono migliaia di tipi di microchip ciascuno dei quali assolve funzioni particolari nei campi più disparati: un tipo di microchip è il cuore del cellulare, oppure la base del computer di bordo dell’auto. In questi casi non è richiesto all’utente di inserire o aggiornare il set di istruzioni che vengono eseguite dal microchip. La logica di funzionamento è preinstallata, il microchip è preprogrammato; al massimo è previsto (appunto) che l’utente possa variare taluni parametri di funzionamento per ottenere degli effetti personalizzati. La CPU (Central Processing Unit) di un moderno computer è anch’essa un microchip in in cui la logica di funzionamento è ancora predeterminata (si parla di architettura del microprocessore), ma con una differenza: questa logica si riferisce all’elaborazione di un set di istruzioni non determinato a priori, ma che l’utilizzatore deve fornire nella forma (linguaggio macchina) opportuna. Per le loro caratteristiche i microchip sono relativamente economici e, anzi, l’aumento della loro complessità influisce poco sul costo (oggi la CPU di un personal computer costa un centinaio di euro, meno di quanto costava quella, assai meno complessa, di una sua versione di 10 anni fa). Il risultato di tutto ciò è che il computer si è trasformato in una macchina di piccole o piccolissime dimensioni, dal costo contenuto (da qui, fra l’altro, l’elevato grado di upgrade) e che richiede un minimo apporto di energia. Manca solo il software, per permettere la diffusione a livello sociale e produttivo delle macchine digitali.


Il software ovvero la codificazione del sapere

Il software è il cuore del nostro problema, molto più della tecnologia che sta alla base del computer, dalla quale, pure, non può essere separato. Un utile accostamento, per capirne la natura, è quello che lo paragona al film che vediamo al cinema o alla televisione. Ci sono analogie importanti e fondamentali differenze:


· il film è discreto e finito (nel senso che è composto da singoli fotogrammi e ha una durata limitata) così come un software è un insieme discreto e finito di istruzioni che il computer esegue;

· un film racconta una storia o un’informazione codificando immagini e suoni su un supporto analogico o digitale, così come il software è la codifica di un procedimento o di un sapere trasformati in algoritmo [3], e memorizzati su un supporto digitale (il file);

· un software al pari di un film può essere una merce, ma una merce con caratteristiche del tutto peculiari: innanzitutto, una volta prodotto un singolo esemplare, questa merce è riproducibile illimitatamente a costi pressoché nulli; in secondo luogo è indistruttibile, cioè nel suo utilizzo/consumo non si usura, e anzi può essere utilizzata/consumata un numero illimitato di volte anche da più soggetti contemporaneamente. Per queste merci si parla di proprietà intellettuale, di copyright e le leggi che disciplinano la materia nelle varie nazioni possono differire anche molto; l’acquisto di una tale merce, non si traduce nel diritto di disporne a proprio piacimento, non è modificabile [4] e non si può usarla se non con le modalità prestabilite (la licenza che accompagna la vendita).


La stessa analogia dei termini film e file non è casuale. Il film, è anche il supporto (il nastro di celluloide in origine) su cui è memorizzato il lavoro di descrizione della vicenda o dell’informazione svolto dalla troupe cinematografica, così come il file non è altro che il supporto digitale su cui è memorizzato il lavoro del programmatore o del team di programmazione. C’è però una differenza fondamentale fra un film (inteso in senso figurato) e un software: un film è la rappresentazione, il racconto o l’interpretazione di una particolare realtà (umana, naturalistica, scientifica o di qualsiasi altro tipo) e come tale si presenta come comunicazione/informazione mediata dalla particolare visione soggettiva di chi lo realizza. Un software è quel particolare sapere o procedimento! Due software che, date le stesse premesse, producono lo stesso risultato sono equivalenti, indipendentemente da chi ha li ha prodotti e anche dalle differenze fra gli algoritmi che codificano [5]. In ogni caso, però, non si tratta di un’interpretazione soggettiva di quel sapere, dato che le premesse e il risultato ottenuto sono identici, quanto di un’articolazione di quel sapere in forme diverse le quali possono anche comportare effetti diversi su altre componenti del procedimento. Per esemplificare questo concetto, supponiamo di avere due software che descrivono come ottenere lo stesso pezzo meccanico con la stessa macchina a controllo numerico: i due software sono diversi, il primo permette di ottenere il risultato in un tempo minore del secondo, ma quest’ultimo comporta una minore usura della macchina o dei suoi utensili. Quale sia il più efficiente dipende dal contesto in cui la macchina a controllo numerico si trova a operare e per quanto riguarda l’articolazione del saper fare quel pezzo meccanico, potremmo paragonarla all’analogo saper fare dell’operaio (quello sostituito dalla macchina a controllo numerico) che era in grado di ottenere il risultato variando le fasi del procedimento in modo da risparmiare tempo o usura della macchina. In questo caso potremmo dire che il saper fare dell’operaio è soggettivo, complesso e dinamico, mentre i software lo cristallizzano in una procedura statica (in modo più o meno efficiente). Un altro elemento importante da sottolineare è che per produrre un software è necessario che il programmatore – o meglio il team di programmazione – «possegga» il particolare sapere che deve descrivere. Proprio per questi motivi, il valore d’uso di un software varia in rapporto all’utilità sociale (o personale) che quella determinata articolazione del sapere ha in un dato momento. Un software può divenire obsoleto perché gli subentra una versione più utile [6] e non perché la sua utilità è venuta meno [7]. L’evoluzione del sapere che il software rappresenta, avviene nell’interazione con i bisogni dell’utilizzatore oppure all’interno di una proposta di un diverso (più utile) utilizzo da parte di chi lo produce. Prendiamo ad esempio un programma di contabilità, uno di quelli che ha sostituito il «ragioniere a partita doppia». Qui il risultato atteso, ad esempio il bilancio di esercizio, è un sapere del ragioniere il quale, supponiamolo, non si intende di sviluppo del software, come d’altra parte chi sa sviluppare del software normalmente non sa niente di contabilità. È necessario, allora, per creare il programma, costituire un team del quale fanno parte almeno due figure: il detentore del sapere contabile e il detentore del sapere informatico. Dal loro interagire il sapere del contabile ne uscirà strutturato in un procedimento composto da vari passaggi i quali saranno a loro volta analizzati e scomposti in operazioni più semplici fino a poterli codificare. Successivamente, su segnalazione di chi lo utilizza o su proposta del team, potranno essere apportate delle modifiche che ne consentiranno un migliore utilizzo o che offrono nuove funzionalità. Dato che quanto appena detto vale – in linea di massima – per qualsiasi software e dato l’impatto sociale che ha questa codificazione dei saperi, vale la pena di analizzare nel dettaglio ciò che accade:


1. prima che il software venisse prodotto, avevamo due attori: il ragioniere che deteneva il suo sapere e il capitalista che ne aveva bisogno. Dal momento che quel sapere non poteva essere venduto ma solo affittato [8] sorge il rapporto di lavoro salariato per il quale il capitalista paga al ragioniere un tot prestabilito in cambio del fatto che quest’ultimo applichi il suo sapere alla contabilità dell’azienda (in ciò, bisogna sottolinearlo, c’è anche un quantum di collaborazione da parte del ragioniere).

2. Nel mentre che il software viene prodotto si aggiunge un altro attore, diciamo una software house, che si rivolge allo stesso ragioniere chiedendogli di collaborare con i suoi tecnici per definire una procedura/algoritmo che riproduca il suo sapere [9]. In realtà c’è anche un quarto attore – il programmatore – che ha un rapporto con la software house analogo a quello del ragioniere col suo capitalista. I due saperi (quello del programmatore e quello del ragioniere, visti sempre come «saperi in quel momento») entrano in rapporto unitamente alle capacità relazionali, linguistiche, emotive dei due individui. Il prodotto del loro lavoro è appunto il software gestionale di cui sarà proprietaria la software house. Attenzione, quest’ultima, come il capitalista di prima, non sarà proprietaria del sapere né del programmatore né del ragioniere, ma solo di una procedura/algoritmo codificati in modo che la macchina-computer possa eseguirlo.

3. Alla fine abbiamo quattro attori e una nuova merce. Partiamo da quest’ultima e dalla software house che l’ha prodotta: si tratta di una merce del tutto particolare, come abbiamo notato sopra. Il suo valore di scambio deriva dalla proprietà intellettuale, dal copywrite riconosciuto per legge con il diritto di proprietà di cui è, appunto, un’articolazione. La software house non venderà la procedura/algoritmo in sé [10], ma solo il diritto di utilizzarla (per sempre o per un periodo determinato) e dal momento che si tratta di una merce «immateriale» potrà riprodurla infinite volte a costo zero. Le possibilità di guadagno/profitto sono limitate solo dalla quantità di aziende che utilizzeranno il software stesso per la loro contabilità [11].

Il capitalista che acquista questo diritto di utilizzo (la licenza) potrà sfruttare a sua volta la l’«immaterialità» del software, dato che esso non si usura nel consumo. Al posto del ragioniere assumerà un impiegato/a con competenze più a buon mercato (uso del computer, infarinatura di contabilità) magari facendogli fare un breve corso per l’utilizzo del software, ottenendo vari benefici: innanzi tutto in breve tempo ammortizzerà il costo del software per poi realizzare un risparmio netto, in secondo luogo potrà monitorare la sua situazione contabile in modo più assiduo grazie alla velocità di esecuzione del computer e magari fruire anche di servizi che il ragioniere non aveva il tempo di offrigli. Forse, a volte, chiamerà ancora il ragioniere per controllare che il lavoro dell’impiegato/a sia corretto e per chiedergli ciò che, eventualmente, il software non sa dargli. Abbiamo, dunque, una «macchina» (hardware+software) che risparmia forza lavoro e la svaluta, nella migliore tradizione capitalistica.

Infine abbiamo il ragioniere e il programmatore. Il primo ha perso il posto di lavoro e, con la diffusione dei gestionali, deve «riqualificare» i suoi saperi in rapporto al contesto sociale in cui essi possono essere utilizzati. Magari diventa un commercialista che utilizza a sua volta il gestionale avendo come clienti un tot di piccolissime aziende o di privati. Egli ha un vantaggio sul software: Il suo sapere si articola e si aggiorna mentre la procedura/algoritmo rimane quella che era quando è stata prodotta con il suo aiuto.

Anche il programmatore avrà articolato e approfondito il suo sapere, sia perché adesso sa qualcosa di contabilità e di conseguenza è in grado di sviluppare altri gestionali con più facilità, sia perché l’aver prodotto quel primo gestionale gli ha fatto affinare le sue capacità informatiche, sia, ancora, perché probabilmente si sarà aggiornato sulle ultime novità in fatto di linguaggi di programmazione. Il programmatore, però, non ha perso il posto di lavoro, al contrario, dato che l’algoritmo che ha sviluppato dovrà essere continuamente aggiornato in rapporto alle modifiche legislative o ai miglioramenti sollecitati dagli utenti, la sua conoscenza della procedura sarà preziosa. Ovviamente non è insostituibile, ma certo non rischia di perdere il posto di lavoro, almeno finché la software house dovrà produrre aggiornamenti per il suo gestionale.


In questo processo di codificazione dei saperi, abbiamo visto delinearsi nuove figure produttive, nuove merci, nuovi saperi e anche il venir meno dell’utilità sociale o della domanda di altri, accanto a un aumento della produttività in senso capitalistico (cioè aumento della profittabilità) e a un aumento della «capacità lavorativa» in senso individuale/sociale.


Immagine: L’editore resta a disposizione degli eventuali aventi diritti


Note [1] «Ogni» ragionamento è un termine eccessivo, magari è più appropriato riferirsi ai ragionamenti «deterministici» cioè a quelli che, data una premessa, portano a un determinato risultato e solo a quello. [2] È necessario aggiungere che il computer è spesso associato al digitale ma ciò è vero solo nel caso particolare di una Macchina di Touring a due stati. Nella sua formulazione, infatti, la MdT assume degli stati in rapporto a ciò che la sua testina di lettura/scrittura incontra quando legge/scrive un input/output. Nella MdT a due stati la testina può andare solo avanti, indietro o fermarsi (stato indeterminato) e ciò può essere anche tradotto in una logica binaria (omologato al digit, al bit). Nulla vieta, però, di immaginare una MdT a più di 2 stati, rispetto alla quale la logica binaria sarebbe inadeguata. L’ipotesi di costruire computer analogici non è nuova anche se fu presto abbandonata a favore dell’architettura di von Neumann. [3]Intuitivamente, un algoritmo si può definire come un procedimento che consente di ottenere un risultato atteso eseguendo, in un determinato ordine, un insieme di passi semplici corrispondenti ad azioni scelte solitamente da un insieme finito. In informatica, con il termine algoritmo si intende l’applicazione di un metodo per la risoluzione di un problema adatto a essere implementato sotto forma di programma. Nel senso più ampio della parola, «algoritmo» è anche una ricetta di cucina, o la sezione del libretto delle istruzioni di una lavatrice che spiega come programmare un lavaggio. Così, «rompete le uova» può essere un passo legittimo di un «algoritmo di cucina», e potrebbe esserlo anche «aggiungete sale quanto basta» se possiamo assumere che l’esecutore sia in grado di risolvere da solo l’ambiguità di questa frase. Infine, una ricetta che preveda la cottura a microonde non può essere preparata da chi è sprovvisto dell’apposito elettrodomestico. Gli algoritmi erano presenti anche nelle antiche tradizioni matematiche, ad esempio la matematica babilonese, quella cinese o del Kerala trasmettevano le conoscenze in forma algoritmica. [4] Acquistando un software commerciale, normalmente, non si dispone del codice sorgente (cioè del programma scritto da chi lo ha sviluppato) ma solo della sua traduzione in linguaggio macchina. Diverso il discorso per il software open source dove il codice sorgente è a disposizione di chiunque voglia modificarlo. [5] Se ci sono delle differenze, significa semplicemente che un determinato sapere può essere descritto da algoritmi diversi. Ovviamente c’è anche una qualità del software prodotto e una delle sue specificazioni è proprio l’efficienza dell’algoritmo stesso rispetto ad altri possibili. [6] Si pensi ad esempio alle varie versioni di MS-Windows. [7] D’altra parte, può anche accadere che un particolare sapere perda la sua utilità sociale perché soppiantato da altri. Ad esempio, per restare in tema, oggi sarebbe privo di utilità un software che descrive la costruzione delle valvole termoioniche. [8] Il sapere, la conoscenza, sono un prodotto sociale di cui ciascuno si appropria attraverso lo studio o l’addestramento e che entra a far parte dell’individuo. Diventano un attributo del cervello, dei nervi e della carne dell’individuo stesso e ne sono inseparabili. La capacità lavorativa – quella che il capitalista mette a frutto – è la summa di tutti i saperi, sociali e non, che l’individuo ha accumulato. Essa non è alienabile, se non all’interno di rapporti sociali di tipo schiavistico, può essere solo affittata in cambio, ad esempio, di un salario. [9] Dato che nel nostro caso il sapere del ragionare ha natura sociale – si definisce in rapporto a delle norme non solo tecniche ma anche di tipo burocratico – va aggiunto che è un sapere dinamico che si ridefinisce nel momento in cui cambiano le norme tecniche o burocratiche. La conseguenza è che ciò che può rappresentare la procedura/algoritmo è solo il sapere del ragioniere in quel dato momento. [10] Al capitalista che deve fare la sua contabilità non importa un bel niente del sapere – codificato, proceduralizzato o meno che sia – gli importa solo fare la sua contabilità al minor costo possibile. A quella procedura/algoritmo potranno essere interessate altre software house che vogliano produrre dei gestionali, mentre altri programmatori e ragionieri potrebbero essere interessati proprio al sapere che questa merce racchiude. [11] Paradossalmente, si verifica che il prezzo unitaro, il valore di scambio, del software prodotto sarà tanto inferiore quante più copie dello stesso saranno effettuate, cioè quanto più «utile» è quel deteminato software. A tal riguardo può essere significativo notare che per produrre il primo esemplare dell’ultimo sistema operativo della Microsoft (Windows 7) può essere stato necessario il lavoro di centinaia di programmatori, grafici e quant’altro per – supponiamo – un anno. Tuttavia il prezzo di vendita non supera i 100-200 euro, a seconda di come viene acquistato. In realtà tale prezzo, valore di scambio, va moltiplicato per il numero di copie del software che saranno vendute, e ne saranno vendute tante di più quanto più utile/gradevole/veloce ecc. risulterà questo nuovo sistema operativo rispetto al precedente. A tutto ciò, ma non è significativo in questo ambito, bisogna aggiungere la necessità per la Microsoft di mantenere la posizione di dominio sulla diffusione dei sistemi operativi.