"Se ci sono due o più modi di fare una cosa,
e uno di questi modi può condurre a una catastrofe,
allora qualcuno la farà in quel modo.

(Edward Murphy)

Ho scritto anche io a "rivoluzione@governo.it", i benefici dell'Open Source

Dom, 01/06/2014 - 11:54 -- arturu
Arturu Logo

Il Governo (Matteo Renzi) un mese fa ha pubblicato questa lettera in cui chiede dei "pareri" a tutti i cittadini italiani su alcune tematiche ben precise. "[...] Nel merito: abbiamo maturato alcune idee concrete. Prima di portarle in Parlamento le offriamo per un mese alla discussione dei soggetti sociali protagonisti e di chiunque avrà suggerimenti, critiche, proposte e alternative. Abbiamo le idee e siamo pronti a intervenire. Ma non siamo arroganti e quindi ci confronteremo volentieri, dando certezza dei tempi. [...]" Anche io ho deciso di inviare le mie considerazioni nella speranza che almeno vengano lette, come tematica ho scelto: Tagli agli sprechi e riorganizzazione dell'Amministrazione. Nel prossimo paragrafo una copia di ciò che ho inviato, successivamente, per chi conosce poco l'argomento una facile e veloce panoramica sull'argomento, infine, un'analisi sui benefici economici derivanti dall'uso di software Open Source. Cercherò di usare una terminologia molto semplice.

Mail a rivoluzione@governo.it

Gentili Presidente del Consiglio e Ministro per la semplificazione e l'Amministrazione Pubblica,

sono [...] un insegnante che lavora presso una delle tante Scuole Secondarie di Primo Grado, con questa e-mail vorrei inviare il mio contributo di idee per migliorare l'Amministrazione Pubblica, non ho la pretesa di "Aver la verità in tasca" ma almeno spero di proporre buoni spunti di ragionamento. La tematica che vorrei affrontare è l'utilizzo di software Open Source nelle Amministrazioni Pubbliche. Attualmente esiste una normativa e delle linee guida in merito, ma all'atto pratico, alla fine della "catena" burocratica poco viene repercepito. Il mio intervento ha l'obiettivo di ricordare l'utilità dell'utilizzo di software Open Source e di chiedere a Lei/Voi l'attuazionee di procedure che facciano recepire più velocemente la normativa in tutti i settori della Pubblica Amministrazione.

Cordiali Saluti

[...]

Cosa significa Open Source

Dare una definizione precisa di Open Source non è facile in quanto questo concetto ha numerose sfaccettature e campi applicativi. Volendo dare una prima prima definizione possiamo dire che l'Open Source è:

La diffusione di opere d'ingegno e della conoscenza necessaria per realizzare, modificare o migliorare l'opera stessa.

Fino ad un decennio addietro, con “Open Source” si intendeva soltanto una tipologia di software, quindi, ogni volta che si pronunciavano le parole “Open Source” ci si riferiva al software rilasciato con i progetti (sorgenti) per poterlo riprodurre, modificare e/o migliorare. Attualmente la filosofia Open Source si è diffusa in altri campi del sapere, quindi, affermare che un prodotto Open Source è un software non è del tutto esatto.

Per comprendere a pieno la filosofia Open Source è necessario prendere in esame gli aspetti che la compongono.

  • L'opera d'ingegno è la parte materiale della filosofia Open Source, è il prodotto finito, il risultato, l'obiettivo concreto, in genere l'opera viene utilizzata con semplicità da chi ne viene in possesso;

  • La conoscenza. A corredo di ogni opera d'ingegno, vengono diffusi tutti i progetti e i processi per riprodurre la stessa, di conseguenza, chi possiede le capacità tecniche impara come riprodurla, come modificarla e come migliorarla.

