Apple ha pubblicato il codice sorgente del kernel di IOS e macOS su GitHub: il sistema operativo degli iPhone è una variante di quello dei Mac e – per la priva volta nella storia – è stata distribuita anche la versione dedicata ai processori ARM. Finora, infatti, erano stati rilasciati soltanto i sorgenti orientati alle altre architetture. Non è chiaro il motivo di questa scelta, che non cambia la politica di Cupertino sulle licenze, ma un’ipotesi credibile è che l’azienda gradisca dei feedback.

Oltre ai sorgenti del kernel, Apple ha sempre distribuito il codice d’alcuni componenti del proprio sistema operativo.

iOS e macOS sono basati sullo stesso “nocciolo”, opportunamente modificato per funzionare anche su iPhone, Apple Watch e Apple TV: la novità consiste soltanto nell'aggiunta della versione dedicata ai processori ARM, installati su tutti i dispositivi mobili. Una scelta che di per sé non modifica gli equilibri con Android di Google che, al contrario, è completamente open source.

Apple: Darwin e XNU, il kernel di iOS e macOS

Darwin – ispirato all’omonimo evoluzionista britannico – è il nome in codice che Apple ha scelto per l’infrastruttura che include il kernel XNU, un acronimo ricorsivo per XNU’s Not UNIX. Disponibile a partire dal 2000 e rilasciato con una licenza open source, in passato ha permesso di sviluppare un altro sistema operativo chiamato OpenDarwin.

Quest’ultimo progetto è stato abbandonato, però di recente alcuni sviluppatori hanno dato vita a PureDarwin che sfrutta i sorgenti pubblicati da Cupertino.

È opportuno sottolineare che il codice distribuito non permette, neppure a un programmatore esperto, di generare da sé una copia del sistema operativo. iOS e macOS contengono diversi altri componenti proprietari che Apple non ha alcuna intenzione di pubblicare come open source: perciò il rilascio dei sorgenti del kernel per i processori ARM appare tanto curioso!

Qual è la strategia degli ingegneri di Tim Cook? Qualcuno ha ipotizzato che sia in cantiere una versione di macOS per i processori ARM.

iOS vs. Android: il futuro di macOS e Chrome OS

Se l’ipotesi di portare macOS sull’architettura ARM prendesse corpo, Apple potrebbe realizzare qualcosa di simile al progetto Google Fuchsia ovvero un unico sistema operativo per tutti i dispositivi in produzione — dai MacBook agli iPhone.

Ciò permetterebbe di garantire agli utenti un’esperienza ancora più uniforme: riguardo a Cupertino, stiamo prendendo in considerazione delle speculazioni che non hanno un riscontro effettivo nelle strategie aziendali e il rilascio del kernel non le giustifica.

Quanto alle differenze fra iOS e Android, i due sistemi operativi abbracciano politiche differenti. Mentre Google consente (non senza polemiche da parte della comunità open source) a terzi di realizzare delle versioni derivate come OxygenOS che è installato su OnePlus 5, Apple non lo concede: la distribuzione del kernel di macOS per i processori ARM non è sufficiente. È piuttosto probabile che Cupertino abbia giusto voluto aggiornare il proprio archivio su GitHub per allinearlo a quelli interni.