El mundo del software libre está mejor preparado para las transiciones de software que se actualiza constantemente. Y siempre tienes acceso a los fuentes para arreglar el entuerto de las dependencias desactualizadas tú mismo. Pero ¿es óptimo que cada aplicación tenga un ritmo propio de transición entre versiones?
Supongamos un ejemplo: la distribución A (llamémosla así) revisa, parchea y empaqueta un gran conjunto de aplicaciones de usuario B que requieren de unas potentes y completas librerías C que a su vez dependen de un backend gráfico D.
Las dependencias serían A -> B -> C -> D
A tiene un ciclo anual o cada seis meses con versiones estables y muy probadas. B es caótico y parece seguir su propio ritmo pero al depender de C en compatibilidad en cuanto éste C saca una nueva versión mayor a B no le queda otra que adaptarse cuanto antes. C solo puede incluir mejoras para comunicarse con el ordenador e interactuar con el servidor gráfico cuando éste, D, se adapta a los tiempos sacando una nueva y rompedora versión.
Si repetimos los nodos A, B y C hasta casi el infinito (A: mas de veinte distribuciones importantes, B: mas de mil paquetes de aplicaciones, C: proyectos como KDE, GNOME, XFCE, etc... D: XFree86, librerías de desarrollo, nuevos estándares a todos los niveles, etc...) el resultado se me antoja un gran caos para los empaquetadores y desarrolladores. Y todo debe encajar a la perfección si la distribución quiere ser realmente estable y perfecta.
Forzar un ritmo de trabajo determinado en la estabilización del gran bazar libre parece casi imposible, una tarea de locos. Pero creo que así acabará siendo sin que nos demos cuenta. Las aplicaciones alineadas (o sencillamente dependientes) de cada entorno de escritorio se adaptarán a sus ciclos con cierta fase (retraso), las distribuciones harán lo mismo respecto a los escritorios y éstos ignorarán, haciéndose mas y mas independientes (algunos ya lo son en parte) de las librerías, el servidor gráfico y el kernel.
A,B -> C; D
Y la aplicación que no dependa del servidor gráfico C no se integrará con nada y acabará siendo apartada. Aunque puede haber excepciones como Blender :-P