jump to navigation

Il Governo e la scuola al tempo del Covid lunedì 11 maggio 2020

Posted by andy in Politica, Pubblica Amministrazione.
Tags: , , , ,
add a comment

A volte viene da chiedersi se a Roma chi è incaricato di gestire l’istruzione italiana sia mai andato a scuola.

Se ne potrebbe parlare all’infinito, ma alcune proposte degli ultimi giorni fanno pensare …

Ad esempio, c’è chi ha proposto per la ripresa della scuola a Settembre di far entrare le classi scaglionandole una ogni quarto d’ora …

Comprendo benissimo che in questo periodo il Governo ha problemi colossali da risolvere, ma i ministri si avvalgono anche di schiere di consulenti specializzati che sono incaricati di occuparsi dei dettagli dei problemi, e che dovrebbero anche avere cognizione della materia di cui si deve occupare il ministero a cui sono assegnati …

È possibile che il ministro si sia circondato di incompetenti? È possibile che il ministro non abbia neppure uno straccio di senso critico per rimandare a casa persone che propongono cose assurde, invece che rimbalzarle assumendosi le responsabilità di ciò che propongono?

Ora, una scuola con 22 classi impiegherebbe circa 5 ore e mezza per far entrare tutti gli allievi, ed al termine dell’ingresso dell’ultima classe dovrebbe iniziare a far uscire gli allievi, per altre 5 ore e mezza.

In pratica, se il primo allievo entra alle 8, l’ultimo esce alle 19 …

Viene naturalmente chiedersi come sarebbe possibile organizzare le lezioni in questo modo, come potrebbero organizzarsi i genitori per portare a scuola i figli e per tornare a riprenderli ed infine cosa ne penserebbero docenti e sindacati …

Supponendo pure di avere due ingressi, si potrebbero ridurre i tempi a quasi tre ore: il problema non cambierebbe sostanzialmente ed i docenti si troverebbero a dover gestire delle lezioni ‘itineranti’ …

Ho usato soltanto somme, moltiplicazioni e divisioni: possibile che al Governo non sappiano fare neppure i conticini della massaia (roba da elementari)?

E non è finita: c’è anche chi propone di tenere gli esami di terza media durante le ultime settimane di scuola: un insegnante ad esempio di musica con tre corsi si trova ad avere circa 3 x 25 = 75  studenti che devono fare l’esame.

Supposto di dedicare (ottimisticamente) anche soltanto un quarto d’ora a studente, si riescono ad esaminare 4 allievi all’ora, per un totale di quasi 20 ore: in pratica tale docente si troverebbe ad avere tutto il proprio orario impegnato per seguire gli esami, senza poter essere in classe a tenere lezione.

Resta poi da chiedersi chi terrebbe le classi in tali ore …

Perché non posticipare gli esami a dopo il termine della didattica? I docenti sono comunque pagati per 12 mesi all’anno.

Non parliamo poi degli strumenti dedicati alla didattica a distanza, ove il Governo ha totalmente ignorato le proprie responsabilità, delegando ciecamente ogni scuola ad arrangiarsi con quello che trovava, con il prodotto che più o meno di grido, o che stava più o meno simpatico a questo o quel docente, senza considerare che tutti gli strumenti utilizzati (Zoom, GSuite, etc.) trasferiscono dati di minori negli Stati Uniti (extra UE) senza alcun accordo scritto sulla protezione dei dati e senza alcun coinvolgimento del Garante per la Privacy, che si è defilato anche questa volta, come per tutti gli strumenti adottati per lo ‘smart working‘ (o lavoro agile) della Pubblica Amministrazione.

Devo tuttavia osservare che vi sono anche proposte interessanti, come quella di organizzare la didattica in due sessioni, una mattutina ed una pomeridiana, sfalsate rispetto agli orari di punta, in modo da dimezzare la quantità di studenti presenti a scuola e ridurre la congestione dei mezzi negli orari di punta.

 

L’App di Google ed Apple per il Contact Tracing Covid-19 venerdì 8 maggio 2020

Posted by andy in Information Security, Internet e società, privacy, tecnologia, Uncategorized.
Tags: , , , , , , , , ,
add a comment

Google ed Apple sono sempre in prima linea per aiutare gli utenti, rigorosamente gratis perché, come è noto, sono sono organizzazioni no-profit di beneficenza.

