Google ha sido uno de los ponentes principales en la Linux Plumbers Conference, donde se reúnen los principales desarroladores de software Linux. El gran foco esta vez se ha puesto en los esfuerzos por llevar Android a una compatibilidad directa con el kernel principal de Linux, dejando en un segundo plano el desarrollado específicamente para Android y que se usa en la actualizad.
Tal y como explican en Ars Technica, el kernel actual está basado en el de Linux, pero no sin una buena sucesión de aditivados por parte de distintos eslabones partícipes en la cadena de software.
Un Android más modular
Entre ellos se encuentra la propia Google, el fabricante del SoC –Qualcomm, por ejemplo– y en última instancia el propio fabricante del dispositivo que aplica las últimas compatibilidades a diferentes componentes entre los que se encuentran la pantalla, la cámara, los altavoces, puertos USB o cualquier otro componente de hardware. Esta última compilación, a la que se denomina 'kernel de dispositivo', es la que llega en los terminales finales.
Esto hace que el kernel de cada dispositivo final sea diferente, además de poco o nada intercompatible –salvo los casos donde el dispositivo que se lanza sea idéntico a otro ya existente–. Además, el kernel original de Linux en el que se basa cada terminal queda fijado hasta el final de su vida útil, basado en esa certificación inicial por parte del fabricante del chipset. De ahí que el reciente Pixel 4 XL fuera lanzado con un núcleo de hace ya dos años, que previsiblemente no vaya a ser actualizado nunca más.
Estas versiones del kernel, con tanto tiempo en el marcado, han de ser por supuesto soportadas con cada lanzamiento del sistema. Es el caso de Android 10, que se lanza compatible con versiones del kernel que cuentan ya con hasta 5 años de vida. Esto obliga también a la propia Google a realizar su trabajo múltiples veces.
De esta forma, Google ha mostrado ya en el pasado intenciones de acercarse al kernel principal de Linux, que es ya un proyecto en desarrollo. Las declaraciones de Sandeep Patil, el jefe del equipo del Android Kernel, hacían patente su estado todavía muy prematuro:
"Hoy, no sabemos qué se necesita para añadir al kernel para que funcione en un dispositivo Android [específico]. Sabemos lo que se necesita para ejecutar Android, pero no necesariamente en un cualquier hardware. Así que nuestro objetivo es básicamente encontrar todo eso, y luego tratar de estar lo más cerca posible de la línea principal."
Durante el evento, se mostró un Pocophone F1 corriendo sobre esta versión principal del kernel de Linux, lo cual da a entender que esta iniciativa es algo más que teoría. Al igual que con Project Treble, ya se avanzaba en la independencia de los fabricantes para actualizar el sistema operativo, ahora se intenta desenlazar kernel de Linux de su soporte específico de hardware, para hacerlo más modular y con paquetes de software que funcionan como adiciones y no como modificaciones.
Que Google no haya puesto un nombre como tantos otros a este proyecto, nos da una idea de que todavía se trata de un camino en fase de exploración, y que no necesariamente veremos en las próximas versiones del sistema operativo. No obstante, hay mentes trabajando en hacer de las actualizaciones y soporte de Android una vez más algo más ágil, robusto y seguro.
Project Mainline es la actualización de seguridad que Android necesita, pero llega tarde