Questo sito utilizza cookie per raccogliere informazioni sull'utilizzo. Cliccando su questo banner o navigando il sito, acconsenti all'uso dei cookie. Leggi la nostra cookie policy.OK

Direttore responsabile Alessandro Longo

La proposta

Mobilità degli insegnanti ovvero l’informatica senza morale

di Giovanni Salmeri, Università di Roma Tor Vergata

23 Giu 2017

23 giugno 2017

Il passaggio dalla norma al programma nasconde moltissime insidie. Ma nel caso del software per la mobilità degli insegnanti la vicenda solleva alcuni problemi nuovi e difficili, in cui la politica si incrocia con la computer ethics

Personaggi

Argomenti

Una notiziola circolata in questi giorni, ancorché parziale e provvisoria, offre l’opportunità di fare qualche importante riflessione sull’evoluzione informatica dell’amministrazione pubblica da una parte, sulla computer ethics dall’altra. Anzitutto i fatti. La legge 107/2015 dà disposizioni sulla mobilità degli insegnanti, i relativi criteri vengono stabiliti dal Contratto Collettivo Nazionale Integrativo dell’8 aprile 2016. Il MIUR commissiona il programma informatico che deve gestire l’intera operazione, tramite il quale vengono decisi i trasferimenti per l’anno scolastico 2015-16. Al momento della pubblicazione dei provvedimenti di mobilità, si sollevano moltissime proteste: circa 7000 ricorsi, di cui 2000 terminati con una conciliazione. La Gilda degli insegnanti chiede al Ministero di poter visionare il software, che viene trasmesso a quattro periti, i quali firmano il 4 giugno una «Perizia tecnica preliminare». È così chiaro il motivo della cautela che abbiamo espresso fin dalle prime parole: ciò che in questo momento possiamo commentare è solo una perizia di parte, per di più provvisoria. Un audiatur et altera pars è quindi d’obbligo.

Tenendo presenti questi limiti, che cosa ci racconta questa perizia? I dati fondamentali sono, ci sembra, due. Il primo è che i periti si sono trovati di fronte a quella che, dalle loro parole, appare una galleria degli orrori. Il programma assembla due parti diverse. Una, fluviale (quasi 30mila righe), è scritta in COBOL, un linguaggio di programmazione caduto in disuso (per ottimi motivi) almeno da una trentina d’anni, eccettuati usi speciali per i quali devono essere riutilizzate librerie di codice preesistente; la riga che documenta per quale computer è generato il codice indica l’IBM/370 (un sistema annunciato nel 1970!). Lo stile di scrittura è comunque caotico e incomprensibile (i periti hanno addirittura il dubbio che sia intenzionalmente «offuscato»). L’altra parte è in C: un linguaggio invece ancor oggi usatissimo ma, come velatamente viene suggerito, poco adatto anch’esso, avendo tra i suoi meriti un’efficienza in questo caso inutile e tra i suoi demeriti una pericolosa attitudine a nascondere errori difficili da scovare: l’ultima cosa che si può rischiare in un codice dalla cui correttezza dipende il destino lavorativo di migliaia di persone. Nell’una e nell’altra parte la documentazione è pressoché inesistente. Il secondo dato è che il codice è stato fornito in un modo che ne impedisce qualsiasi verifica: forse incompleto, sicuramente mancante delle specifiche delle basi di dati sulle quali opera, infine (se ben capiamo) disponibile solo sotto forma di listati in formato PDF protetto. C’è infine un dato che non è citato dalla perizia ma risulta dai pezzi giornalistici che hanno riferito la vicenda: il programma in questione sarebbe costato al MIUR circa 440mila euro: grosso modo quanto sarebbero pagati al netto 80 anni di lavoro a tempo pieno di un bravo programmatore (non consideriamo neppure i costi del software e delle macchine necessari allo sviluppo, perché trascurabili o addirittura nulli).

In attesa di controdeduzioni del MIUR, ipotizziamo che tutto ciò sia vero. Viene voglia di classificare la vicenda come uno degli innumeri esempi di sperpero del denaro pubblico per opere mal realizzate. Eppure, anche se se ne avrebbe ben donde, bisogna resistere alla tentazione, perché la vicenda solleva alcuni problemi nuovi e difficili, in cui la politica si incrocia con la computer ethics. Cerchiamo di discuterli brevemente.