Questi due macro-aspetti innescano un processo virtuoso in cui:

  • nella quasi totalità dei casi l'opera d'ingegno è gratuita, questo non significa che l'opera sia di scarsa qualità (opere di scarsa qualità ce ne stanno, ma in genere hanno scarso successo, come nelle opere proprietarie ma questo è un altro discorso), ma dato che essa è facilmente riproducibile non esiste alcun produttore che riuscirebbe a trarre un guadagno nel commercializzarla;

  • la longevità dell'opera, grazie alla diffusione delle conoscenze necessarie per realizzare l'opera, essa verrà riprodotta e migliorata fino a quando ci saranno persone interessate alla stessa;

  • cooperazione sociale, la realizzazione di un'opera d'ingegno in modo condiviso contribuisce a sviluppare una mentalità collaborativa, relazionale e socialmente positiva tra le persone che progettano, sviluppano ed usufruiscono dell'opera;

  • pari opportunità, la libera diffusione dell'opera e della conoscenza, consente a tutti di poter usufruire di un'opera di qualità anche in presenza di grandi disparità economiche;

  • diffusione verticale delle conoscenze, la diffusione della conoscenza subisce un processo di accelerazione, in cui il processo di Ricerca → Teorizzazione → Verifica → Sviluppo → Divulgazione → Conoscenza di massa, viene velocizzato in maniera esponenziale.

Attualmente, la filosofia Open Source oltre che nel campo software è diffusa un po' in tutti i campi, ma negli ultimi anni si è diffusa su larga scala in un campo in cui nessuno se lo sarebbe mai aspettato, il campo hardware.

Che cos'è il software

Volendo fare un semplice paragone con il corpo umano: il corpo è l'hardware, invece, il pensiero è il software. Quindi il software è la parte “immateriale” di un computer o di un qualsiasi hardware come ad esempio: lo smartphone, il televisore, router, lavatrice, forno, frigorifero, automobile, ecc. Il software è composto da una serie di istruzioni, comandi, operazioni, movimenti, ecc. che un hardware compie ed è esattamente la rappresentazione matematica del ragionamento/pensiero di uno o più sviluppatori. Quindi, il software (programma) è la rappresentazione in termini matematici del pensiero umano codificato (codice) in maniera che sia “comprensibile” (operazioni) da una “macchina” (hardware).

Il software può essere di due tipi.

  • Il software applicativo (APP), sono una serie di programmi (applicazioni) che permettono all'utilizzatore di compiere delle “mansioni” come: scrivere un testo, navigare su internet, scaricare la posta, visualizzare/elaborare foto e video, ecc. Ritornando al paragone con il pensiero umano possiamo dire che il software applicativo è quella capacità/conoscenza che ci permette di: scrivere un libro, suonare uno strumento musicale, cucinare, ballare, disegnare, ecc.

  • Il sistema operativo (OS), o software di base, è il software che fornisce le fondamenta per il controllo dell'hardware e il funzionamento del software applicativo, quindi, il sistema operativo è quel tipo di software che permette alla macchina di funzionare, ha il controllo diretto dell'hardware, fornisce le basi per l'installazione/funzionamento del software applicativo. Ritornando al paragone con il pensiero umano, possiamo immaginare il sistema operativo come l'insieme di quelle funzioni celebrali che gestiscono: il battito cardiaco, la digestione, la respirazione, pensare, imparare, ricordare, interpretare ciò che arriva dai sensi, ecc.

Il software è utilizzato da due macro-categorie di persone:

  • gli utenti finali, attraverso un'interfaccia semplice ed intuitiva utilizzano i software senza conoscere i dettagli tecnici di come esso è costruito;

  • gli sviluppatori, conoscono i dettagli tecnici di come è costruito un software, quindi, hanno le capacità per effettuare delle modifiche e/o costruirlo, sia per conto proprio o per conto terzi.