Ed anche con l’emergenza CoronaVirus non hanno perso tempo, e (pur essendo concorrenti) sono riuscite a mettersi d’accordo in un instante su uno standard di interoperabilità per realizzare un’app di contact tracing per tracciare i contatti da CoronaVirus.

Occorre intanto fare una precisazione: Android (Google) ed iOS (Apple) si spartiscono praticamente la totalità del mercato mondiale dei dispositivi mobili (circa i tre quarti del mercato per Android, un quarto per iOS, ed un misero 1% ad altri sistemi operativi).

E veniamo agli aspetti inerenti la privacy, tanto cari alle persone (che su FaceBook, WhatsApp, Instagram, etc. raccontano ogni istante della propria vita, cosa fanno, dove sono, i propri pensieri ed i propri gusti e le proprie preferenze).

In nessun caso le app prescelte potranno raccogliere informazioni sulla geolocalizzazione dei soggetti: ciò significa che chi gestirà i sistemi di raccolta e correlazione delle informazioni non avrà accesso a tale informazione.

È invece vero che Google ed Apple conosceranno tutti gli utenti che hanno installato l’app (per poterla installare occorre un account Google / Apple), e la loro posizione (come pensate che queste aziende possano conoscere in ogni istante lo stato del traffico di ogni strada del pianeta ed offrirvi informazioni pertinenti alla vostra posizione?).

Devo deludere coloro che pensano che la geolocalizzazione di un dispositivo si possa fare soltanto mediante il GPS: può essere fatta in vari altri modi che, se usati in combinazione, possono aumentare la precisione ottenuta con un singolo approccio; è possibile geolocalizzare un dispositivo mediante la celle telefoniche a cui si aggancia, le reti Wi-Fi a cui si connette, il suo indirizzo IP, nonché eventuali connessioni Bluetooth.

Esistono poi altri attori ‘trasversali’, che si possono inserire nel mezzo, tra l’app e Google/Apple: tanto per non fare nomi, scegliamo un produttore a caso: Xiaomi (altrettanto vale per altri produttori, in relazione alla loro aggressività commerciale).

Chi ha acquistato uno smartphone Xiaomi avrà certamente notato che ogni app preinstallata sul dispositivo chiede l’accettazione della politica per la privacy di Xiaomi (che naturalmente l’utente legge per filo e per segno fino all’ultima riga!) e di concedere a tali app un mare di autorizzazioni.

Grazie a tali autorizzazioni il vostro smartphone invierà al produttore un mare di informazioni, ed anche se qualche informazione non viene inviata oggi, potrà essere inviata dopo il prossimo aggiornamento delle app (ad esempio, quali app sono installate, quali dispositivi Bluetooth vengono incrociati, la vostra posizione, etc.).

Passiamo ad un’altra considerazione: Google ed Apple si sono affrettate provveduto a sviluppare e rendere disponibili le librerie software che servono per sviluppare le applicazioni, fornendo anche esempi di codice, per facilitare il lavoro degli sviluppatori.

La disponibilità di queste librerie implica che le applicazioni di tracciamento utilizzeranno software e servizi sviluppati da altri, su cui non vi è controllo, e addirittura, per la legge sulla protezione della proprietà di ingegno, è vietato ed è un reato effettuare il reverse engineering del codice per capire cosa effettivamente faccia …

Quindi, anche se chi sviluppa l’applicazione ed il servizio che riceverà i dati non potranno raccogliere informazioni sull’identità e sulla geolocalizzazione dell’app e dell’utente, questo non è necessariamente vero per Google ed Apple, che in ogni istante dispongono dell’identità del dispositivo e dell’utente che lo utilizza (oltre ad un mare di altre informazioni – si veda sopra).

L’idea poi che il memorizzare le informazioni soltanto localmente sul dispositivo dell’utente serva a garantire la privacy, in realtà serve soltanto a non rendere disponibile centralmente ai governi l’informazione, mentre Google ed Apple (almeno per i propri ecosistemi) già la possiedono, grazie al fatto che grazie alla geolocalizzazione ed alle reti di contatti già possedute possono sapere chi è stato vicino a chi (non stupitevi: già anni fa FaceBook inferiva conoscenze tra persone grazie al ripetersi di situazioni in cui due o più persone con account FB si trovassero nel medesimo luogo nello stesso momento …).

Se poi il sistema centrale che raccoglie le informazioni delle app è il loro, e non uno predisposto ad hoc da ogni governo, ci si rende conto che Google ed Apple disporranno (come società private) di una mappa mondiale dei possibili contagi mentre i singoli governi potranno accedere probabilmente soltanto ad un sottoinsieme di tali informazioni.