Partiamo dalla fine. Per chi non conosce un po’ da vicino gli strumenti informatici attuali è facile pensare che alcune cose siano «difficili» o richiedano strumenti eccezionali, e i programmi che li gestiscono una specie di miracolo che merita di essere pagato cifre enormi. Ovviamente questo non è vero. La perizia ripete per ben quattro volte che le operazioni richieste nel caso in questione sono assolutamente «semplici» (come conferma la lettura delle norme che il programma doveva seguire), qui aggiungiamo che la quantità di dati da gestire è risibile per un qualsiasi sistema moderno. Per fare un esempio, SQLite, il piccolo motore di database relazionale aperto e gratuito utilizzato da innumerevoli programmi ogni volta che c’è la necessità di gestire una certa quantità di dati (per esempio i segnalibri), è tranquillamente in grado di operare su milioni di record, e la capacità di un odierno smartphone è di diversi ordini di grandezza superiore a quella dell’IBM/370 che risulta essere il target di compilazione della prima parte del software utilizzato dal Ministero. Conclusione? Una conoscenza minimamente circostanziata degli strumenti informatici attuali non è oggi un optional nei gestori della cosa pubblica, ma una necessità. Non possiamo permetterci il lusso di subire errori paragonabili a quelli di un «padre di famiglia» (come si usa dire in diritto) che pagasse tranquillamente 100mila euro un rifacimento in moquette del bagno di servizio di casa.

Ma la vicenda mostra anche che non è più accettabile che gli strumenti informatici che gestiscono aspetti della vita e della professione delle persone non siano immediatamente pubblici e controllabili tanto quanto la normativa che essi debbono rendere operativa. Il problema che i periti con malcelata irritazione hanno evidenziato, e cioè il fatto che ciò che è stato fornito loro impedisce qualsiasi test, è insomma solo una parte di una questione più fondamentale. Nella storia della civiltà la scrittura delle leggi e la loro pubblicità hanno svolto un ruolo centrale nell’affermazione del diritto. Una parte paragonabile deve oggi essere svolta dalla completa pubblicità delle procedure informatiche seguite. Credo che possa essere anche sostenuto che esse, analogamente al testo delle leggi, non possano venire coperte da nessun copyright.

Il problema tuttavia non finisce qui. Una lettura rapida della perizia potrebbe far pensare che, una volta che il MIUR fornisse i programmi completi e le specifiche delle basi di dati, sarebbe finalmente possibile «controllare» se il programma è privo di errori. Purtroppo le cose non stanno così: anche in tal caso sarebbe impossibile. Secondo una massima spesso ripetuta, qualsiasi prova può sì mostrare la presenza di errori in un programma, ma non la sua assenza! Il motivo: anche il più semplice codice informatico è scritto per risolvere una classe generale di calcoli, per la quale è praticamente impossibile provare tutti i possibili casi.

Non c’è nulla che esclude a priori quindi che in qualche caso limite, o con una combinazione imprevista di dati, il risultato fornito sia errato. (Si noterà quanto questo ragionamento sia analogo al principio di falsificazione di Popper, una delle pietre miliari della filosofia della scienza contemporanea.) Che cosa significa questo? Significa che di un programma si può affermare la correttezza non «provandolo», ma solo dimostrando che esso realizza il calcolo desiderato. Ma questa operazione è fattibile solo se il programma è scritto nella maniera più semplice possibile e in maniera strutturata. Era questo il principio che, a metà strada tra la computer ethics e la riflessione matematica teorica, Edsger Dijkstra esprimeva sotto il titolo the humble programmer: la testa umana è sempre piccola in confronto a grandi programmi, che possono quindi essere ritenuti affidabili solo se ricondotti alla dimensione della prima. Una brutta notizia quindi per i docenti coinvolti nella mobilità (o forse per il MIUR): non si potrà mai dimostrare che quelle 30mila righe di COBOL e quelle 3500 righe di C siano corrette (tanto più che soprattutto il COBOL ha una forte propensione ad accogliere uno spaghetti code impossibile da districare). Morale? Uno stile di programmazione semplicissimo e strutturato è un’esigenza non solo tecnica, ma anche etica e politica. In una vita pubblica sempre più complessa e controllata da sistemi informatici non possiamo permetterci di sospettare che sepolti in decine di migliaia di righe incomprensibili vi siano non solo errori, ma addirittura truffe o sabotaggi.