Il software applicativo (APP) e il software di base (OS) possono essere distribuiti con due tipi di macro-licenze:

  • licenza Open Source, è un tipo di licenza in cui l'utente finale, dietro compenso o meno, diventa proprietario del software e dei relativi progetti (sorgenti), può effettuare copie e modifiche funzionali, in base al tipo di licenza Open Source il software deve essere ridistribuito con la stessa licenza o in alcuni casi si può cambiare il tipo di licenza;

  • licenza proprietaria, è un tipo di licenza in cui l'utente finale, dietro compenso o meno, ha il permesso di poter utilizzare quella determinata copia del software, la proprietà rimane a chi lo produce e non è possibile effettuare modifiche o personalizzazioni funzionali, esistono numerose varianti.

Il software Open Source è sviluppato da decine di migliaia di programmatori sparsi in tutto il mondo, da Università e da aziende come: IBM, Intel, Google, HP, Oracole, Samsung, AMD, nVidia, Dell, Facebook, ecc., ad esempio un elenco delle aziende che contribuisco alla sviluppo del solo kernel linux sono presenti su http://www.linuxfoundation.org/about/members .

Costi per un'azienda o Pubblica Amministrazione

Una configurazione con software proprietario ha le seguenti macro-voci sui costi: Hardware, Sistema Operativo, Applicazioni, Assistenza

L'immagine rappresenta sottoforma di icona i costi del software proprietario: Hardware, OS, APP, Assistenza

Una configurazione con software Open Source ha le seguenti macro-voci sui costi: Hardware, Assistenza

L'immagine rappresenta sottoforma di icona i costi del software open source: Hardware, Assistenza

Facendo una rapida considerazione, è evidente che a parità di hardware e di assistenza il risparmio equivale al costo delle licenze software. Bisogna considerare che l'assistenza nel campo Open Source costa leggermente di più (in media nell'ordine del 10/15%) rispetto all'assistenza su sistemi proprietari, ma si compensa con la maggior longevità dell'hardware (in media il doppio degli anni), infatti il software Open Source, essendo più ottimizzato, è meno esoso di risorse hardware. Questo risparmio è solo la punta dell'iceberg, il maggior risparmio si ha nelle configurazioni su rete LAN.

LAN con Terminal Server

Molto semplicemente una rete LAN è una rete tra computer circoscritta in un determinato luogo, ad esempio l'interconnessione dei computer di: un'aula di informatica, un ufficio, ecc; una rete LAN è composta da una serie di postazioni e un computer centrale chiamato (server).

L'immagine descrive sotto forma di icona una rete LAN classica descritta in seguito

Nell'immagine sopra vediamo una classica configurazione di una LAN, possiamo notare la presenza di un server e 12 computer con relativi UPS (gruppi di continuità). In questa configurazione ogni postazione è un pc classico con: CPU, RAM, Hardisk, Sistema Operativo, Applicazioni e relativo gruppo di continuità, stessa configurazione sul server.

Successivamente l'immagine con la configurazione Terminal server. In entrambe le immagini sono rappresentati soltanto gli elementi che ci interessano per questa analisi, in realtà ci sarebbero anche: monitor, altoparlanti, router, switch, cavi, server di backup, stampanti di rete, ecc, ma sono elementi fissi, cioè sono sempre presenti in entrambe le configurazioni.

L'immagine descrive sotto forma di icona una rete LAN Terminal Server descritta in seguito

Nella configurazione Terminal server il sistema operativo è installato solo sul server, nelle sigole postazioni c'è solo un dispositivo hardware che visualizza il sistema operativo installato sul server. Quindi i calcoli gravano sul server, invece, sulle singole postazioni vengono visualizzati. Nell'immagine sopra vediamo una configurazione tipica da Terminal Server, notiamo alcune differenze sostanziali, punto per punto vediamo che cosa significano le icone rappresentate nell'immagine.

