L'informatica di domani

L'informatica di domani

di Alessandro Bottoni - Noi Linuxari Mannari dobbiamo riconoscere che Microsoft ha risolto brillantemente uno dei problemi più rognosi per sistemi come Unix e Windows. E possiamo gettare uno sguardo più in là
di Alessandro Bottoni - Noi Linuxari Mannari dobbiamo riconoscere che Microsoft ha risolto brillantemente uno dei problemi più rognosi per sistemi come Unix e Windows. E possiamo gettare uno sguardo più in là

In questi giorni, è in atto una intensa e diffusa riflessione collettiva sul futuro dell’informatica. Lo dimostrano, ad esempio, questi articoli: Cassandra Crossing/ Informatica decadente di Marco Calamari su Punto Informatico , Il futuro e il passato di Apple di Luca Annunziata su Punto Informatico , “2020 FLOSS Roadmap” di Alessandro Frison su http://www.mayking.com , e Lo strano caso di Windows 7 di Luca Annunziata su Punto Informatico .
Nel lavoro quotidiano sono abituato a sentirmi porre domande come “Come sarà il business I&CT nel 2020? Su cosa dobbiamo investire?”. Le risposte che sono costretto a dare non sono sempre incoraggianti ma credo che siano sempre sincere ed interessanti. Le trovate qui di seguito. A differenza del mio ultimo articolo (” Il giornale di domani “), questa volta ho preferito non fare uso della mia piccola “sfera di cristallo” quantistica.

Oltre Unix
Il principale limite progettuale di Unix (e quindi di Linux, di Mac OS X e di BSD) è la sua natura orientata al testo. Nel mondo Unix, tradizionalmente, ogni programma è concepito come un elemento di una sequenza (“pipeline”, cioè “tubatura”) e comunica con gli elementi precedenti e successivi attraverso il suo standard input ed il suo standard output. In buona sostanza, ogni programma si comporta come un piccolo client/server e comunica solo con altri programmi client o server attraverso una specie di protocollo molto elementare e condiviso da tutti. Questo approccio funziona molto bene quando i programmi sono di tipo testuale e devono scambiare tra loro solo sequenze di caratteri.

Quando si aggiunge una interfaccia grafica, come KDE, Gnome o Aqua, il sistema non funziona più. Le informazioni che i vari elementi del sistema devono scambiarsi non possono più essere ridotte a semplici sequenze di caratteri e la gestione di tutto il sistema diventa complicatissima ed inaffidabile.

La soluzione a questo problema è una architettura a componenti, come CORBA o, meglio ancora,.NET. All’interno di un sistema a componenti come.NET (cioè Windows Vista), ogni programma ed ogni elemento interno di un programma è concepito come un modulo autocontenuto che comunica con gli altri componenti attraverso un apposito sistema, chiamato “broker” (“mediatore”). I messaggi che il broker può scambiare sono immensamente più complessi e più “ricchi” di informazioni rispetto ad un semplice messaggio di testo. Questo rende possibile scomporre una architettura molto complessa (come quella rappresentata dalle interfacce utente grafiche) in una miriade di piccoli moduli autonomi senza peraltro rischiare di perdere il controllo su tutta la struttura.

Questa cosa l’ha capita bene, e l’ha spiegata anche meglio, Miguel De Icaza, il responsabile di Gnome e del progetto Mono, in un famosissimo articolo del 2003 intitolato ” Let’s Make Unix Not Suck ” (“Facciamo in modo che Unix non faccia schifo”). Mono, infatti, è il progetto che ha portato su Unix (Linux) l’architettura a componenti di Microsoft.NET.

Per una volta, noi Linuxari Mannari dobbiamo pubblicamente riconoscere che Microsoft ha affrontato e risolto brillantemente uno dei problemi più rognosi che minacciavano la sopravvivenza stessa di sistemi come Unix e Windows stesso.

Ovviamente, il mondo Open Source non è stato a guardare. Come ho già detto, Miguel di Icaza, finanziato da Novell, ha portato con successo Microsoft.NET su Linux, dando vita a Mono. GNU, a sua volta, ha creato un progetto parallelo che si chiama GNU.NET (simile ma non identico a Mono). A partire da.NET, alcuni programmatori hanno già implementato dei veri sistemi operativi di “seconda generazione”, come CosmOS e SharpOS.
Per quello che è possibile vedere da qui, il futuro di Unix sarà in un primo tempo caratterizzato dall’adozione su larga scala di Mono (2006 – 2020). In seguito (2012 – 2050) è anche probabile che Unix venga completamente rimpiazzato da qualcosa come SharpOS o CosmOS.

I vantaggi, in termini di gestibilità del sistema, di affidabilità e di sicurezza saranno semplicemente immensi.

Oltre Vista
Francamente, il vero problema di Windows non è il tanto vituperato Vista. Anzi: come ho appena detto, Vista ha introdotto una novità cruciale per il futuro dell’informatica (cioè l’architettura a componenti.NET). Vista è grosso, lento, pesante, goffo, incomprensibile, barocco e antipatico ma è ugualmente un grande sistema operativo. Si tratta di uno dei più bei pezzi di ingegneria del software che abbiano visto la luce dopo Unix e Windows NT.

