Le mythe du système unique

Il est amusant de voir comment l’histoire se répète, même dans les domaines technologiques. J’ai récemment fait le tri dans mes vieux cours, et suis tombé sur mes tous premiers cours d’UNIX, que j’ai relu … L’objectif des auteurs de ce système, Ken Thompson et Dennis Ritchie, était finalement assez comparable à celui de Linus Torvalds lorsqu’il créa Linux.

Le mythe du système unique

Développé au sein des labos de AT&T, le système fut longtemps unique. Puis une branche apparue (première erreur) à l’université de Berkeley. Les deux équipes donnèrent donc naissance aux noyaux System V (AT&T) et BSD (Berkeley Software Distribution). Avec le succès, ces deux souches se déployèrent et furent finalement utilisées comme base aux Unix que nous connaissons aujourd’hui HP-UX, Aix, Solaris, …

Jusque là tout allait bien: un logiciel compilé en System V pouvait fonctionner sur la plupart des Unix estampillés «System V», et les administrateurs système, se sont mis à rêver d’un monde merveilleux où ils n’auraient plus qu’un seul système d’exploitation à gérer. Le mythe du système unique était né.

Les constructeurs remplacèrent peu à peu leurs systèmes propriétaires (IBM MVS, Digital VMS, HP MPE …) par ces Unix avec un argument de vente en forme de slogan: Unix est un système «ouvert».

Fin des années 80, début des années 90, nous avons donc une opposition entre deux mondes: d’un côté les mainframes, fermés, propriétaires, et de l’autre, les systèmes ouverts, basés sur Unix.

Malheureusement, ces systèmes n’avaient d’ouvert que le nom: je doute que nous ayons eût un jour accès au code source de IBM AIX ou HP-UX. De plus, les constructeurs ont peu à peu, fait évolué «leur» Unix au point de les rendre complètement incompatibles entre eux. Une application développée sur HP-UX ne peut pas être simplement compilée sur Solaris et réciproquement. Nous sommes donc face à DES UNIX aussi fermés et propriétaires que les systèmes utilisés initialement.

Lorsque Linux est apparu, les objectifs était un peu identique ceux de Ken Thompson et Dennis Ritchie: disposer d’un système d’exploitation indépendant et portable.

Le noyau Linux était unique, et pouvait fonctionner sur à peu près toutes les plateformes de l’époque: HP PA-RISC, Sun Sparc, Digital Alpha, Ibm/Motorola PowerPC, Intel x86 … Pour installer une application, il suffisait de compiler ses sources, et le tour était joué. Et nos administrateurs système, qui entre temps, ont troqué la blouse blanche et les lunettes à écail, pour le jean troué et les cheveux longs, se sont remis à rêver d’un monde ou Linux remplaçait tous les systèmes. Linux était-il le graal?

Distributions Linux
Distributions Linux

Presque 20 ans plus tard, qu’avons-nous?

Si Linux a su éviter l’écueil d’un fork au niveau du noyau, nous avons par contre une multitude de distributions différentes. Au départ, ses distributions n’étaient que des regroupements de logiciels, compilés, organisés de façon à rendre leur utilisation plus aisée. Aujourd’hui, chacune de ces distributions proposent leur version de noyau (et les paramètres «optimisés» qui vont avec), leurs interfaces, leur propre système d’installation ou de mise à jour, leur propre organisation de fichiers … au point qu’une application développée sous une distribution

  • dans le pire des cas, ne pourra pas être compilée sans modification sur une autre distribution,
  • dans le meilleur des cas, devra subir de très nombreux tests et validations sur les autres distributions pour être sûre qu’elle a bien les mêmes comportements.

Donc même si le noyau Linux continue d’être unique, les particularités des différentes distributions deviennent un véritable casse-tête pour nos chers administrateurs, qui doivent gérer les différentes distributions et versions des systèmes en fonction des applications qu’ils doivent héberger.

Non, le système unique n’est pas encore pour aujourd’hui.

Référence(s)

UNIX – Wikipédia, l’encyclopédie libre

Commentaires