Esempio di Thin Client da 19 Watt per oraAl posto della signola postazione vengono sistemati dei "Thin Client" hardware, i Thin Client hardware sono dei dispositivi simili ad un computer ma molto più piccoli, meno potenti, senza hardisk e un consumano energetico max di 19 Watt per ora. I Thin Client hanno queste caratteristiche perché non eseguono tutti i calcoli, eseguono soltato le operazioni necessarie per visualizzare ciò che arriva dal server. A livello pratico, all'accensione il Thin Client carica attraverso la rete lan il sistema operativo (tecnicamente "boot da rete") e visualizza la schermata di login di linux, l'utente dovrà inserire username e password per accedere al proprio desktop, questo da qualsiasi postazione nella LAN e non da una specifica.

Esempio di Thin Client da 3Watt per oraAl posto di 12 UPS vediamo che ne viene posto soltanto uno, dato il basso consumo dei thin client un UPS di computer può alimentare circa 15 postazioni. Esistono in commercio thin client basati su processori ARM (lo stesso processore degli smartphone) che consumano circa 3 Watt per ora, ma ancora non è una soluzione stabile ed economicamente vantaggiosa.

Il server con il sistema operativo e relativo UPS, l'equipaggiamento hardware deve essere abbastanza corposo, attualmente (1 Giugno 2014) il server necessita di 1GB di RAM per il sistema operativo e 50MB di RAM aggiuntivi per ogni postazione.

Vantaggi economici di una LAN con Terminal Server

  • riduzione del costo per singola postazione, ogni thin client, attualmente, costa tra le 80 e le 100 euro (è un costo elevato, non c'è molta concorrenza in questo settore);
  • ottimizzazione delle risorse hardware, ogni client riceve più o meno risorse secondo il carico di lavoro, quindi, ogni postazione non è legata alla propria potenza hardware ma sarà variabile;
  • ottimizzazione dei costi di manutenzione hardware, dato che ogni singola postazione ha un costo ridotto e meno hardware i costi per mantenere l'hardware saranno notevolmente ridotti;
  • ottimizzazione dei costi di manutenzione software, il sistema operativo e tutti i programmi di produzione saranno installati sul server e i client caricano una copia, quindi, si affronteranno soltanto i costi sistemistici per il server e non per tutto il parco macchine, quindi si amministrerà un unico sistema e non un numero variabile di postazioni con diverse configurazioni software e hardware. Aggiungere una nuova postazione si riduce nell'inserire un nuovo client e inserire un nuovo utente sul server;
  • sensibile riduzione dei consumi energetici, nelle reti tradizionali ogni postazione consuma 500 Watt/ora a massimo carico, i thin client variamo da 19 Watt/ora (economici) a 3 Watt/ora (un po’ più costosi);
  • semplificazione logistica e organizzativa, dato che si tratta di un sistema centralizzato ogni utente, inserendo userID e Password, da qualsiasi postazione potrà visualizzare il proprio desktop, senza alcun tempo morto in caso di rottura;
  • costo delle licenze azzerato, il costo delle licenze è pari a zero;
  • Gestione utenti. Avendo un sistema centralizzato diventa semplice impostare delle regole di accesso alla propria rete, aggiungere utenti, gestire permessi, revocare credenziali, gestire quote disco, ecc. Ogni utente inserendo la propria UserID e Password da qualsiasi postazione visualizzerà il proprio desktop.

N.B. Qualcuno potrebbe obiettare che anche i sistemi proprietari offrono soluzioni simili, ma: 1) ogni thin client ha un hardisk su cui è installato un sistema operativo, ci si collega al server tramite desktop remoto; 2) per ogni utente presente sul server bisogna pagare una licenza del sistema operativo.

Un esempio concreto

Per meglio capire l'entità dei costi facciamo un esempio concreto, prendiamo in considerazione una piccola rete informatica (comune, scuola, ospedale, ecc.) composta da un server e 25 postazioni. Logicamente andiamo a considerare solo le differenze tra le due soluzioni, è abbastanza inutile andare a conteggiare gli elementi fissi come: monitor, mouse, tastiera, router, server di backup, ecc. I costi che andremo ad usare sono molto indicativi e sono dettati dall'esperienza su un valore medio.