E questo potrebbe spiegare la fretta con cui questi due colossi, pur essendo concorrenti,  si sono messi d’accordo: sapere chi è potenzialmente infetto (o lo è stato) e chi è potenzialmente interessato a vaccini e farmaci per la cura dell’infezione rappresenta un mercato praticamente infinito per le case farmaceutiche.

Utilizzi ancora peggiori di queste informazioni possono includere l’ostracizzazione di persone risultate positive, la discriminazione nell’accesso ad aziende o territori, o anche nella selezione del personale da parte delle aziende.

Inoltre, mentre gli Stati si impongono dei termini per la conservazione di queste informazioni, chi potrà mai andare a controllare se Google ed Apple le distruggeranno veramente, e quando?

Ed in conclusione, visto che queste considerazioni le può fare qualsiasi cittadino, ritengo che il problema meriti un serio approfondimento da parte del Garante per la Privacy, tenendo conto che è in ballo una questione di trattamento di dati personali e sanitari.

Qualche riferimento:

Quanto vale oggi l’Accademia della Crusca? venerdì 1 maggio 2020

Posted by andy in pensieri, qualità.
Tags: , , ,
add a comment

A cosa serve una lingua, un linguaggio? Di fatto, è una semplice convenzione per poter comunicare, inviare informazioni potendo presumere che verranno recepite e comprese con il significato che si intendeva trasmettere.

Ciò significa che i termini che vengono utilizzati devono avere un significato univoco e condiviso.

Questo può naturalmente non essere vero se le parti non hanno convenuto su un singolo linguaggio, ma uno trasmette utilizzando una lingua, e l’altro ‘riceve’ (ascolta) in un’altra.

 

Occupandomi di Informatica, sento spesso utilizzare termini quali scansionare, scannerizzare e scannare, per indicare l’azione di digitalizzare un documento.

Volendo andare a vedere l’etimologia del termine scandire, esso deriva dal Greco (schedos), e poi dal Latino scandĕre, con il significato di distinguere / separare i versi, da cui poi per derivazione in Italiano si utilizza il termine per scandire bene le parole, e così via.

Il salto tecnologico è stato fatto con i primi apparecchi di digitalizzazione, da cui poi sono derivati anche i telefax, poi abbreviato in fax: la trasmissione delle immagini avveniva infatti mediante la scansione, punto per punto, della superficie, in modo da assegnare ad ogni punto un valore bianco o nero, codificando e trasmettendo poi tale valore all’apparecchio ricevente, che in relazione al valore ricevuto stabiliva se non stampare nulla oppure stampare un punto nero, e passare quindi al punto successivo.

Il verbo ‘scandire’ si traduce in Inglese con ‘to scan’, e per estensione il dispositivo che effettua la scansione è stato denominato ‘scanner’.

Purtroppo la diffusione di tale tecnologia (sviluppata e commercialmente principalmente da paesi anglosassoni) ci ha portati a derivare da tale nome un nuovo verbo che, non esistendo (o meglio, essendo già esistente ma ignorando i più la sua esistenza), ha dato ampio spazio a coniare neologismi di ogni tipo quali, appunto, scansionare, scannerizzare e scannare.

A parte il fatto che il termine corretto dovrebbe essere scandire, o al più digitalizzare, il neologismo che più mi interessa è scannare.

Tale termine già esiste nella lingua italiana, ma ha un significato totalmente diverso: si tratta infatti dell’azione di uccidere un animale recidendo le arterie del collo e la trachea.

Ed è tempo ora di tornare al concetto di linguaggio ed alla necessità di evitare ambiguità.

Facciamo un esempio banale: in italiano sappiamo tutti che il ‘burro‘ è un derivato del latte; tuttavia in spagnolo la parola ‘burro’ ha il significato di ‘asino‘.

È evidente quanto sia importante concordare sul significato delle parole, onde evitare di spalmare quadrupedi su fette di pane, o di caricare qualche quintale di legna su un panetto di latticino.

Immaginatevi ora se la stessa parola avesse addirittura due significati (non accezioni) nella medesima lingua: sarebbe come dire che in Matematica il numero 2 può valere due unità, ma anche 123456, o in Fisica, che il grammo può rappresentare un peso ma anche una lunghezza.

Per fortuna c’è chi si occupa di impedire questo tipo di ambiguità.

