È ormai lontano il tempo della guerra tra Apple e Microsoft. Gli stessi fondatori e uomini chiave non ci sono più, a seguito della prematura scomparsa di Steve Jobs e delle dimissioni di Bill Gates, a cui è rimasta la carica di presidente onorario. I due sono stati amici-nemici per tanti anni, ma negli ultimi tempi sembravano rispettarsi e li abbiamo visti anche piuttosto gioviali (seppur stuzzicandosi) nell'intervista doppia di All Things Digital del 2007.

the-strange-love-hate-relationship-between-bill-gates-and-steve-jobs

L'idea di Unified Kernel risale a ben dieci anni prima, ovvero nel periodo del secondo avvicinamento tra Microsoft ed Apple. Ricorderete senza dubbio il keynote del 1997, in cui Jobs annuncio la collaborazione con Gates per la realizzazione di Office per Mac. È stato un passaggio sgradito a molti, specie perché Jobs non calibrò bene la presentazione che finì con il faccione enorme di Gates in videoconferenza a sovrastarlo. Una delle pochissime scelte di comunicazione infelici che fece dal momento del suo ritorno in Apple. Tuttavia si rivelò giusta dal punto di vista software, perché Word, Excel e PowerPoint erano ormai uno standard e non potevano mancare sull'allora Mac OS 8 (per giunta appena presentato ufficialmente).

steve_jobs_bill_gates_1997_macworld

Sia il sistema operativo di Microsoft che quello di Apple erano arrivati a mostrare evidenti segni di invecchiamento. Windows 98 era già in cantiere e sarebbe stato presentato l'anno successivo, mentre Mac OS 9 avrebbe tardato ancora un po', nel 1999, ma entrambi rappresentarono il capolinea delle rispettive tecnologie prima del rilascio dei radicali cambiamenti che avvennero poco più avanti. Quello che non sapevamo allora e che è emerso solo ieri in una dichiarazione del giornalista Walter Isaacson (colui che ha intervistato per tanti anni Jobs, racchiudendo la sua storia nella nota biografia), è che i due CEO avevano collaborato per gettare le basi del progetto comune Unified Kernel.

L'informazione è stata mantenuta segreta per moltissimo tempo, poiché sia Microsoft che Apple avevano progetti di medio termine in corso. In particolare Gates aveva deciso di mettere da parte il boot da DOS e di utilizzare il più robusto NT come base di tutti i futuri OS, cosa che si concretizzò già dall'arrivo di Windows 2000. Jobs, invece, era stato riportato in Apple da NeXT con la scusa di acquisire il suo avanzato sistema operativo NeXTSTEP, che ha portato alla realizzazione di Mac OS X. Nessuno dei due, insomma, poteva permettersi di parlare pubblicamente di Unified Kernel senza danneggiare la percezione degli utenti e del mercato in merito la stabilità del rispettivo ecosistema.

unified-kernel

Isaacson ne era a conoscenza da tempo, ma gli attuali CEO Tim Cook e Satya Nadella erano già stati informati riservatamente da Jobs e Gates. Se la notizia è trapelata solo ora è perché proprio loro due hanno chiesto al giornalista di temporeggiare finché non si fossero accordati sul da farsi. Oggi nasce ufficialmente il progetto Unified Kernel, che vede Apple e Microsoft impegnate nella creazione di un nuovo e moderno nucleo software per tutti i sistemi operativi del futuro. In realtà, però, questo si spingerà un po' più là, includendo moltissimi set di istruzioni di alto livello. L'obiettivo sembra quello di separare completamente il codice dall'interfaccia grafica, rendendola simile ad un launcher. Sia Cook che Nadella hanno assicurato che le future versioni di macOS e Windows saranno in tutto e per tutto identiche alle attuali (per cui molto diverse tra loro) pur avendo lo stesso kernel.

macos-winos

Questo passaggio non avverrà domani, ma era importante iniziare a renderlo pubblico visto che richiederà un ingente investimento in termini di uomini e risorse. Microsoft ci aveva già avvertito che 10 sarebbe stata l'ultima versione dell'attuale Windows e macOS 10 è già al .12, tanto per ricordarci quanto sia vetusta l'architettura di base. I futuri sistemi operativi si chiameranno macOS e winOS e verranno numerati con la data, sfruttando lo standard ISO yyyy.mm.dd. La major release sarà dunque quella dell'anno in corso, mentre quelle minori saranno siglate dai mesi e i bug fix con i giorni. Nel progetto ogni azienda ha voluto portare il meglio delle proprie tecnologie, per cui ci saranno vantaggi da entrambe le parti e per gli utenti. Ad esempio saranno supportati sia NTFS che APFS come File System, avremo sia DirectX che Metal e OpenCL nativi e si condivideranno gran parte dei brevetti relativi al software principale (non per le app), che ognuno potrà liberamente implementare nel proprio launcher. Pensate che l'idea di base in realtà partì addirittura da Gil Amelio che, prima ancora di richiamare Jobs in Apple acquistando la NeXT, aveva avanzato l'ipotesi di usare Windows NT come sistema operativo "modificato in superficie in modo da sembrare un Mac" (è riportato anche nella biografia ufficiale di Jobs).

biografia-jobs

Un altro vantaggio di Unified Kernel sarebbe quello di portare più facilmente il software da una piattaforma all'altra. Il passaggio non sarebbe completamente automatico, perché il launcher non è in realtà solo grafica visto che ognuno svilupperà i propri framework di alto livello con le relative API, ma gran parte del codice di base sarà praticamente identico. Apple si è però imposta per vincolare comunque macOS solo ai propri computer, anzi pare che la strada degli hackintosh sarà resa ancora più difficile visto che sarà inserita una nuova protezione di tipo hardware, ben superiore rispetto i precedenti tentativi tramite chip TPM (Trusted Platform Module) largamente bypassati. Se le cose saranno fatte bene, e non credo possa essere diversamente unendo Microsoft ed Apple, potremmo effettivamente essere di fronte ad un momento storico cruciale. Può sembrare strano che si sia deciso di partire dal desktop, oggi sempre meno importante, ma in realtà è una scelta sensata. Bisogna prima pensare le cose in grande e solo dopo snellirle del superfluo per il mobile, mentre il contrario potrebbe poi far emergere dei limiti strutturali. In tutti i casi è scontato che il progetto sia poi destinato ad espandersi anche su smartphone e tablet, ma non sarà una cosa immediata. In realtà anche per la realizzazione del primo Unified Kernel pubblico non è stata fissata una roadmap, per cui potrebbero volerci anche degli anni, ma il progetto è promettente e dovrebbe apportare solo vantaggi per tutti.