Costi di realizzazione

Descrizione LAN Soft. Propr. LAN Open Source
Server (compreso il software) 2.000 € 4.000 €
25 postazioni (compreso software) (600x25) 15.000 € (100x25) 2.500 €
UPS server (200x1) 200 € (200x1) 200 €
UPS postazioni (60x25) 1.500 € (200x1) 200 €
Totale 18.700 € 6.900 €

Costi vivi

Oltre i costi di realizzazione bisogna considerare anche i costi per mantenere in funzione la rete. Per fare un calcolo di massima, sommario, sui consumi energetici utiliziamo i seguenti parametri:

  • Considerando un uso di 8 ore giornaliere per 300 giorni l'anno;
  • un computer a massimo carico consuma circa 400 Watt ogni ora;
  • un server a massimo carico consuma circa 500 watt ogni ora;
  • un thin client a pieno carico consuma 19 Watt ora.
Descrizione LAN Software Proprietario LAN Open Source
Consumo annuale server (8x300x500) 1200 KW (8x300x500) 1200 KW
Consumo annuale 25 postazioni (8x300x400x25) 24000 KW (8x300x19x25) 1140 KW
Totale 25200 KW 2340 KW

La domanda da porsi è: nella PA, ogni giorno, quante postazioni sono accese? Facciamo un calcolo per difetto, facciamo finta che ci sia solo una LAN per ogni comune Italiano, i comuni italiani sono poco più di 8000:

  • Con software proprietrario: 8000 LAN x 25200 KW = 201.600 GW anno
  • Con software Open Source: 8000 LAN x 2340 KW = 18.720 GW anno

Altri Benefici della soluzione Open Source

  • I costi di assistenza sistemistica saranno su un solo server e non su 25 postazioni, un sistemista può gestire così 25 LAN al posto di 25 postazioni, anche se l'assistenza costa un po' di più rispetto alle soluzioni proprietarie;
  • Non essendoci licenze da acquistare molte configurazioni possono essere costruite a livello centrale e poi distribuite in ogni sede della PA (le famose distribuzioni)
  • Avendo meno hardware da gestire, le rotture saranno inferiori, di conseguenza diminiusce il "rifiuto" e l'inquinamento prodotto;
  • Avendo un hardware più longevo avremo meno rifiuti da smaltire.

A questo punto penso che sia abbastanza evidente quanto sia l'entità delle risorse economiche risparmiate.

Conclusioni

Come abbiamo visto, intraprendere la strada dell'Open Source oltre che farci avere un'iniziale risparmio, ci fa intraprendere delle strade inesplorate in cui si riesce ad ottimizzare qualsiasi risorsa, fino al risparmio energetico, all'ottimizzazione delle risorse dedicate all'assistenza, alla longevità dell'hardware, alla produzione di rifiuti, ecc, ecc.

E' evidente che molte risorse economiche partono dall'Italia verso gli USA sotto-forma di licenze, dall'Italia verso la Francia e la Russia sotto-forma di risorse energetiche.

Non sarebbe meglio assumere ingegneri informatici per fargli gestire reti Open Source, in modo da aumentare l'occupazione e far rimanere molte risorse economiche in Italia?

La domande da porsi ora sono:

  1. Chi di dovere, riuscirà mai a mettere in pratica il passaggio all'Open Source, in maniera ottimale?
  2. Se avvenisse il passaggio all'Open Source, le risorse economiche recuperate, almeno in parte verranno utilizzate per assumere sviluppatori e sistemisti che si occupino di sviluppare e mantenere i progetti Open Source più importanti? Sviluppare competenze in questo campo, in un prossimo futuro potrebbe darci un vantaggio tecnologico.

 

Scusate se sono stato prolisso.