Il problema è, molto più semplicemente, che Windows (tutte le versioni) è un usurpatore che viene sempre meno sopportato dal mercato. La nicchia di mercato occupata da Windows (sistemi operativi) e quella occupata da MS Office (applicazioni di produttività personale) sono nicchie cruciali per la libertà dei cittadini e per lo sviluppo delle società. Chi controlla il sistema operativo e le applicazioni di base, controlla il mercato, controlla la società e, indirettamente, controlla la cultura.

Questo può sembrare un discorso ozioso ma non lo è. Chiunque abbia tentato di convivere con i formati di documento proprietari di MS Office (.DOC,.XLS,.PPT, etc.) ed abbia tentato di “comunicare” con altre persone che usano altri sistemi, sa bene quanto sia soffocante la stretta di MS.
Molto semplicemente, il sistema operativo e le principali applicazioni di produttività personale devono essere sottratte al controllo di singole persone e singole aziende. Questa è la vera ragione per cui molti privati cittadini e molte aziende hanno abbandonato il mondo Microsoft ed hanno adottato Linux, BSD (ora anche OpenSolaris), OpenOffice, Firefox e Thunderbird.

Non è Windows ad essere arrivato alla fine della sua vita operativa e commerciale. Non è nemmeno Microsoft. Ciò che arrivato alla fine della sua strada è il modello commerciale del software “pacchettizzato” (“shrink-wrapped”). Aziende come Microsoft hanno potuto produrre e commercializzare software nello stesso modo in cui altri hanno prodotto e commercializzato automobili solo perchè nel particolare periodo storico in cui queste aziende sono nate non si era ancora sviluppata la necessaria consapevolezza tra gli utenti e gli sviluppatori e, di conseguenza, non si era ancora creata una comunità che producesse questi strumenti nel modo “aperto” in cui devono essere prodotti. Quel momento storico si è concluso da tempo (circa dal 2005, cioè da quando Linux è diventata un’alternativa realmente credibile). Ora è tempo che Microsoft vada a cercarsi altri mercati da sfruttare.

Microsoft può ancora fare qualcosa di unico e di grande per l’informatica (e può ancora fare un sacco di soldi) grazie a Midori. Midori è un sistema operativo di seconda generazione basato su.NET. Deriva da un progetto di ricerca chiamato Singularity. Singularity, a sua volta, è ciò che ha ispirato gli sviluppatori di CosmOS e SharpOS. Midori può mettere la parola fine all’annoso problema della sicurezza e può far fare un passo avanti epocale alla tecnologia dei sistemi operativi.

Anche questo filone di sviluppo, tuttavia, è destinato a diventare dominio del software Open Source. Come ho già detto, i sistemi operativi e le applicazioni di produttività più diffuse devono essere sviluppate in modo aperto e collaborativo (cioè “Open Source”) per garantire la libertà dell’utente ed il progresso della società. A questa esigenza non si può sfuggire a lungo.

Oltre Steve Jobs
Coloro che frequentano questo ambiente dagli inizi sanno bene che Steve Jobs di invenzioni vere e proprie non ne ha mai fatte.
Il tanto declamato MacIntosh è solo un clone perfezionato (sì, proprio un clone) del sistema ” Alto ” di Rank Xerox. La tanto mitizzata interfaccia utente dei MacIntosh è stata inventata allo Xerox PARC anni prima dell’arrivo dei MacIntosh sul mercato. Era già in uso sulle workstation ” Xerox Star ” nel 1981.

Il tanto amato iPod è una evoluzione ovvia di un mercato della musica che era già approdato ai file anni prima della sua apparizione.
Il tanto innovativo iPhone è una evoluzione ovvia dei telefoni cellulari. Nel 1995 (dodici anni prima della presentazione dell’iPhone) un commentatore nippo-americano della rivista Byte scriveva in un suo articolo: “Quello che voglio è un cellulare che faccia anche da agenda, da rubrica e che incorpori le principali funzioni di tutti gli altri dispositivi che ora sono costretto a portarmi appresso, dalla radio alla macchina fotografica.”

In tutte queste occasioni, Steve Jobs ed Apple si sono fatti apprezzare per la loro capacità di trasformare in prodotti di largo consumo degli oggetti che, in realtà, erano già disponibili sul mercato in altra forma da anni. Questa fase della vita di un prodotto si chiama “ingegnerizzazione, produzione su larga scala e promozione commerciale” (Engineering, Production and Marketing”) ed è quella che porta il prodotto dallo stadio di quasi-prototipo (come lo Xerox Star e l’Apple Lisa) allo stadio di vero prodotto commerciale disponibile nei negozi.