Per la lingua italiana, il garante riconosciuto della purezza della lingua è l’Accademia della Crusca; tra i suoi principali obiettivi leggiamo: “acquisire e diffondere, nella società italiana e in particolare nella scuola, la conoscenza storica della nostra lingua e la coscienza critica della sua evoluzione attuale”.

Se l’Accademia non si premura di chiarire l’esistenza e la differenza tra i termini ‘scandire‘ e ‘scannare‘, chi lo deve fare?

Essere al passo con i tempi e mantenersi aggiornati non significa rinunciare alla propria missione per non dire al popolo che sta utilizzando il termine scorretto: in questo modo non si produce cultura ma ignoranza, e si fa perdere di credibilità ad un’Istituzione che ha quasi cinque secoli di storia.

Vorrei lanciarmi in qualche considerazione sull’utilizzo del termine ‘suggestione‘ adottato da molti giornalisti in questi ultimi anni nell’accezione di ‘suggerimento‘, grazie all’ignorante traduzione dall’inglese di ‘suggestion‘, ma questa è un’altra storia …

Il SW, lo Stato e l’Esportazione in USA delle Tasse dei Cittadini venerdì 1 maggio 2020

Posted by andy in FLOSS, Information Security, Miglioramento, Pubblica Amministrazione, tecnologia.
Tags: , , , , , , , , , , ,
add a comment

Premessa

Penso che siano pochi (sempre che esistano!) i paesi in cui tutti i contribuenti siano felici di pagare le tasse nella misura in cui le pagano: sorgono sempre dubbi sulle capacità dello Stato di spendere al meglio le risorse raccolte.

Con questo mio pensiero provo a sollevare anch’io qualche dubbio, proponendo naturalmente anche una soluzione (mai lamentarsi se non si ha qualcosa di meglio da proporre!).

Mi concentrerò in questo post su come vengano spesi i soldi per l’acquisto di software commerciale da parte della PA, suggerendo delle ipotesi per impiegare meglio almeno parte di tali fondi.

Una stima della spesa per il SW da parte della PA

Prendiamo il tema degli acquisiti di software commerciale da parte della Pubblica Amministrazione, dove la parte dei leoni la fanno sempre i soliti grandi nomi (Microsoft, Oracle, VMware, Adobe, etc.)

Escludo quindi qualsiasi software ‘custom’ sviluppato ad hoc per la PA, nonché qualsiasi servizio di assistenza, configurazione, etc.

Al paragrafo 3.2.3 (La spesa ICT per macrovoci hardware e software, pag. 32) della relazione di AgID sulla spesa ICT nella PA italiana, possiamo osservare che la spesa effettiva dal 2016 in poi, e previsionale per il 2019, è sempre stata superiore ai 700 milioni di Euro (addirittura 850 nel 2018).

Stiamo parlando di circa 12 Euro per cittadino italiano (inclusi infanti e pensionati) e di circa 64 Euro per ogni contribuente (escludendo quindi infanti, pensionati, persone con reddito minimo non soggetto a tassazione, disoccupati, etc.).

Dove vanno a finire tutti questi soldi? nella maggioranza dei casi, negli Stati Uniti.

È davvero necessario esportare tutti questi capitali, impoverendo lo Stato ed i contribuenti?

A cosa serve tutto questo SW?

Intanto chiediamoci a cosa serve tutto questo software di cui acquistiamo licenze d’uso.

In generale, possiamo suddividere tutto questo software in tre categorie principali:

  • software ‘server side’, ovverosia sistemi di virtualizzazione (VMware, …), sistemi operativi server (Microsoft, e parzialmente RedHat, ora IBM), e motori di database (Oracle, Sybase, …);
  • sistemi operativi lato client (Microsoft);
  • software di office automation e programmi di utilità (Office, Skype, Teams della Microsoft, Acrobat Pro della Adobe, etc.)

È importante anche chiederci cosa effettivamente acquistiamo: si tratta di licenze d’uso, e non della proprietà dei prodotti: acquistiamo quindi la sola possibilità di utilizzare un prodotto, sottostando alle condizioni commerciali imposte dai fornitori.

 

Una stima della spesa per il SW da Parte della PA

Ho provato a cercare il numero di dipendenti pubblici in Italia, ed ho trovato varie stime, più o meno aggiornate, ma il numero supera sempre i 3.000.000 di persone.

