Los seis años de soporte a largo plazo de Linux estaban pensados para ayudar a los dispositivos integrados. El periodo LTS (soporte a largo plazo) del kernel Linux se está reduciendo.
En 2017, el kernel pasó de dos años de soporte a seis. Ahora, seis años después, resulta que eso es mucho trabajo. ZDNet informa de que en el Open Source Summit Europe de esta semana (los vídeos saldrán en unas semanas), el editor ejecutivo de Linux Weekly News, Jonathan Corbet, anunció que el kernel de Linux volverá a tener dos años de soporte LTS.
Puede leer también | Raspberry Pi OS trae Linux Kernel 6.1 LTS y Chromium 113
El plan de volver a los dos años no es instantáneo. La comunidad Linux sigue respetando los plazos actuales de fin de vida, por lo que 6.1, 5.15, 5.10, 5.4, 4.19 y 4.14 siguen teniendo seis años, pero los nuevos núcleos sólo tendrán dos años. Incluso esta ventana de seis años se suponía que era algo opcional cuando comenzó, con la página de lanzamiento FAQ diciendo: "Cada nuevo núcleo a largo plazo por lo general comienza con sólo un EOL proyectado de 2 años que puede extenderse más si hay suficiente interés de la industria en general para ayudar a apoyarlo durante un período de tiempo más largo". La realidad era que todo recibía una vida útil de seis años, y ahora ya no será así.
Puede leer también | Debian 12.0 Potenciado por Linux 6.1 LTS, manejo más sencillo del firmware no libre
Corbet citó una mezcla de falta de uso y falta de apoyo como las razones por las que Linux está reduciendo los kernels LTS. Corbet afirma: "Realmente no tiene sentido mantener [los núcleos antiguos] durante tanto tiempo porque la gente no los usa". El otro gran problema es el agotamiento de los mantenedores, que a menudo no reciben remuneración y podrían necesitar mucho más apoyo de las empresas multimillonarias que se benefician del uso de Linux.
Puede leer también | Disponible Alpine Linux 3.18 con Linux 6.1 LTS
¿Pero qué pasa con Android?
Dos años parece una buena ventana de soporte para PC, pero ¿qué pasa con Android? La extensión LTS original se hizo pensando principalmente en Android y en los dispositivos del Internet de las Cosas: fue anunciada durante una charla sobre Android Linux por el desarrollador de Google Iliyan Malchev. El problema era que en los PC, dos años sólo representan el tiempo entre actualizaciones del kernel, por lo que es una buena línea de tiempo. Sin embargo, los dispositivos integrados tienden a no actualizar el kernel, por lo que esos "dos años" representan la mayor parte del ciclo de desarrollo y toda la ventana de soporte al consumidor, y eso no es suficiente.
La imagen original que Google pintó en 2017 era que los teléfonos tardan dos años en desarrollarse y que el kernel se bloquea casi al principio del proceso de ingeniería. El kernel LTS llegaría al final de su vida útil justo cuando el teléfono se enviara finalmente, y los clientes utilizarían kernels obsoletos durante toda la vida útil de sus dispositivos. El proceso de desarrollo del kernel de Android es todo un cúmulo de bifurcaciones: En primer lugar, Google bifurca un nuevo LTS de Linux para crear el kernel "Android Common", que luego se envía a los fabricantes de SoC como Qualcomm y se bifurca para cada modelo de SoC, luego esa bifurcación se envía a los fabricantes de dispositivos, que la bifurcan de nuevo para cada modelo de dispositivo. Esto lleva su tiempo.
Puede leer también | Disponible Linux Lite 6.4, basado en Ubuntu 22.04.2 LTS
Los documentos del kernel de Android tienen una "matriz de compatibilidad" de Linux para cada versión de Android, y Android 14 -que saldrá a la venta cualquier día de estos- todavía permite lanzar nuevos dispositivos con Linux 5.4, un kernel de hace 4 años. Eso va a iniciar una nueva ventana de apoyo, recuerde, por lo que incluso con un mísero dos años de propiedad, que es un núcleo de 6 años de edad. Eso también es sólo para los nuevos dispositivos. Puedes actualizar a Android 14 desde Linux 4.14, que se remonta a 2017. Puedes ver cómo Google llegó al número de seis años. Es difícil saber lo que cada teléfono Android barato está haciendo en un momento dado, pero supongo que todos estos son compatibles porque todavía son necesarios.
Puede leer también | El núcleo Linux 6.1 ya está aprobado como versión LTS
También hay que tener en cuenta los smartwatches, donde las cosas son aún peores. El Pixel Watch se avergüenza tanto de su kernel Linux que ni siquiera aparece en los ajustes, pero el dispositivo se lanzó en 2022 con el kernel Linux 4.19, un kernel de 4 años de antigüedad en aquel momento.
Descripción: GKI de Android tiene un montón de módulos para soporte de hardware que se pueden conectar al kernel.
El gran avance de Android desde 2017 es la GKI, la "Generic Kernel Image" de Google, que reduce el proceso de desarrollo del kernel de Android "bifurcación de una bifurcación de una bifurcación". Esa primera bifurcación, Android Common, añade todo el material de compatibilidad de Android a Linux, por lo que sigue ocurriendo con la GKI, pero las bifurcaciones n.º 2 y 3 son para la compatibilidad de hardware, y la GKI en su lugar las traslada a módulos. Más adelante, hay un plan para pasar a la línea principal de Linux.
Sin embargo, ni siquiera los teléfonos GKI reciben actualizaciones importantes del kernel. Obtienes actualizaciones de seguridad LTS menores, pero el Pixel 6, el primer teléfono GKI, se lanzó con Linux 5.10 y todavía está en Linux 5.10.
Puede leer también | Disponible Ubuntu 20.04.5 LTS con Kernel Linux 5.15
Eso es un kernel de hace 3 años. Si esta tendencia se mantiene, cuando reciba su última actualización de seguridad en 2027, tendrá un kernel de 7 años. Google ha dicho antes que las grandes actualizaciones del kernel GKI están en los planes eventualmente. Incluso se mencionan cambios importantes del kernel en los documentos, pero el hito de actualizar un dispositivo de consumo de producción a una nueva versión importante de GKI no es algo que haya sucedido todavía. Se rumorea que el Pixel 8 tendrá una ventana de soporte más larga, por lo que tal vez veamos el lanzamiento de actualizaciones importantes del kernel con ese teléfono.