In tutto questo c’è però anche un’opportunità positiva. Che una norma sia accompagnata dallo strumento informatico che la mette in opera significa anche che essa abbandona i tratti di ambiguità che spesso invece la circondano. La perizia nota con sconcerto che in alcuni punti il codice fornito dal MIUR contiene commenti con cui il programmatore ammette di non essere affatto certo di che cosa debba essere fatto. In effetti, questo è tutt’altro che raro: quante volte di un testo oscuro di una norma vengono chiesti chiarimenti? e quante volte le ambiguità non erano affatto presenti alla mente di chi ha formulato la normativa, tanto che cercare di immaginare che cosa egli intendesse è un esercizio inutile? Ebbene, la traduzione in un algoritmo chiaro e documentato non risolve certo in generale questo problema (e ne crea altri: esiste anche il feticismo delle formule!): però elimina almeno una classe di possibili ambiguità e incoraggia una disciplina mentale che non è mai mal impiegata nella gestione della cosa pubblica. Se l’informatizzazione dell’amministrazione non sarà solo un aumento di strumenti ma anche un progresso di consapevolezza e di cultura, i vantaggi saranno molti e per tutti. Altrimenti, prepariamoci al peggio.

  • Andy

    Innanzitutto mi complimento per la trattazione: completa e precisa e piena di osservazioni pienamente condivisibili. Mi permetto però di aggiungere alcune considerazioni, ed integrare con alcune informazioni che ho reperito in questo lungo anno – essendo familiare di una “vittima” degli errori dell’algoritmo della mobilità 2016.

    1. Il risultato dell’algoritmo della mobilità non è ascrivibile soltanto a problemi prettamente informatici, ma di fatto l’algoritmo è stato proprio “progettato” in maniera non etica – o comunque, mi permetto di dire non legale. Vi sono due prove a sostegno di quanto dico:

    a) in un memorandum, fornito dal ministero come prima risposta alle rimostranze sindacali è chiaramente affermato che il dataset di input è ordinato prima per preferenza espressa e poi per precedenza ed infine per punteggio – tale criterio di ordinamento fa si che chi ha avuto la fortuna di esprimere nelle prime posizioni ambiti aventi molti posti disponibili riesce ad averlo assegnato a discapito di chi anche con un punteggio molto più alto lo ha espresso in una posizione più in basso. Ciò è contrario alle normative (che non cito per non tediare – ma che giungono fino ad un articolo della costituzione) che regolano qualsiasi procedura concorsuale nella pubblica amministrazione in cui deve valere il criterio di scorrimento della graduatoria secondo il punteggio (salvo, ovviamente, precedenze di legge relative a disabilità di familiari, ecc…)

    b) lo afferma il MIUR stesso – che questo è il criterio – nelle varie memorie difensive presentate negli innumerevoli ricorsi dei docenti presso i tribunali del lavoro di mezza Italia.

    Ciononostante confrontando i dati di alcuni docenti di mia conoscenza sembra che in alcuni casi neanche questo criterio sia stato applicato; questo ci porta direttamente al secondo punto.

    2. Il risultato della mobilità è stato divulgato con circa dieci giorni di ritardo – qualcuno ha mai dato una spiegazione? È facile ipotizzare nottate di sviluppatori che cercano di ovviare a crash del software, re-installazioni, cambi di server, e come sa chi lavora nell’ambiente informatico, anche raffazzonamento manuale degli output.

    3. E veniamo ai giorni nostri, ovvero facciamo un salto indietro, la mobilità del 2017 è stata fatta con le procedure informatiche pre-esistenti che funzionavano secondo legge, per le quali inspiegabilmente era stata disposta la sostituzione con quei famosi 440.000 euro presi mi sembra da un accordo quadro – raccogliendo informazioni qua e là, in nome di una
    trasparenza che nel nostro paese non esiste – il software deve essere stato realizzato all’interno di un accordo di forniture informatiche. Ma dal momento che il ritorno al passato è un
    implicita ammissione degli errori compiuti, è stato individuato un responsabile? Ne ha pagato le conseguenze? O come nella peggiore tradizione italiana, si è defilato, o lo si è defilato, destinandolo ad altri incarichi?

    4. mi permetto infine una considerazione “politica” (nel suo senso più alto – e non nel volgare riferimento a quello che oggi si intende con riferimento ai partiti) – l’obiettivo di chi ha le redini di un paese è quello di garantire diritti, certo il lavoro, ma anche la “tranquillità sociale”, spostare migliaia di mamme dai propri figli, in nome di un diritto, negato per anni (chi era nelle graduatorie ha comunque superato concorsi – corsi abilitanti, ecc.) non solo è sbagliato, ma dimostra anche una visione molto parziale, a tratti miope, del problema la cui soluzione, a mio parere è anti-sociale, oltre che immorale. Poi quello che è successo è noto a tutti, ed i responsabili a livello “alto” ne hanno pagato le conseguenze, senza
    però che, ad oggi, siano state veramente intraprese reali misure correttive definitive – la mobilità 2017 ha lasciato maggior parte delle docenti esiliate lontane da casa.

Articoli correlati