Kevin> Ton raisonnement est trop ancré dans celui d'un Fedora/Linux. Les justifications je les connais déjà et je trouve qu'elles ne justifient pas les désavantages qu'elles causent, désolé.
vince (./7532) :
Kevin Kofler (./7531) :
Donc forcément, un système qui oblige à faire ça est totalement foireux.
Justement, c'est là que tu comprends pas : il n'est pas question d'obliger, il est question de laisser le choix, mais c'est vrai que c'est un concept qui t'es peu familier de ce qu'on a pu voir depuis des années... Trois choix devraient être possible, utiliser une biblio bundlée, utiliser une biblio dans la version N et enfin utiliser une biblio dans sa version à jour. Avec un système de repo et de dépendances repensé, ça résoudrait bien des problèmes.
Windows fait un peu ça. Tu peux soit bundler statiquement (si la lib existe en ce format), soit dynamiquement à une version donnée, soit avec la dernière possible. C'est ce qu'il y a de mieux dans ce qu'on fait actuellement je pense, mais ça pose quand même 2 soucis qui ne rendent pas la solution idéale :
1) Au final on ne sait pas si des applis utilisent encore de vieilles versions et donc ont potentiellement des soucis de sécurité (problème solvable avec un bon soft permettant de grapher les dépendances),
2) L'appli doit savoir si elle continuera à fonctionner avec les updates des libs ou si doit se figer sur la version actuelle. Bien que la réputation aide à déterminer ça, c'est quand même assez boiteux.
Je dirais qu'il est inévitable de devoir mettre à jour le système, entraînant des incompatibilité avec les apps existantes. Pour moi deux choses sont importantes, mettre à jour une app ne doit pas en casser une autre, et mettre à jour le système ne doit pas casser les apps, SAUF dans le cas des mises à jour majeures.
Si les mises à jour mineures risquent de péter ton environnement comme c'est le cas avec la philosophie Linux, alors les gens ne les font plus (trop risqué) et elles perdent tout leur intérêt. De la même manière, si ces mises à jour "majeures" sont trop fréquentes (plus d'une fois par an je dirais, voire 6 mois pour un système qui se définit comme expérimental), alors ça ne se justifie pas : si ce n'est plus un "événement" alors il devient difficile de trouver les informations permettant de savoir s'il est ok de migrer ou pas pour chaque version, et les développeurs commencent à en avoir marre de s'adapter trop souvent.
Windows par exemple, garantit la compatibilité pour une version du système d'exploitation (la seule exception ayant été XP SP2, et on se rappelle le tollé que ça a fait...), et seulement au moment de migrer alors il faut se poser la question de ce qui marche encore et ce qui ne marche plus. Faire ce travail tous les trois ans me paraît acceptable, surtout que le nouveau système est d'abord testé dans une VM ou une partition séparée.