Non so se quella che vado a fare sia una stima corretta, ma nell’era dell’informatizzazione ipotizzerò che circa 1.000.000 utilizzi un computer per svolgere almeno parte delle proprie attività; tenendo conto dei numeri dei ministeri, oltre a quelli delle regioni e dei comuni, credo che la stima possa essere considerata ragionevole.

Naturalmente non dispongo dei numeri effettivamente contrattati dalla PA, ma sono stime ragionevoli quelle di 84$/anno per Windows 10 Enterprise (volume licensing), mentre al dettaglio Office 2019 Professional viene 440$: farò una stima di 116$/anno con una licenza analoga a quella di Windows (tanto per fare una cifra tonda di 200$/anno).

Il tutto senza contare che molto spesso i computer vengono acquistati già dotati di una licenza Microsoft, a cui occorre aggiungere quella ministeriale acquistata nei contratti quadro tra PA e fornitore

L’importo non è esatto, ma certamente non si discosta molto dalla realtà; in ogni caso, se così fosse, 1.000.000 PC x 200$ / anno = 200 milioni di dollari all’anno per Microsoft.

Se ad ogni utente viene dato un PC con Windows ed Office, ed ipotizzando che CONSIP sia riuscita ad ottenere mediamente dei prezzi di mercato, una postazione di lavoro viene a costare, come software di base, circa 200$/anno – si vadano i conti precedenti.

Non entro nel merito dell’hardware, che purtroppo in alcuni contesti non viene aggiornato in relazione alle esigenze degli utenti, ma troppo spesso viene sostituito troppo presto nonostante la possibilità di funzionare egregiamente ancora per anni.

Le licenze server di Microsoft vengono al dettaglio circa 1.000$ / processore – ipotizziamo che per la PA vengano soltanto 600$/processore, che ripartite su un periodo di 3 anni fanno 200$/anno/processore.

Quanti server e quanti microprocessori avrà la PA? Ipotizziamo (e sto facendo l’ottimista) 10.000 server e 2 core ciascuno, per un totale di 20.000 core, e quindi 20.000 core x 200$/core/anno = 4.000.000$/anno.

Veniamo ora alla virtualizzazione: quante saranno le istanze di virtualizzazione attive in Italia? Al momento non sono riuscito a reperire (e penso che sia impossibile) un numero certo.

Utilizzerò come stima il valore di una istanza ogni 10 server, che dovrebbe ottimisticamente mediare tra le installazioni con un più elevato livello di consolidamento dei server e quelli ancora non virtualizzati (senza contare tutte le installazioni di disaster recovery, che di fatto raddoppiano il numero di istanze e quindi di licenze).

La licenza per un’istanza con il servizio di assistenza e supporto per tre anni viene circa 3.000€/anno, per un totale di circa 10.000 server / 10 x 3.000€/anno = 3.000.000€/anno.

E poi ci sono Oracle, RedHat ed altri software server side di produzione, con i relativi contratti di assistenza e supporto business.

Per Oracle, ipotizzando anche soltanto 1.000 installazioni in tutta Italia (in generale su sistemi con un discreto numero di processori), ipotizzando anche soltanto 10.000$/processore/anno e 4 processori/server, troviamo 1.000 x 4 x 10.000$/anno = 40.000.000$/anno.

Ed in quanto sopra riportato non sono stati conteggiati tutti i pacchetti e moduli software aggiuntivi per l’amministrazione, il monitoraggio, l’integrazione, l’alta affidabilità, etc. etc. etc.

Come potete vedere, facendo dei conti assolutamente conservativi, emergono rapidamente le centinaia di milioni di Euro all’anno, che regolarmente vengono trasferiti negli States.

Tutto questo software commerciale è realmente indispensabile?

Chiediamoci ora se realmente tutto il software di cui acquistiamo la licenza d’uso sia indispensabile, o se possa essere sostituito da altro più economico.

Per la parte server, esistono due tipi di sistemi: quelli cosiddetti ‘di produzione‘, e quelli di sviluppo, di test, o dedicato ad applicazioni non critiche.

Per la parte client (ovverosia il computer, fisso o portatile) assegnato agli utenti, occorre chiedersi quali siano le attività che vengono principalmente svolte dagli utenti, che sostanzialmente sono:

  • consultazione della posta elettronica;
  • navigazione su Internet mediante un browser;
  • condivisione di file tra utenti;
  • office automation (redazione di documenti, gestione dati mediante fogli elettronici, e qualche presentazione …)
  • comunicazioni e videoconferenze (questo è vero soprattutto da quando si è iniziato a fare smart working in seguito alla pandemia di Codiv-19).

