Estos últimos días se ha hablado mucho de la decisión de Apple de liberar el código fuente del núcleo kernel de iOS. Algunos titulares han podido llevar a confusión, porque en realidad ese núcleo llevaba años liberado: ahora, no obstante, se ha ampliado el código publicado, que también cubre parte del usado para las arquitecturas ARM de 64 bits utilizadas en los nuevos SoC de Apple.
¿Qué significa eso? Aunque para la comunidad de desarrolladores y estudiosos de este ámbito ese código publicado tiene cierto interés, el común de los mortales —incluidos usuarios de dispositivos iOS— no deberían emocionarse demasiado, porque esa liberación de código no va a permitir ni mucho menos que sea posible crear algo así como un iOS para tu smartphone Android. Esa hipótesis ya existió de hecho con Mac OS X cuando se lanzó y se liberó parte del código, y aquello tampoco sirvió de (casi) nada.
Las eternas promesas de Darwin
Puede que muchos no lo sepáis, pero antes incluso de que Apple lanzara Mac OS X publicó el código fuente de parte de ese sistema operativo. En concreto liberó el núcleo, llamado XNU (acrónimo de "X is Not Unix", no de "XNU is Not Unix"), sobre el cual publicó Darwin.

Ese proyecto fue un sistema operativo derivado de NeXTstep y de los sistemas operativos BSD y que usaba código de otros componentes célebres como el kernel Mach del que luego se derivó el propio kernel XNU utilizado ahora en macOS, iOS, tvOS y watchOS.
Darwin tenía cierto interés para académicos y desarrolladores, pero aquel sistema carecía de interfaz gráfica y de muchos otros componentes que hacían que Mac OS X fuese Mac OS X. Quienes pensaron que Darwin permitiría crear un Mac OS X para PCs y portátiles "no oficiales" estaba equivocado, porque aquellas carencias eran demasiado importantes.
El proyecto, no obstante, fue el germen de algunas plataformas derivadas, la más conocida de las cueles fue OpenDarwin, una especie de distribución Linux basada en ese núcleo y esos componentes a los que se les añadieron otros que sí permitían acercar la plataforma a una experiencia de usuario "más normal". El proyecto por ejemplo logró integrar el entorno de escritorio GNOME, pero su éxito y popularidad fue muy limitado, y la última versión estable se lanzó en 2004.
Los desarrolladores, los más beneficiados
Lo que pasó para Darwin en PCs y portátiles es análogo a lo que ocurrirá con esa liberación de código para dispositivos móviles. En Reddit de hecho comentaban cómo la publicación de código para arquitecturas ARM de 64 bits es incompleta, algo que limita aún más el alcance de un código que tiene cierta relevancia, pero que desde luego no tiene visos de ofrecer muchas opciones a usuarios finales.

De hecho lo más interesante de ese código publicado en GitHub es la capacidad que tendrán desarrolladores y expertos en este ámbito de analizar ese código para poder detectar fallos y problemas de seguridad o, en algunos casos, tratar de contribuir a mejorar ciertos procesos y funciones básicas del núcleo del sistema.
Otros ciertamente podrán aprovechar ese código para "adaptarlo" a sus propios proyectos en el ámbito de la creación de un nuevo kernel para un sistema operativo móvil o de escritorio, pero será difícil que aquí haya revoluciones: el núcleo Linux lleva más de 25 años permitiendo eso mismo, y su versatilidad es patente, como demuestra el hecho de haber sido utilizado como base de la plataforma Android.
Es interesante comprobar no obstante cómo la licencia utilizada para ese código es la Apple Public Source License 2.0 (APSL), una licencia que es bastante restrictiva y que como explican en TL;DR Legal tiene algunos puntos en contra importantes. Incluso la Free Software Foundation criticaba dos puntos importantes: no es verdaderamente copyleft (permite enlazar a ficheros totalmente propietarios) y es incompatible con la GPL, algo que no la hace recomendable para este organismo.
Olvídate de poder acceder a un iPhone clónico
Es no obstante una parte relativamente pequeña de esa plataforma, como también lo es ese núcleo XNU de iOS: la cantidad de componentes externos al núcleo es tan notable que precisamente lo que caracteriza a una y otra plataforma móvil (incluidas las importantes interfaces gráficas de usuario, por ejemplo) son más esos componentes adicionales que el núcleo como tal.

No parece probable por tanto que ese código sirva para que la comunidad de desarrolladores logre crear un "iOS Open Source", ya que la cantidad de componentes externos que componen el sistema operativo móvil de Apple es asombrosa.
Así pues, bien por Apple a la hora de dar más información a los desarrolladores de cómo funciona a bajo nivel el núcleo de su sistema operativo móvil, pero no esperéis demasiado de este lanzamiento. Su alcance, repetimos, es limitado.
Más información | Darwin-XNU en GitHub | Apple Open Source
En Xataka | ¿Es Apple un ejemplo a seguir en el mundo Open Source?
Ver 14 comentarios
14 comentarios
ven
Los smartphone son una gallina de huevos de oro que espero que reviente ya por algún lado. Aparte de los precios abusivos en los terminales de gama alta ( note 8, iPhone X...), la imposibilidad de comprarte el terminal que más te guste y decidir qué SO instalas al igual que en un PC e incluso un Mac. Incluso en las tarifas de datos que te limiten a unos gigas de navegación. Para cuándo un precio al mes y tarifa ilimitada como el internet en casa? Para mí, esa es la próxima revolución Movil, y no sacar procesadores potentisimos y súper pantallas y luego no tener apps para aprovechar esa potencia.
PD: tengo un Lumia 950 y iPhone 5s, por si alguno me tacha de fanboy de algo.
Saludos
apertotes
Javi, te has equivocado y has puesto la foto del iPhone donde se ve la parte negra de la pantalla. Pídele a algún compañero que te pase la foto con el fondo oscuro donde parece que todo el frontal es pantalla.
No hace falta que me des las gracias, aquí estamos todos para ayudar.
miguel.amandi
Para un gesto que tiene apple en esta dirección y hay que leer que no vale para nada... ¿Es que no queréis que sigan avanzando en esta dirección?
Esto es super capcioso.
Como no importan las noticias de este estilo, haced desaparecer genbeta ¿No?
Al margen de eso, esto siempre se traducirá en que quien se moleste podrá hacer apps competentes sin ser de apple. Y manejar correctamente los dispositivos, como la dichosa touch bar que nadie usa. Y seguro que hay otros grandes features de estos que apple proclama tener a bombo y platillo y luego no sirven para nada salvo para una app que sacan los propios de apple en el lanzamiento del producto.