Al giorno d’oggi, di prodotti che “sono nell’aria” come lo sono stati a loro tempo il MacIntosh, l’iPod e l’iPhone, non se ne vedono. L’elettronica digitale, in grandissima misura, ha già dato quello che poteva dare. In futuro non sarà più così facile creare prodotti innovativi. Questa “stagnazione” concettual/tecnologica è la vera spada di Damocle che incombe sulla testa di Apple, non la salute precaria di Steve Jobs.

Oltre GNU
Secondo i principali osservatori del mondo “Open Source”, i settori che porteranno le maggiori novità tra oggi ed il 2020 saranno i seguenti.
– Cloud Computing (fornire potenza di calcolo, storage dei dati e applicazioni tramite Interent “SaaS”)
– Green IT (utilizzo sostenibile delle risorse IT per Hardware e energia)
– Internet of Things (la capacità di semplici oggetti di comunicare tra di loro e con altri sistemi)
– Virtual Organizations (dal telelavoro, agli avatar, al social networking per il business e l’istruzione)
– Hightened reality (interpretare i migliorare con informazioni aggiuntive i sensi umani)
– Mobile Robots (da oggetti funzionali a profili con comportamenti autonomi)
(Vedi openworldobservatory.org/download )

Francamente, non sono del tutto d’accordo con questa analisi.
– Il Cloud Computing (attraverso il modello ” SaaS “) consegna i dati dell’utente e la sua infrastruttura tecnica ad una azienda esterna sulla quale non ha controllo e dalla quale deve dipendere. Francamente, non credo che esistano i presupposti per un simile “atto di fede”, neanche usando software Open Source (perchè l’infrastruttura hardware e l’organizzazione aziendale non potrebbero comunque diventare “open”).

– Il Green IT già esiste e fornisce risultati già da tempo. Guardate la schermata “Green Star” del vostro display, ad esempio. Non c’è molto che possa portare innovazioni eclatanti in questo settore, tranne per quello che riguarda la durata delle batterie dei portatili e degli smart phone. Questa roba interessa semmai i politici e gli ingegneri elettronici (hardware, non software).

– La Internet of Things (nota anche come “ubiquitous computing” o “pervasive computing”) è una evoluzione ovvia ed inevitabile della diffusione di oggetti come gli smart phone e le interfacce Bluetooth ma si scontra anche con la capacità del pubblico di comprendere, apprezzare ed usare questi oggetti. Inoltre, c’è un serio problema di fiducia e di sicurezza dietro queste applicazioni. Si tratta di un settore “condannato” a crescere ma che porterà con sé una lunga serie di problemi.

– Le Virtual Organizations sono possibili almeno da diversi anni e nessuno le ha ancora realmente adottate su larga scala, a parte noi professionisti del settore. Anche in questo caso c’è un serio problema di comprensione e apprezzamento dei prodotti, oltre che di capacità tecnica degli utenti, da superare prima che si possa assistere ad una diffusione su larga scala.

– Le Hightened reality sono interessanti più che altro in settori come la guida dell’auto e degli aerei. Nel settore “ufficio” c’è ben poca realtà che possa essere resa più accessibile in questo modo. Praticamente nessun contabile vuole un software che metta in risalto i “manini” che usa per far sparire soldi dai bilanci.

– I Mobile Robots sono allo studio da circa cinquant’anni e non sono ancora andati oltre qualche modello di rudimentale aspirapolvere automatico. Francamente, non credo che ci troviamo sulla soglia di una rivoluzione robotica.

Personalmente, credo che da qui al 2020 gli sviluppi più interessanti del mondo Open Source verranno invece da sistemi operativi di seconda generazione come Singularity, SharpOS e CosmOS.
Su cosa puntare?
Di sicuro, sempre meno sul software pacchettizzato. Si tratta già adesso di un mercato in declino e lo sarà sempre di più in futuro. Nei prossimi anni il mercato sarà ancora più orientato allo sviluppo di software su commissione di quanto già non lo sia adesso. Gli unici settori che resisteranno all’onda d’urto del software Open Source saranno quelli veramente di nicchia, come i prodotti per la statistica multivariata di CAMO , per esempio.

Tecnologicamente parlando, il futuro è di C#,.NET e Mono. In realtà, almeno su Windows, è così già da tempo. Il peso, la lentezza e le altre limitazioni di queste architetture a componenti sono destinate a venire “assorbite” dall’evoluzione dell’hardware.

Le soddisfazioni economiche più interessanti verranno, come sempre, dalla gestione (più che dallo sviluppo) delle complesse infrastrutture hardware/software delle grandi aziende (grande distribuzione, commercio, finanza, etc.). Il modello di business IBM degli anni ’50 – ’70, fatto di software di base, sviluppo custom, amministrazione di sistemi, formazione e consulenza al management si rivelerà vincente. Questo approccio olistico al business è sempre stato molto più adatto al mercato di quello “shrink-wrapped” a cui ci siamo abituati con i personal computer.

Alessandro Bottoni
www.alessandrobottoni.it

Tutti i precedenti interventi di A.B. su Punto Informatico sono disponibili a questo indirizzo

Link copiato negli appunti

Ti potrebbe interessare

Pubblicato il 20 gen 2009
Link copiato negli appunti