Come ormai tutti sanno, in occasione della Worlwide Developers Conference (WWDC) di San Francisco Steve Jobs, CEO di Apple , ha annunciato uno storico accordo con Intel per la fornitura di microprocessori da utilizzare sui Mac. È bene premettere che questo non significa che Mac OS X potrà essere installato su qualsiasi PC ad architettura x86 : stando alle dichiarazioni post-keynote del vice presidente di Apple Phil Shiller, il “vincolo” che lega Mac OS X all’hardware venduto da Apple resterà sempre valido, e Mac OS X in versione Intel girerà solamente su macchine Apple.
Se n’era parlato tanto nei giorni scorsi, tra indiscrezioni più o meno ufficiali, smentite poco convincenti, opinioni di analisti finanziari, di addetti ai lavori e di normali utenti. Personalmente ho sempre ritenuto infondate le voci del passaggio dall’architettura PowerPC (PPC) a quella x86, ma il fatto che non arrivassero prese di posizione ufficiali da parte di Apple, mentre la data del possibile annuncio era sempre più vicina, mi ha fatto ricredere piano piano, tanto che prima ancora dell’inizio del keynote ero ormai convinto di tutto quello che sarebbe stato presentato da lì a poco.
Prima di analizzare le conseguenze di tale scelta, cominciamo con l’analizzare le motivazioni che hanno portato alla definizione di questo accordo. Una decina di anni fa tra Apple, Motorola ed IBM fu siglato un patto per lo sviluppo di processori PowerPC, e tutto funzionò bene con la prima generazione di microprocessori, ovvero i PPC G3. Il G4, con la sua tecnologia Altivec cominciò a causare i primi problemi: IBM decise di non svilupparli ritenendoli poco redditizi, e Motorola, da sola e senza troppi stimoli, ne portò avanti lo sviluppo in maniera troppo blanda, proprio nel momento in cui Apple aveva bisogno di un processore che potesse sostenere la sua rinascita dopo l’uscita di Mac OS X.
L’arrivo del G5 (stavolta sviluppato solo da IBM) è stato un toccasana, ma al momento attuale anche i nuovi processori IBM arrivano col contagocce: i 3 GHz promessi per l’estate 2004 non sono ancora arrivati, e il processore scalda troppo per poter essere inserito in un portatile o in un Mac mini. Apple è costretta a realizzare macchine professionali bi-processore con raffreddamento a liquido, con ovvie ripercussioni sui costi (anche se dal punto di vista prestazionale non hanno nulla da invidiare ai corrispondenti modelli con architettura x86).
Nel frattempo i G4, che ancora equipaggiano buona parte delle macchine prodotte da Apple, non vengono più sviluppati da Motorola ma da Freescale, e il trend di sviluppo non è certo migliorato: è vero che il G4 è un processore destinato a uscire di scena, ma finchè il G5 rimane afflitto da problemi di produzione e sviluppo, Apple è costretta a ricorrervi ancora in maniera pesante. È anche vero che IBM ha interessanti prospettive di sviluppo: basti pensare ai processori multi-core sviluppati per le prossime console, ma è lecito anche pensare che nella situazione attuale Apple si senta autorizzata a “guardarsi intorno”.
Sotto quest’ottica la decisione di Apple appare più che plausibile, anche se sicuramente sofferta. Apple implementerà gradatamente i processori Intel, prima sulle macchine consumer (in sostituzione dei G4) nella prima metà del 2006, poi sulle macchine professionali, in modo tale da completare la transizione nel 2007.
Quali sono i pro e i contro di questa scelta? Il vantaggio più evidente (e più importante) consiste nell’adozione di una famiglia di processori che difficilmente subirà la stessa sorte del G4: Intel è in concorrenza continua con AMD, ed è impensabile che possa cadere in periodi di stallo come successe con Motorola. L’adozione degli stessi processori utilizzati su tutti i PC consentirà inoltre di mettere direttamente a confronto il rendimento dei diversi sistemi operativi (e credo che Apple abbia fatto i suoi conti per fare bella figura anche in tal senso); contemporaneamente avremo la possibilità di valutare il comportamento di Mac OS X su due diverse architetture, anche se il fatto di aver cambiato strada lascia intuire che Apple abbia già riscontrato delle migliorie in questa nuova scelta. Un ulteriore vantaggio dovrebbe riguardare l’abbassamento dei costi (soprattutto per le macchine di fascia alta) e questo, unitamente alla precedente considerazione, dovrebbe consentire ad Apple di espandere in maniera importante la propria quota di mercato… a meno che non siano proprio gli svantaggi legati a questa scelta a causare qualche problema.
Apple ha speso gli ultimi anni ad ottimizzare il proprio sistema operativo: Mac OS X è diventato sempre più veloce di versione in versione grazie (anche) all’ottimizzazione per Altivec e per i 64 bit del G5. Un cambio così radicale di architettura significherebbe ricominciare daccapo il lavoro di ottimizzazione. In realtà, come alcune indiscrezioni hanno da sempre sostenuto, Apple ha ammesso di aver sempre portato avanti lo sviluppo di una versione “parallela” di Mac OS X compilata per architettura x86. Dopotutto Darwin è da sempre disponibile in entrambe le versioni ed Apple, pur avendo sempre smentito il suo interesse verso questi processori, ha anche affermato in più occasioni che in caso di necessità non si sarebbe fatta trovare impreparata. Evidentemente il fatto di avere a disposizione entrambe le versioni del sistema ha fatto sì che Apple potesse valutare con esattezza il comportamento del sistema nelle due situazioni, così da decidere il momento migliore per effettuare la “migrazione”.
Il problema maggiore però non risiede nel software prodotto da Apple, bensì in quello prodotto dalle altre software house. Gli sviluppatori di Apple hanno già “subito” un cambio di architettura diversi anni fa, col passaggio da 68k a PPC. In seguito hanno dovuto ottimizzare il proprio codice per Altivec (strada, in realtà, seguita da pochi, e spesso risolta con un semplice plug-in). Poi è stata la volta di Mac OS X, anche se Apple ha messo a disposizione degli sviluppatori tutti gli strumenti per eseguire questo passaggio nella maniera più graduale ed indolore possibile. Ora, mentre tutti gli sviluppatori stanno ottimizzando il proprio codice in funzione dei 64 bit del G5, arriva questa notizia che li costringerà a nuovo lavoro extra.
In realtà, probabilmente, i principali sviluppatori erano a conoscenza di questa mossa già da tempo. Non è un caso che l’annuncio sia stato dato proprio durante la WWDC, occasione in cui Apple ha potuto dimostrare da subito che con i nuovi tool di sviluppo, il lavoro di riscrittura del codice è veramente minimo, se non assente. La versione 2.1 di xCode2 (già disponibile) è in grado di compilare codice binario FAT, ovvero codice universale in grado di girare indifferentemente sia su chipset PPC che Intel: grossomodo la stessa strada seguita ai tempi del passaggio dall’architettura 68k a quella PPC.
Un valido esempio di tutto ciò è dato da Mathematica: cambiando poche righe di codice, nel giro di due ore è stata ricompilata una versione in grado di girare con Mac OS X sia su chip PPC che Pentium 4. Molte applicazioni non richiederanno alcuna modifica, e sarà sufficiente una semplice ricompilazione per poter girare sulle future macchine. Per le applicazioni più complesse gli sviluppatori potranno affidarsi a “Rosetta”, una sorta di “traduttore” on-the-fly di codice binario che permette di far girare codice PPC sui Mac dotati di chipset Intel senza alcuna modifica o ricompilazione. Jobs ha mostrato Photoshop CS 2, MS-Word e MS-Excel che girano con questo sistema senza alcun segno di rallentamento.
Probabilmente sotto alcuni aspetti entra anche in gioco la recente tecnologia Core-Image introdotta in Tiger, che delegando molti compiti grafici alla GPU, rende di fatto il software indipendente dal tipo di processore utilizzato proprio in quei calcoli in cui la necessità di ottimizzazione avrebbe potuto avere un’incidenza maggiore. Dopotutto il periodo di transizione è molto lungo (si parla di due anni), e l’idea di raggiungere un livello di astrazione capace di rendere il software legato solo al sistema operativo e indipendente dall’hardware su cui gira non può che essere un vantaggio. A tal proposito, la prossima versione di Mac OS X si chiamerà Leopard e sarà disponibile per la fine del 2006: è facile immaginare che sarà strutturata in modo tale da agevolare il più possibile il compito degli sviluppatori nel periodo di transizione.
A caldo le reazioni degli utenti sono molto discordanti, com’era inevitabile che fosse con un annuncio di tale portata. Personalmente confidavo molto in un PowerBook G5, ma mi rendo conto che l’attuale situazione rende questa eventualità quasi impossibile. Apple ha fatto i suoi conti in base alla realtà dei fatti: non potendo più contare su Motorola è costretta a fare affidamento solo su IBM, ma per quest’ultima avere una sezione specificatamente dedicata a derivare processori per Apple (partendo dalle altre famiglie di processori) è un’attività che impegna molte risorse e rimane fine a se stessa. Se il G4 ha ormai poche possibilità di ulteriori sviluppi, il G5 ha una roadmap che prevede sviluppi troppo lenti, soprattutto per quanto riguarda la riduzione dei consumi per l’inserimento in un portatile.
Quello che più conta però è il fatto che Apple mantenga il controllo sul legame tra le proprie macchine e il proprio OS; come abbiamo accennato all’inizio, Phil Schiller ha dichiarato da un lato che non verrà fornito alcun supporto per far girare Windows sui Mac-Intel (anche se ciò non esclude che possa essere fatto), e dall’altro che non verrà consentito di installare Mac OS X su hardware non Mac. Come venga realizzata questa cosa per ora non è dato saperlo, ma possiamo supporre che, processore a parte, l’architettura dei futuri Mac-Intel sia sufficientemente differente da quella dei “normali” PC. In ogni caso, c’è da sperare che questo vincolo possa essere realizzato con assoluta sicurezza: abbiamo già avuto modo di osservare più volte che Apple è principalmente un’azienda che vende hardware e non può permettersi di trasformarsi in una software house in diretta concorrenza con Microsoft. MacOS è sempre stato funzionale alla vendita di hardware: chi vuole usarlo deve comprare un Mac, e questo consente ad Apple di ottenere nuovi fondi per migliorare ulteriormente MacOS e le altre applicazioni Apple. Questo è l’unico modo per assicurare un futuro a Mac OS X e ad Apple, a tutto vantaggio della varietà di scelta degli utenti.
Solo il tempo ci dirà se Apple ha preso la decisione giusta; nel frattempo non ci resta che attendere il primo Mac “Intel inside”, mentre per gli sviluppatori sarà già disponibile nel giro di due settimane il primo Developer Kit basato su Pentium 4 a 3,6 GHz.
Domenico Galimberti