Naturalmente gli usi sopra descritti sono riferibili soltanto alla grande maggioranza di utenti, e non a quelli che svolgono attività particolari).

È importante ora fare una considerazione: il pianeta (inteso come infrastrutture e servizi informatici) funziona sostanzialmente utilizzando software libero (libero nel senso di open source, e non di gratuito): il fatto che un software sia libero non esclude che si possano pagare servizi di assistenza e supporto:

Perché questa considerazione?

Perché la stragrande maggioranza delle esigenze delle aziende e degli utenti possono essere soddisfatte con software libero, sia lato server che lato client.

Ciò che conta, in un ambiente di produzione, non è il ‘possesso’ di un prodotto (o almeno del diritto di utilizzarlo), ma un servizio di supporto che supporti il cliente nella risoluzione dei problemi che si presentano (e naturalmente di una consulenza per progettare e far evolvere i propri sistemi informativi).

Se leggete le condizioni di licenza dei diversi prodotti commerciali citati, noterete che sono previsti due tipi di importi da pagare: uno (obbligatorio) per acquisire il diritto di utilizzare il prodotto (alle condizioni imposte dal produttore), e l’altro (facoltativo) per avere il diritto di chiamare qualcuno chiedendo aiuto se qualcosa va storto …

Ecco, il software libero vi libera dalla prima voce, lasciandovi naturalmente la libertà di decidere se pagare un servizio di supporto o no per le applicazioni che ritenete più critiche.

Un aspetto interessante è che mentre nel caso di software proprietario, sia il costo della licenza che quello per i contratti di supporto vanno al produttore, nel caso di software libero avete (appunto!) la libertà di rivolgervi a chiunque riteniate sufficientemente qualificato per gestire i vostri potenziali problemi.

Un altro aspetto, fondamentale, che differenzia il software libero da quello proprietario, è la sua apertura: non è possibile trovarsi in situazioni di ‘lock-in’, ovverosia di essere costretti a mantenere un prodotto o un fornitore, perché le modalità in cui il produttore ha implementato alcune funzioni rende il prodotto incompatibile o non interoperabile con altri prodotti, liberi o di altre parti (limitando persino la possibilità di sviluppare in house del software di adattamento).

E concludo questo paragrafo sintetizzando il fatto che non è indispensabile utilizzare software proprietario: naturalmente esistono prodotti commerciali che sono migliori di prodotti liberi (così come è vero il contrario!); per applicazioni specifiche, in cui si ritiene che un prodotto commerciale sia più appropriato, è corretto selezionarlo ed utilizzarlo.

Ma ciò non è vero nella stragrande maggioranza dei casi.

Sicurezza nazionale

A parte ogni considerazione sugli aspetti economici, è da considerare anche l’aspetto della sicurezza nazionale; infatti come può lo Stato essere certo che non vi siano backdoor all’interno del software acquistato (anzi: licenziato) e che non vi siano meccanismi che possono consentire a ‘qualcuno’ di bloccare il funzionamento del software?

Di fatto il solo meccanismo dell’attivazione del software è un meccanismo simile: se il software non viene riconosciuto come valido dalla casa produttrice (o da un suo sistema installato nelle reti aziendali), il software smette di funzionare.

E c’è di peggio: l’utilizzo sconsiderato che si è recentemente iniziato a fare in occasione dello smart working di tecnologie quali Skype, Teams, WebEx, GSuite, Google Drive, OneDrive, (Dropbox?), ha di fatto messo in mano ad aziende private statunitensi una quantità smodata di documenti e conversazioni riservate ad ogni livello istituzionale.

C’è qualcuno che ha fatto un’analisi dei rischi? Ritengo di no, altrimenti si sarebbero prese altre strade da molto tempo.

Adozione del software libero nella PA

Con il CAD, la PA si è imposta delle regole finalizzare a razionalizzare la spesa e ridurre gli sprechi (e, perché no? anche l’impoverimento dello Stato con esportazione continua di capitali all’estero), imponendo la predilezione del software libero, a meno di motivatissime e documentate ragioni.

Ulteriore aspetto fondamentale è che la PA si è imposta l’obbligo dell’adozione di standard aperti, che garantiscono l’interoperabilità tra piattaforme di qualsiasi tipo: ciò di fatto esclude ogni software proprietario che implementa funzioni, o formati di dati, o protocolli, non interoperabili con le omologhe implementate mediante standard aperti.

