Anciens logiciels: le sauveur et le fléau de l'informatique

Certaines entreprises - comme Apple - semblent penser que les anciennes versions de leurs logiciels disparaissent tout simplement du monde lorsque de nouvelles versions sont publiées. Non seulement cela n'est pas vrai aujourd'hui, mais cela  n'a jamais  été vrai.

Les mainframes exécutant des applications Cobol critiques persistent à ce jour dans les grandes entreprises et les gouvernements. Les écrans verts AS / 400 sont toujours utilisés en grand nombre. Les systèmes de point de vente basés sur Windows XP sont partout. Un ancien Commodore Amiga fait encore fonctionner le chauffage et la climatisation pour un système scolaire. Les systèmes DOS sont toujours utilisés dans le monde entier. Je doute que nous verrons l'éradication de Windows XP dans les 30 prochaines années.

Bien que nous aimerions agiter une baguette magique et que tout soit mis à niveau par magie vers la dernière version sans tracas ni problèmes, cela ne se produira pas. Ignorer cette réalité significative du point de vue du fournisseur ou du client ne sert à rien - bien souvent, cela nous plonge dans les recoins.

Quiconque a passé suffisamment de temps dans l'informatique connaît le phénomène qui se manifeste par une série de problèmes mineurs individuels qui forment un barrage collectif sur un chemin apparemment simple. Un exemple courant serait l'inadéquation entre le navigateur que vous utilisez actuellement et l'interface utilisateur d'administration Web à laquelle vous essayez d'accéder, où le client n'a pas la bonne version de Flash installée ou a besoin de plug-ins mis à jour dans l'ordre. pour fonctionner - ou dans le pire des cas, lorsque l'interface utilisateur Web refuse de fonctionner du tout à moins qu'une ancienne version du navigateur ne soit en cours d'exécution.

Si tout ce que vous voulez faire est de modifier un paramètre mineur qui devrait prendre environ une minute, les 10 ou 20 minutes de téléchargements et de mises à jour nécessaires pour y arriver peuvent être exaspérantes. Devoir construire une VM entière avec un ancien logiciel pour y arriver est infiniment pire.

Ensuite, il y a le nombre malheureux de solutions matérielles et logicielles de niveau intermédiaire et d'entreprise qui ont des dépendances sur des packages clients désormais anciens pour effectuer toute gestion ou administration. Idéalement, des mises à jour du micrologiciel sont disponibles pour alléger ces restrictions, mais ce n'est certainement pas toujours le cas.

Il existe de nombreuses infrastructures dans lesquelles les composants critiques ont au moins plusieurs années et fonctionnent parfaitement, mais ont été négligés ou «en fin de vie» par le constructeur. Dans certains cas, ils peuvent être maintenus uniquement via un boîtier Windows XP exécutant IE6 et Java 5. Dans de nombreux cas, il s'agit d'outils coûteux et spécifiques à l'industrie, tels que l'équipement de fabrication, les systèmes de contrôle environnemental, les systèmes de sécurité ou d'autres solutions qui ne sont pas faciles ou remplacé à bas prix.

Il n'est pas rare de voir des systèmes Windows XP, Windows 2000 et même Windows NT âgés exécutant un logiciel de contrôle de fabrication. Le logiciel ne fonctionne généralement que sous ces versions ou nécessite un logiciel d'accompagnement qui est également limité.

Tout le monde sait que c'est une responsabilité, mais la mise à niveau du système peut être impossible en dehors d'une mise à niveau en gros extrêmement coûteuse de toute une ligne de fabrication, ou cela peut coûter des dizaines ou des centaines de milliers de dollars à dépenser en licences logicielles. Lorsqu'ils sont confrontés à un choix entre maintenir quelques systèmes plus anciens ou remplacer du matériel et des logiciels parfaitement fonctionnels, les compteurs de haricots choisiront presque certainement le premier. Ergo, cette boîte de Windows 2000 est «réparée» régulièrement.

Le danger entre en jeu lorsque les éditeurs de logiciels arrêtent de rendre disponibles les anciennes versions de logiciels. Je ne parle pas nécessairement des systèmes d'exploitation, mais d'autres éléments fondamentaux. Lorsqu'un éditeur de logiciels extrait d'anciennes versions de ses sites de téléchargement, il oblige les administrateurs qui tentent de reconstruire un système plus ancien à chercher ailleurs ces packages, généralement à partir de sources qui ne sont pas entièrement fiables. Avec le temps, ce problème ne fait qu'empirer. Si les anciennes versions sont en fin de vie, il serait beaucoup plus sûr pour un fournisseur de fournir des téléchargements vérifiables et totalement non pris en charge de ces versions que de les supprimer entièrement et de forcer les gens à recourir à des sources douteuses.

Un autre problème concerne les restrictions de sécurité trop zélées qui bloquent efficacement le fonctionnement de certains outils. Java 7 et Java 8 bloquent les certificats SSL non approuvés, par exemple, donc si vous essayez d'accéder à une application de gestion interne basée sur Java via un navigateur avec un certificat auto-signé, vous devrez passer par un tas d'obstacles pour obtenir Là. Parfois, la seule option est de rétrograder votre version de Java, ce qui gâchera généralement d'autres applications. Vous êtes damné si vous le faites et damné si vous ne le faites pas.

Le recours à des systèmes vieillissants conduit naturellement à des procédures de maintenance et d'administration de plus en plus difficiles et dangereuses - mais dans de nombreux cas, ce danger est le résultat artificiel et inutile de la restriction d'accès des éditeurs aux anciennes versions de logiciels. Personne ne veut maintenir à jamais des logiciels plus anciens, et il y a certainement des risques de sécurité à prendre en compte, mais la durée de vie incroyablement courte de certains logiciels conduit finalement à plus de problèmes, pas moins.