Apple ha decidido publicar (hacer open-source) el código fuente del kernel de iOS y macOS para procesadores ARM por primera vez, como los que se utilizan en el iPhone o en el iPad. Puedes comprobarlo por ti mismo en Github. Este kernel, se llama Darwin.
En el pasado Apple ya había hecho el kernel de macOS público siguiendo las directrices correspondientes al proyecto open-source BSD, sistema operativo del que proviene NeXTSTEP, que a su vez fue el precursor de macOS. Apple compró NeXT, la empresa que Steve Jobs fundó cuando fue obligado a dejar Apple, como parte de su vuelta a la empresa, y adoptó el sistema operativo de sus ordenadores como la base sobre la que cimentar OS X, que hoy en día llamamos macOS. Estos cimientos demostraron ser muy sólidos, porque ha sido también sobre ese kernel (núcleo del sistema) sobre el que se ha construido el sistema operativo del iPhone, iPad, Apple TV, Apple Watch y HomePod. Durante la presentación del iPhone original, Steve Jobs dejó claro que el sistema operativo que funcionaba en él era OS X, algo bastante increíble durante esos años porque no se pensaba que un teléfono móvil podría tener suficiente potencia para funcionar bien con un sistema operativo tan complejo. Aunque sobre todo inicialmente se trataba de una versión muy reducida de OS X, la verdad es que el mismo kernel latía en sus entrañas. Apple llamó iPhone OS a ese sistema operativo, y con el paso del tiempo, pasó a llamarlo iOS. En el Apple Watch, lo llamó despuñes watchOS, en el Apple TV lo llamó tvOS… y ahora en los Macs, macOS. El resto es historia, pero la noticia de hoy es que por primera vez Apple ha publicado el código fuente del kernel común a todos estos dispositivos que funciona en procesadores con arquitectura ARM (la de todos los procesadores que Apple diseña para sus dispositivos iOS), lo que significa que ahora cualquiera puede hurgar en las entrañas de iOS hasta el más profundo nivel, y comprender cómo funciona. Hasta ahora, sólo habían publicado el código de Darwin para arquitecturas i386, que es la que utilizan los Macs en la actualidad.
No es posible compilar una versión propia porque por encima del kernel hay muchas librerías y otras partes del sistema operativo que en conjunto hacen que todo funcione, pero sí que es posible, por ejemplo comprobar hasta qué punto el Kernel es seguro, sí hay algún tipo de rutina o proceso que envía información a algún lugar… los investigadores de seguridad podrán examinarlo y certificar si se trata de un sistema seguro, o no. Probablemente, esta sea la razón por la que Apple también lo publica… es mucho más fácil encontrar problemas cuando miles de personas, en lugar de unas docenas, están examinando ese código fuente.