Quanto sopra porta al fatto che la PA deve utilizzare soltanto software libero, a meno di specifiche e giustificate ragioni, e che qualsiasi software sviluppato per la PA deve conformarsi soltanto a standard aperti (per i formati dei dati, dei file, per i protocolli di comunicazione, etc.), e deve essere rilasciato sotto licenza libera.

Limiti e problemi nell’adozione del software libero nella PA

Quanto esposto al punto precedente è un ideale (speriamo che non sia un’utopia).

Cosa limita la PA nel rispetto del CAD che essa stessa si è data?

Le ragioni sono tante, e non penso di riuscire ad identificarle tutte in questo post; tuttavia, tra le tante, vediamo:

  • mancanza di informazione: se ogni dipendente statale venisse informato sul costo del software che pretende di utilizzare al posto di quello libero, e di quanto soldi ogni anno gli vengono trattenuti sullo stipendio per le tasse, probabilmente accetterebbe più favorevolmente l’evoluzione;
  • disinformazione diffusa: troppo spesso gira la voce che il software libero non è all’altezza di quello libero, ma se gli utenti sapessero che i propri smartphone utilizzano software libero, così come FaceBook, Google ed il proprio router Internet di casa, probabilmente proverebbero a considerare la cosa con maggior obiettività;
  • direttori e dirigenti non sufficientemente competenti, responsabili e motivati, che spesso vedono in queste attività soltanto la fatica immediata, le seccature derivanti nel breve termine, e qualche responsabilità da assumersi con scelte a volte non comode;
  • mancanza di adeguate competenze di committenti e responsabili di sistema, e dell’eventuale supporto specialistico, senza le quali non è possibile preparare adeguati capitolati e specifiche di collaudo;
  • … e (perché no?) potenziali interessi (visti i numeri in gioco) che esulano da quelli dello Stato (come si dice, a pensar male si fa peccato, ma spesso ci si azzecca …).

Cosa si può (e lo Stato dovrebbe) fare …

Premetto che so che lo Stato ha tempi lunghi, ed il CAD lo dimostra: è del 2005, ma a distanza di 15 anni ancora il software e le comunicazioni sono in mano agli Stati Uniti (si colga ora l’occasione per rileggere il paragrafo sulla sicurezza nazionale …).

