Roma – Come riportato nello speciale Vent’anni di Macintosh pubblicato ad inizio anno, nel 1984 Apple introdusse il suo primo Macintosh, e con esso la prima versione di MacOS. Di per sé MacOS non rappresentava il primo sistema operativo a interfaccia grafica in assoluto, né un concetto del tutto originale.
Steve Jobs ebbe l’idea di un sistema operativo ad interfaccia grafica durante la visita ai ?leggendari? laboratori della Xerox di Palo Alto: da grande visionario e uomo d’affari qual era, ne intuì subito le potenzialità. Diede così il via ad un progetto che aveva l’obiettivo di migliorare l’idea originale (per esempio, introdusse la “metafora” del cestino) e sviluppare un’interfaccia grafica adatta ad essere inclusa su una macchina destinata al grande pubblico.
Il primo tentativo di Apple ebbe scarso successo: stiamo parlando di Lisa, una macchina uscita nel 1983 dotata, per l’epoca, di hardware all’avanguardia e di un sistema operativo grafico che, per molti aspetti, era superiore al successivo MacOS. Il difetto di Lisa stava nel prezzo estremamente elevato, che non gli consentì di far breccia nel mercato. Ma Apple aveva già pronta un’alternativa e, con una rapidità che in futuro non ebbe eguali, l’anno successivo propose il primo Macintosh. Il sistema operativo che vi girava, MacOS 1, era meno avanzato di Lisa, in quanto doveva girare su una macchina con risorse più limitate, ma il suo rapporto prezzo/prestazioni era decisamente più allettante per il pubblico.
Due anni più tardi MacOS era già arrivato alla versione 4, e la release successiva forniva già la possibilità di aprire e far funzionare più applicazioni contemporaneamente, anche se per avere un buon multitasking si è dovuto attendere quello che comunemente era chiamato System 6. Risalgono a quel periodo i miei primi ricordi di MacOS, e nei primi anni di utilizzo con questo sistema, e con il successivo System 7, non vidi mai alcun crash di sistema. I problemi iniziarono qualche anno più tardi: gli aggiornamenti del sistema operativo tardavano ad arrivare, mentre l’evoluzione del panorama informatico e le nuove macchine basate su processori PPC richiedevano funzionalità più avanzate di quelle che poteva offrire un sistema operativo che ormai cominciava a mostrare i segni dell’età.
Le versioni 7.3.x e 7.5.x furono le peggiori release del sistema operativo di Apple: ricordo ancora la mia prima “bomba” (la classica icona che segnalava un errore di sistema, NdR) con il 7.3 su un Performa 6300 preso da poco, che mi fece subito rimpiangere il vecchio LC-II con System 7.1. La situazione appariva ancora peggiore se si pensa che proprio in quegli anni Microsoft si apprestava a lanciare sul mercato Windows 95, un sistema che, almeno sulla carta, si presentava con caratteristiche superiori al MacOS di quegli anni.
Fortunatamente per Apple, anche Windows 95 aveva i suoi problemi, fornendo alla casa di Cupertino il tempo necessario per correre ai ripari: il 1996 infatti fu l’anno del ritorno di Steve Jobs, ritorno contestuale all’acquisizione di NeXT e inizio del percorso che portò a Mac OS X. Per comprendere meglio tutti gli eventi che portarono alla genesi di Mac OS X conviene però fare qualche passo indietro ed analizzare quello che successe negli anni precedenti nei retroscena del mondo Apple. Nel 1987, due anni dopo la dipartita di Jobs, Apple e IBM firmarono un accordo dagli intenti molto promettenti. Il punto fondamentale dell’accordo prevedeva la collaborazione sullo sviluppo di un nuovo sistema operativo, chiamato con il nome in codice Pink, che avrebbe assicurato la compatibilità con il preesistente software per Mac, per OS/2 e per AIX. L’accordo prevedeva anche delle intese a livello hardware: Apple avrebbe usato nelle sue macchine dei processori RISC di IBM (di derivazione RS/6000) la cui fornitura sarebbe stata assicurata da Motorola. Il tutto era finalizzato alla definizione di un sistema operativo indipendente dalla piattaforma hardware, nonché ad una versione di AIX “mascherata” da Macintosh. L’idea di una versione di MacOS con un cuore Unix risale quindi a ben quindici anni prima dell’uscita di Mac OS X, ma mentre Steve Jobs realizzò da subito qualcosa di concreto con la sua NeXT, la strada del nuovo MacOS si presentava molto più lunga e tortuosa.
L’accordo tra Apple e IBM portava dei chiari vantaggi ad entrambi: IBM non stava riscuotendo molto successo da OS/2, ed Apple era alla ricerca di un grande partner che gli assicurasse nuove risorse hardware e software. Ma per concretizzare degli intenti così ambiziosi serviva molto tempo e risorse; soprattutto, al di là degli intenti, andavano definite le fasi operative, fasi che sembrarono definite solo qualche anno più tardi, quando nel ’92 si videro i primi risultati della collaborazione. In quegli anni IBM e Motorola stavano lavorando ad un innovativo processore a 128 bit, il capostipite della famiglia PowerPC, che avrebbe dovuto sostituire i 68040.
Cosa c’entra tutto questo con MacOS? C’entra, perché parallelamente allo sviluppo dell’hardware una società chiamata Taligent, nata per l’appunto dall’accordo tra IBM ed Apple, stava lavorando al sistema operativo per questa famiglia di processori, un software che poggiava le sue basi su AIX e A/UX, ovvero le versioni Unix di IBM e di Apple. La prima versione del nuovo sistema sarebbe stata PowerOpen, e la sua funzione era quella di sostituire il System 7 sulle nuove macchine basate su processori PowerPC. Ovviamente Apple avrebbe previsto un modulo di retrocompatibilità con le vecchie applicazioni (esattamente come l’attuale ambiente classic di Mac OS X), mentre IBM si sarebbe preoccupata di assicurare la compatibilità con il codice dei processori x86, e quindi con tutte le applicazioni OS/2, DOS e Windows.
PowerOpen doveva rappresentare un sistema di transizione verso quello che era il punto chiave dell’accordo intrapreso nell’estate del 1987, ovvero Pink, il sistema previsto per il 1997 che avrebbe dovuto rivaleggiare con l’immiente Windows 95.
L’architettura di Pink era completamente rivoluzionaria: un sistema in cui non ci sarebbero state le applicazioni così come le intendiamo oggi, ma una serie di moduli con capacità specifiche in grado di cooperare tre di loro per fornire una serie di funzionalità e risultati. Un concetto ampliato della programmazione ad oggetti che, dopo il naufragio di Pink, Apple cercò di riciclare anche nel MacOS classico con la tecnologia OpenDoc (anch’essa abbandonata a causa dello scarso interesse degli sviluppatori) Il naufragio definitivo di Pink avvenne nel 1995, contestualmente alla presentazione del famoso sistema operativo di Microsoft. Inutile dire che oltre a Pink naufragò anche PowerOpen, e il PowerPC a 128 bit lasciò il posto ad un più modesto PowerPC 601. Apple si trovava allora nei suoi anni più neri, con un sistema operativo ormai vecchio, la necessità di dover ripartire da zero, e un concorrente più agguerrito che mai. Fu allora che si cominciò a parlare di Copland, un sistema dai concetti più “tradizionali” ma con un multitasking preemptive (differente quindi dal precedente cooperative), che si sarebbe reso disponibile in tempi brevissimi, nella prima metà del 1996, e si sarebbe chiamato semplicemente MacOS 8.
Il System 7, rilasciato nell’ormai lontano 1991, era fortemente legato ai processori 68000 e la sua architettura era troppo vecchia per fornire una solida base di partenza ad un sistema realmente nuovo. I ritardi si accumulavano e a fine ’96 il nuovo sistema era ancora lontano dall’uscita, così lontano che cominciò a farsi sempre più insistente la notizia che Apple stesse per acquistare BeOS.
Fondere ciò che era già stato preparato per Copland con le tecnologie di BeOS sembrava una buona idea, un’idea che secondo i più ottimisti avrebbe potuto materializzarsi in meno di un anno. In realtà le cose non stavano così: unire due sistemi operativi non è per niente semplice e il ritardo abissale rendeva impensabile riscrivere tutto daccapo, utilizzando BeOS come base di partenza. La decisione finale fu quella che ha portato Apple nella situazione attuale: all’acquisizione di BeOS fu preferita quella di NeXT e del suo sistema operativo OpenStep, con conseguente ritorno di Steve Jobs nei ranghi della società di Cupertino.
La strategia cambiò nuovamente, ma stavolta fu quella definitiva, seppure con diversi aggiustamenti in corsa. Da quel momento in poi il “vecchio” sistema sarebbe stato aggiornato a scadenze fisse, mentre parallelamente Apple avrebbe proceduto allo sviluppo di un nuovo sistema derivato da Nextstep/Openstep. Rapsody (questo era il nome in codice del futuro sistema) doveva idealmente essere costituito da due componenti fondamentali: una Yellow-Box, completamente riscritta per fornire un sistema evoluto in grado di eseguire applicazioni che sfruttassero al meglio i processori PowerPC, e una Blue-Box, una sorta di MacOS 8 che assicurava la compatibilità con le vecchie applicazioni.
Le fondamenta di Rapsody, oltre che su OpenStep, poggiavano su Unix, e questo rese possibile pensare anche ad una versione per piattaforma x86, ma solo a livello di Yellow-Box. Una versione “professionale” era prevista per la fine del 1997, mentre gli utenti comuni avrebbero dovuto pazientare fino alla metà del ’98 per avere una versione più user-friendly.
Mentre il lavoro su Rapsody proseguiva, il sistema classico venne aggiornato prima alla versione 7.6 (finalmente una release esente da problemi) e poi alla versione 8, che riportò MacOS a quei livelli di affidabilità ed efficienza che l’avevano reso famoso qualche anno prima. Il sistema classico venne poi aggiornato con le versioni 8.5 e 9, fino alla versione 9.2.2, versione tuttora presente come ambiente classic in Mac OS X.
Tornando a Rapsody, le promesse non vennero mantenute nemmeno questa volta, anche se per le date previste vennero rilasciate le release per gli sviluppatori, sia in versione PowerPC che in versione x86. Il difetto di Rapsody stava proprio nella sua architettura: la Blue-Box offriva pochi vantaggi rispetto alla versione classica del sistema, mentre la Yellow-Box avrebbe costretto gli sviluppatori a riscrivere le proprie applicazioni. Nell’estate del ’98 venne quindi annunciato un cambio di rotta che andò a definire in tutto e per tutto quello che è l’attuale Mac OS X.
Prima di tutto venne definito Darwin, un sistema operativo open source che sarebbe sorto dalla ceneri di Rapsody integrando i kernel FreeBSD e Mach3. Darwin è tuttora la base di Mac OS X ed è disponibile anche in versione x86. Sopra Darwin sarebbero state integrate le librerie Cocoa (la vecchia Yellow-Box), le librerie Classic per emulare il vecchio sistema all’interno del nuovo (la Blue-Box) e delle nuove librerie denominate Carbon. Queste ultime avrebbero fatto da ponte tra il sistema classico e il nuovo Mac OS X: Carbon fu integrato anche nel sistema classico, e un programma scritto per queste nuove librerie avrebbe funzionato nativamente sia in MacOS 9 che in Mac OS X. Inoltre – e questa fu la vera chiave di svolta – la riscrittura in Carbon di una vecchia applicazione era un’operazione che comportava un lavoro relativamente limitato per gli sviluppatori. Nei primi mesi del 1999 vennero rilasciate la prime versioni di Darwin e di Mac OS X Server. La versione desktop di Mac OS X, invece, era ancora lontana.
Alle librerie già descritte andava affiancato un motore Java, mentre al di sopra dovevano trovar posto i motori grafici e multimediali: OpenGL per gestire il 3D, QuickTime per la multimedialità e Quartz per la gestione del display in PDF (derivato della gestione in PostScript di NeXT Step); infine, a “contatto diretto” con l’utente, la nuova intefaccia grafica AQUA.
Le release per gli sviluppatori si susseguirono per un altro anno, e all’inizio del 2000, quando tutti si aspettavano l’annuncio ufficiale dell’uscita, venne invece rilasciata una Public Beta . Utilizzando quella versione di Mac OS X era inevitabile provare una serie di sensazioni a metà strada tra la fiducia e lo sconforto: le potenzialità del sistema erano evidenti, ma era anche evidente il ritardo di Apple nello sviluppo. Le applicazioni native erano poche, ma quelle che c’erano funzionavano bene e la Blue-Box permetteva di emulare il vecchio sistema come se fosse direttamente integrato nel nuovo. In ogni caso Apple utilizzò la Public Beta per raccogliere i commenti degli utenti e apportare quei miglioramenti e quelle modifiche che avrebbero poi caratterizzato la versione finale, annunciata a gran voce per l’inizio del 2001.
La prima versione di Mac OS X , nome in codice Cheetah, è datata 24 marzo 2001, e in corrispondenza di quell’uscita ci fu anche un riallineamento con la versione server, che nel frattempo aveva continuato il suo sviluppo in maniera indipendente. Ovviamente i progressi rispetto alla Public Beta erano notevoli, ma il sistema era ancora immaturo: il progetto intrapreso da Apple era molto ambizioso e in tre anni il lavoro fatto era comunque notevole. Che tutto il team di sviluppatori fosse sotto torchio apparve evidente qualche mese più tardi: a settembre fu rilasciato Puma , ovvero Mac OS X 10.1, il primo major update del nuovo sistema. Puma era sensibilmente più veloce del suo predecessore, ma il lavoro di ottimizzazione del codice era appena iniziato, e quando l’anno successivo venne messa in vendita la versione 10.2 con il nome Jaguar , il sistema era ormai maturo. Oltre ad un ulteriore incremento di velocità, Jaguar implementava nuove tecnologie, come Quartz Extreme (per sfruttare al meglio le funzioni hardware delle schede grafiche), Rendezvous, e nuove applicazioni per l’utente.
Il resto è storia recente. Panther (Mac OS X 10.3) è stato rilasciato il 24 ottobre dello scorso anno e ha portato con sé tutte quelle novità di cui abbiamo parlato al momento dell’uscita , come l’integrazione di X11 ed Exposé.
MacOS ha sempre rappresentato per gli utenti Apple la ragione principale per la scelta di un computer Macintosh. La semplicità di utilizzo e la naturalezza con le quali si riesce a gestire ogni funzionalità del sistema, rendono l’utilizzo del Mac un’esperienza totalmente differente rispetto agli altri computer, a patto di saper cogliere le differenze che contraddistinguono i vari sistemi. Con Mac OS X le differenze sono diventate ancora più evidenti, soprattutto se si pensa che sotto un’interfaccia estremamente amichevole batte un cuore Unix che ha la stabilità e l’efficienza di 30 anni di sviluppo. Apple deve molto al mondo Unix, ma il lavoro che ha fatto per realizzare un sistema in cui la semplicità d’uso la fa da padrone, è stato veramente notevole, e il risutato è tale che lo stesso mondo Unix guarda con molta attenzione a Mac OS X.
L’architettura di Mac OS X consente ad Apple di avere un sistema estremamente flessibile ed aggiornabile in ogni situazione. Difficilmente in futuro si ripresenteranno gli stessi problemi che hanno contraddistinto il passaggio da MacOS 7 alle versioni successive, ma non per questo Apple può permettersi di dormire sugli allori. L’era di Mac OS X è appena iniziata e per i prossimi anni ci si aspetta nuove e continue innovazioni.