Bah la, on touche le souci du doigt. Les gens veulent le truc en vogue, mais aussi supporté longtemps et stable. A un moment, faut savoir s’arrêter. Des APIs comme Ogre qui bougent encore pas mal, ç'est chiant à supporter.
La seule raison pour les gens de pas souffrir du même problème sous windows, c'est qu'on te dit pas que directx 10 va déchirer, et qu'on te file pas des builds non stabilisés au niveau de l'API, et que les devs upstreams ne droppent le support des vielles versions. ( ou ne te disent pas "faut passer à la version plus récente", comme clanlib ).
Et sous windows, tu cibles que ce que tu utilises, car tu n'as pas le choix. Et tu as aussi une API stable pour les drivers et le kernel, chose qu'on n'a pas sous Linux, avec les avantages et les inconvénients que ça entraine, l'inconvénient étant que ça pousse la compatibilité sur les gens hors des dépots principaux ( ie, 3rd party modules ).
C'est plus ça le souci. Quand tu fait ton jeu en SDL, ça compile partout, et ça tourne partout car la SDL n'a pas bougé ( ou du moins, n'a pas bougé pendant longtemps ). Mais ensuite, si les devs de jeux prennent Clanlib et se plaignent "la plateforme bouge trop", bah, faut juste arreter de la prendre. Ou faut juste faire en sorte que ça bouge sans casser la compatibilité. Tout le monde rale sur ça, la LSB a été mise au point pour ça, personne ne fait rien sauf les distributions pour entreprise.
Et pourtant, les outils existent ( http://ispras.linuxbase.org/index.php/ABI_compliance_checker ). Mais ils semblent que personne ne soit intéressé par déployer ça à une échelle suffisante pour ne serais que prendre conscience du problème ( et je parle pas de convaincre les packageurs et les upstreams de "oups, vous avez cassé un truc" ).
Mon hypothèse, c'est que les packageurs ont la pression pour filer le truc le plus récent, le plus de softs possibles, et le plus stable possible, et que faire le 1 et le 2, c'est facile car ça requiert pas de coder. Le 3, ça implique des patches, des efforts, de se fâcher avec l'upstream car tu patches, et au final, ça reviens à consommer plus de ressources.
Donc si tu veux des plateformes stables, c'est pas chez les distributions qu'il faut aller. C'est les développeurs des modules que tu utilise qu'il faut convaincre qu'une durée de vie plus grande serait vachement bien, qu'avoir une version stable de l'API et ABI serait vachement bien, etc, etc.
[^] # Re: Steam et Canonical
Posté par Misc (site web personnel) . En réponse au journal Ubuntu vs les autres distributions GNU/Linux. Évalué à 6.
Bah la, on touche le souci du doigt. Les gens veulent le truc en vogue, mais aussi supporté longtemps et stable. A un moment, faut savoir s’arrêter. Des APIs comme Ogre qui bougent encore pas mal, ç'est chiant à supporter.
La seule raison pour les gens de pas souffrir du même problème sous windows, c'est qu'on te dit pas que directx 10 va déchirer, et qu'on te file pas des builds non stabilisés au niveau de l'API, et que les devs upstreams ne droppent le support des vielles versions. ( ou ne te disent pas "faut passer à la version plus récente", comme clanlib ).
Et sous windows, tu cibles que ce que tu utilises, car tu n'as pas le choix. Et tu as aussi une API stable pour les drivers et le kernel, chose qu'on n'a pas sous Linux, avec les avantages et les inconvénients que ça entraine, l'inconvénient étant que ça pousse la compatibilité sur les gens hors des dépots principaux ( ie, 3rd party modules ).
C'est plus ça le souci. Quand tu fait ton jeu en SDL, ça compile partout, et ça tourne partout car la SDL n'a pas bougé ( ou du moins, n'a pas bougé pendant longtemps ). Mais ensuite, si les devs de jeux prennent Clanlib et se plaignent "la plateforme bouge trop", bah, faut juste arreter de la prendre. Ou faut juste faire en sorte que ça bouge sans casser la compatibilité. Tout le monde rale sur ça, la LSB a été mise au point pour ça, personne ne fait rien sauf les distributions pour entreprise.
Et pourtant, les outils existent ( http://ispras.linuxbase.org/index.php/ABI_compliance_checker ). Mais ils semblent que personne ne soit intéressé par déployer ça à une échelle suffisante pour ne serais que prendre conscience du problème ( et je parle pas de convaincre les packageurs et les upstreams de "oups, vous avez cassé un truc" ).
Mon hypothèse, c'est que les packageurs ont la pression pour filer le truc le plus récent, le plus de softs possibles, et le plus stable possible, et que faire le 1 et le 2, c'est facile car ça requiert pas de coder. Le 3, ça implique des patches, des efforts, de se fâcher avec l'upstream car tu patches, et au final, ça reviens à consommer plus de ressources.
Donc si tu veux des plateformes stables, c'est pas chez les distributions qu'il faut aller. C'est les développeurs des modules que tu utilise qu'il faut convaincre qu'une durée de vie plus grande serait vachement bien, qu'avoir une version stable de l'API et ABI serait vachement bien, etc, etc.