Cosa si potrebbe fare? occorre agire almeno sui seguenti fronti:

  • tecnico / legale: predisporre specifici allegati standard, sia tecnici che legali, che devono essere acclusi ad ogni bando di gara per forniture software, chiarendo quali sono gli standard (aperti!) adottati dalla PA e quali sono le modalità standard per l’interoperazione e collaborazione tra sistemi; tali documenti devono definire anche in modo chiaro e formale come devono essere predisposte le specifiche di collaudo ed accettazione, in modo da evitare situazioni in cui la PA è costretta ad accettare delle forniture inadeguate perché i requisiti progettuali sono stati prodotti da persone non competenti o senza cognizione della destinazione d’uso del prodotto da realizzare;
  • formazione delle stazioni appaltanti: è indispensabile formare e fornire gli strumenti alle stazioni appaltanti per verificare la conformità normativa delle richieste di acquisto per software commerciale e per lo sviluppo di software applicativo per la PA;
    per il primo, deve esistere la necessaria analisi prevista dal CAD, sottoscritta da una persona competente e responsabile per il progetto da realizzare, e
    per il secondo, occorre accludere ai bandi gli allegati standard di cui sopra per tutte le commesse di sviluppo software, in cui sia chiarito che qualunque prodotto che non si conformi a standard aperti, e che non si conformi alle architetture ed ai requisiti standard definite dalla PA non potrà essere collaudato né accettato;
  • client: questa è la nota dolente: l’utente finale è estremamente refrattario ai cambiamenti; tuttavia piattaforme client non standard lasciano aperta la strada ai fornitori per lo sviluppo e la fornitura di sistemi che mantengono il lock-in del cliente; occorre pertanto fare un censimento incrociato delle applicazioni utilizzate e degli utenti che le utilizzano (non tutti usano tutto), ed iniziare a riconfigurare tutte le postazioni che non hanno requisiti particolari con postazioni basate interamente su software libero;
    mano a mano che si procede emergono le applicazioni non standard, per cui la PA dovrà appaltare l’adeguamento), ed il cosiddetto shadow software, ovverosia tutti quei programmi sviluppati autonomamente dagli utenti e dagli Uffici, in mancanza di strumenti previsti e realizzati dall’Amministrazione; per tutti questi occorrerà procedere all’adattamento a software libero (e meglio ancora all’assimilazione del software trasversalmente più utile a livello nazionale), e quindi al conseguente aggiornamento a software libero dei computer degli utenti;
  • server: pur essendo vero che per alcune applicazioni possono essere necessari prodotti commerciali specifici, ciò non è necessariamente vero per tutte le applicazioni e per tutti i contesti; molte volte viene utilizzato software proprietari (e molto costoso) dove in realtà non vengono utilizzate funzionalità specifiche, ma soltanto quelle standard (penso ad esempio al file management, o al linguaggio SQL per i database); inoltre anche per gli ambienti di sviluppo e prova è spesso possibile utilizzare software libero (penso ad esempio agli ambienti di virtualizzazione, ai sistemi operativi ed ai database).
    Esistono inoltre piattaforme di amministrazione e gestione (software libero) che consentono di amministrare e gestire in modo uniforme ambienti e piattaforme liberi e non, così da non richiedere la duplicazione di know-how, competenze e persone per la gestione dei sistemi.
  • middleware: software legacy, datato, non conforme agli standard e che presuppone l’esistenza di software non standard lato server o, peggio, lato client, deve essere rapidissimamente aggiornato o sostituito, in quanto è un anello chiave nella catena che tiene legato il cliente ai produttori di software proprietario;
  • educazione: praticamente in tutte le scuole i docenti utilizzano software proprietario (si legga, Windows e MS Office), privando gli allievi della necessaria informazione per scegliere liberamente, e costringendo i genitori a spendere soldi per acquistare qualcosa che non è necessario (e di questi tempi i soldi non piovono dal cielo …); se poi una famiglia ha più figli, le licenze per il sistema operativo e per la suite di office automation si moltiplicano ….
    I genitori stessi non sanno di avere una scelta: lo Stato deve fare informazione.
  • divulgazione: lo Stato dovrebbe provvedere all’informazione e all’educazione dei cittadini; un semplice spot della Pubblicità Progresso, anche trasmesso non frequentemente, potrebbe iniziare a far girare la voce che esistono delle alternative …

Approccio economico

L’obiettivo di questo mio post non è quello di portare a tagli sconsiderati e ad un risparmio selvaggio: in medio stat virtus, diceva Aristotele (ovviamente lo diceva in greco antico) …

Ritengo che un buon obiettivo potrebbe essere quello di mantenere una spesa di 200 milioni per il software critico o per cui non vi è un’adeguata alternativa libera (e questo include principalmente il software server side).

Dei restanti circa 500 milioni, se ne potrebbero dedicare inizialmente 200 per l’adeguamento e la normalizzazione di tutti gli applicativi non conformi al CAD, ed i 300 rimanenti potrebbero essere ripartiti con un piccolo risparmio per lo Stato (100) ed un investimento (200) in formazione del personale della PA e per la creazione di posti di lavoro per un nuovo ecosistema di persone ed aziende italiane specializzate nel supporto al software libero ed al supporto agli applicativi della PA.

A tendere (nell’arco di 3-4 anni) su può puntare ai soliti 200 milioni per software critico, 250 di risparmi per lo Stato, e 250 di investimenti nell’ecosistema del software libero e delle aziende specializzate nel supporto ed evoluzione dello stesso.

Nel suo piccolo, quest’idea porterebbe ad un risparmi di 1 miliardo di Euro ogni quattro anni, e ad un investimento analogo nella creazione di posti di lavoro.

Conclusioni

L’Italia soffre oggi di un retaggio derivante dal periodo delle ‘vacche grasse’ del boom economico, della lottizzazione politica e degli interessi particolari posti sopra a quelli dello Stato.

L’inerzia delle Istituzioni, la mancanza di competenze e la deresponsabilizzazione ad ogni livello (ed attualmente anche la pandemia Covid-19) hanno portato l’Italia ad accumulare un debito spaventoso.

Non esiste una soluzione unica che possa risolvere questo problema, ma anche un rapido intervento sul risparmio sul software potrebbe portare lo Stato a ridurre il continuo impoverimento dei cittadini mediante esportazione dei capitali, riducendo al contempo le spese, ed investendo almeno parte delle risorse recuperate nella creazione di posti di lavoro.

Riferimenti