Calendarios de versiones de las distribuciones de Linux

Uno de los aspectos del trabajo con Linux en comparación con el de Windows es la variedad y los desafíos de los distintos calendarios de versiones. En el mundo de Windows esto es bastante simple: hay un único producto y se lanza cuando se lanza, lo que ocurre aproximadamente una vez cada dos años más o menos. Todos los que trabajan con Windows son muy conscientes de las próximas versiones, cuándo se producirán, cuándo entran en fase de candidata a versión final, cuándo es su fin de vida útil, etcétera. Es muy claro y muy simple.
En el mundo de Linux, esto es muy diferente. Por supuesto, la mayor diferencia es que Windows es un único producto, una sola cosa que proviene de un único proveedor. En Linux estamos hablando de una “familia” de productos relacionados de muchos proveedores, algunos con múltiples productos. Esto se suma al calendario de versiones del núcleo que proviene del propio Linux – del que no nos ocuparemos aquí.
Cada distribución es única y toma sus propias decisiones sobre las versiones. De hecho, el calendario de versiones es a menudo un factor clave en lo que define a una distribución frente a otra. Por ejemplo, los tres principales proveedores de Linux empresarial ofrecen dos productos diferentes y, en los tres casos, ¡la diferenciación gira principalmente en torno al calendario de versiones! Así que el concepto de calendario de versiones es ciertamente importante en este mercado.
Hay tres “estilos” principales de versiones que encontramos en todos los sistemas operativos, no solo en las distribuciones de Linux: versión a largo plazo, versión a corto plazo y versión continua (rolling release). Cada estilo de versión cumple un propósito diferente, pero todos siguen, en general, un conjunto de reglas similar.
La idea de una versión es que los paquetes que la integran no cambiarán salvo por parches de seguridad y de estabilidad. Por supuesto, esto se basa en el comportamiento de los proveedores empresariales tal como existen hoy; cualquier distribución dada puede optar por seguir las normas establecidas o no. No hay reglas inherentes del universo que hagan que este comportamiento sea como es; pero es una convención sólida y el concepto de versión se basa en esta convención.
Versión a largo plazo
Este modelo de versión es el más común en el campo general de los sistemas operativos empresariales y, fuera de Linux, lo siguen sistemas como FreeBSD, Solaris, AIX, Mac OSX y Windows. Las versiones a largo plazo, a menudo referidas como LTS, están diseñadas en torno a ritmos de cambio del sistema lentos, proporcionando años, a veces muchos años, entre versiones principales del sistema, lo que permite a los equipos de TI evitar migraciones durante mucho más tiempo y ofrece a los proveedores de software objetivos que se mantienen estables durante un largo periodo.
En el mundo del Linux empresarial, todos los proveedores ofrecen al menos un producto de versión a largo plazo. Estos son los más comúnmente desplegados.
De Red Hat, los productos RHEL y CentOS son de versión a largo plazo con ciclos de versiones extremadamente largos – no con un calendario fijo, pero actualmente con lanzamientos cada tres o cuatro años.
Suse tiene dos productos LTS: Suse Linux Enterprise Server y openSuse Leap. SLES mantiene un calendario de versiones que actualmente está entre tres y cinco años, y openSuse Leap se basa de forma relativamente estrecha en las versiones de SLES.
La versión LTS de Ubuntu se llama, convenientemente, LTS y se lanza cada dos años en los años pares, en abril, con precisión de reloj. Ubuntu tiene actualmente el ciclo de versiones más corto de cualquier producto LTS de esta categoría.
Todas las versiones a largo plazo tienen versiones menores que salen entre las versiones principales y aportan pequeños cambios o ajustes a los sistemas operativos que son mayores de lo que sería apropiado lanzar con un parche, pero no lo suficientemente grandes como para justificar el lanzamiento de un nuevo sistema operativo. La idea de estas versiones menores es que son lo bastante pequeñas como para no ser “disruptivas”, lo que permite que el software dirigido a la versión principal siga funcionando a lo largo de todo el ciclo de la versión principal. Las versiones principales se consideran “disruptivas”, con grandes cambios como nuevas funciones significativas del núcleo, cambios en la elección de paquetes, nuevas funciones del compilador, bibliotecas diferentes, etcétera.
Versión a corto plazo o de lanzamiento rápido
Los calendarios de versiones a largo plazo, obviamente, crean problemas para quienes buscan paquetes y funciones más modernos. Para abordar esto, todos los proveedores de Linux empresarial ofrecen un producto de versión a corto plazo.
Red Hat proporciona la distribución Fedora, que se lanza aproximadamente cada seis meses, pero con un calendario flexible. Fedora no es exactamente una distribución separada de RHEL y CentOS, sino que, cada cierto tiempo, se elige una versión de Fedora para que sea la “base” de una futura versión de RHEL y CentOS. La base no es directa y a veces se añaden algunos paquetes de versiones posteriores de Fedora, se hacen algunos cambios, pero los fundamentos coinciden estrechamente con una versión de Fedora. La versión de Fedora se congela y se somete a pruebas exhaustivas antes de convertirse en una versión a largo plazo de RHEL.
La familia Suse no utiliza un producto de versión a corto plazo y es única en esto.
Ubuntu tiene una estrategia algo diferente a la de Red Hat. Ubuntu lanza un producto cada seis meses, con un calendario muy fijo. Cada cuarta versión se designa como la versión a largo plazo, las otras tres son versiones a corto plazo. Esto da lugar a un sistema mucho más simple y directo que la forma en que funciona Red Hat, con usuarios de versión a corto plazo y usuarios de versión a largo plazo solapándose durante seis meses cada dos años.
Versión continua (rolling release)
El tipo de calendario de versiones más rápido es el de la versión continua, que ocurre básicamente de forma ininterrumpida. Esta estrategia de versiones es poco común, pero está empezando a tomarse más en serio en los últimos tiempos. Solo Suse, con la distribución openSuse Tumbleweed, proporciona hoy un sistema empresarial de versión continua. Las actualizaciones pueden ser tan frecuentes como cada par de días.
A diferencia de otros calendarios de versiones que toman grandes grupos de paquetes y los “congelan” como una única versión, la versión continua tiene actualizaciones de paquetes individuales que llegan a medida que están listos. Así que las actualizaciones son pequeñas, pero constantes. Esto permite una adaptación simplificada que mantiene los cambios a una microescala, pero hace muy difícil crear un objetivo único y predecible.
Quienes buscan los paquetes más actualizados y las funciones más vanguardistas encontrarán en las versiones continuas la mejor manera de mantener todo lo más actualizado posible.
Algo importante que hay que entender sobre los calendarios de versiones es que esto no está directamente ligado ni a la duración del soporte que se da a una versión ni indica la cantidad de pruebas que se invierte en cada versión.
Cada estilo de versión desempeña un papel importante en el ecosistema del sistema y, al disponer de distintos estilos de versión, el mundo del Linux empresarial tiene una mayor variedad y flexibilidad para atender un abanico de necesidades más amplio del que de otro modo sería factible.
Actualmente, las versiones a largo plazo son las más prominentes y populares en la administración de sistemas, pero parece poco probable que esta tendencia continúe. La estabilidad general en todo el espacio del Linux empresarial ha aumentado y la necesidad de actualidad es tan a menudo una preocupación más crítica que las distribuciones más rápidas son cada vez más deseadas.
