Pues la verdad a mi no me frustra tanto. Es raro que quiera instalar una versión de una programa que no esté en los repositorio y cuando eso pasa generalmente ni siquiera tengo un paquete viejo, sino las fuentes que debo compilar. Así que no tengo problemas con eso.
En todo caso el problema que se describe no tiene que ver con el instalador sino con las librerías (por lo que no se si el AppStream lo va a resolver). En Windows esos problemas no existen porque:
a) Mantienen la compatibilidad atrás a raja tabla, aunque eso tiene un coste enorme en recursos y en algunos casos compromete la seguridad
b) Generalmente una aplicación se distribuye con todas las librerías que necesita. Es decir, no existe un sistema de paquetes que se encarga de resolver dependencias bajando las librerías de un repositorio central cuando son necesarias. Todos los programas llevan todas las DLL de las que dependen aunque también sean utilizadas por otros programas.
Obviamente la solución de Windows tiene sus pro pero también sus contras, como creo que se intuyen por mi comentario. En el caso de Linux un paquete se compila para una versión mayor de una librería. Generalmente eso permite que sea compatible con revisiones menores, por lo que mientras una de estas esté disponible no debería haber mayor problema en seguir instalado el programa. El problema es que si la versión mayor cambia (lo que suele implicar cambios no compatibles hacia atrás), las distribuciones no suelen seguir manteniendo el paquete para la versión mayor anterior.
Este no es un problema de Linux en si mismo sino de las distribuciones, para quiénes la compatibilidad hacia atrás no es una prioridad. En todo caso los desarrolladores podrían paliar un poco eso ofreciendo un paquete con todo incluido, al estilo de como se distribuye en Windows, cuando van a dejar de sacar nuevos paquetes para las distros.
Re:Difícil
(Puntos:4, Interesante)( http://drupal.gulic.org/blog/aplatanado )
En todo caso el problema que se describe no tiene que ver con el instalador sino con las librerías (por lo que no se si el AppStream lo va a resolver). En Windows esos problemas no existen porque:
a) Mantienen la compatibilidad atrás a raja tabla, aunque eso tiene un coste enorme en recursos y en algunos casos compromete la seguridad
b) Generalmente una aplicación se distribuye con todas las librerías que necesita. Es decir, no existe un sistema de paquetes que se encarga de resolver dependencias bajando las librerías de un repositorio central cuando son necesarias. Todos los programas llevan todas las DLL de las que dependen aunque también sean utilizadas por otros programas.
Obviamente la solución de Windows tiene sus pro pero también sus contras, como creo que se intuyen por mi comentario. En el caso de Linux un paquete se compila para una versión mayor de una librería. Generalmente eso permite que sea compatible con revisiones menores, por lo que mientras una de estas esté disponible no debería haber mayor problema en seguir instalado el programa. El problema es que si la versión mayor cambia (lo que suele implicar cambios no compatibles hacia atrás), las distribuciones no suelen seguir manteniendo el paquete para la versión mayor anterior.
Este no es un problema de Linux en si mismo sino de las distribuciones, para quiénes la compatibilidad hacia atrás no es una prioridad. En todo caso los desarrolladores podrían paliar un poco eso ofreciendo un paquete con todo incluido, al estilo de como se distribuye en Windows, cuando van a dejar de sacar nuevos paquetes para las distros.