Vers une plateforme Linux standardisé ?
by
hideo
@ 26/06/2007
Les standards joueront-ils un rôle important dans l'avenir ?
Solutions actuelles
FHS (Filesystem Hierarchy Standard)
FHS est une
norme crée en 1994 qui a pour but de définir l'arborescence et le
contenu des principaux répertoires des systèmes de fichiers pour les
systèmes Linux et Unix. Cette norme est géré aujourd'hui par le Free
Standards Group (HP, Ibm, Dell, Red Hat) qui maintenant a fusionné avec
l'OSDL (Open Source Development Labs) pour devenir la Linux Foundation.
Voici quelques spécifications de la FHS:
- /bin : Binaires utilisateurs
- /boot : Chargeur de démarrage
- /dev : Fichiers correspondant au périphériques
- /etc : Fichiers de configurations
- /home : Répertoire utilisateur
- /mnt : Point de montage
- /sbin : Binaires administrateurs
La plupart des distributions suivent la FHS mais pas à la spécification près. Il reste certaines différence et il existe aussi certains Unix qui ne suivant pas du tout la FHS comme Mac, avec /Applications, /Users donc des noms beaucoup plus intuitifs.
POSIX (Portable Operating System Interface X)
POSIX correspond en fait à une famille de standards créés en 1988. Cet ensemble de standards définit la majorité des composants qui doivent être présents sur un système d'exploitation voulant être compatible avec cette norme, ainsi que leurs fonctionnements comme par exemple les différentes interfaces, la ligne de commande standard, les principaux utilitaires (echo, awk, ed), les entrées/sorties (I/O), ainsi que la gestion des threads. Même si cette norme a été crée pour Unix au départ, elle peut s'appliquer à tous systèmes d'exploitation.
Pour les distributions souhaitant être certifiées compatible avec cette norme IEEE 1003, un test a été mis en place (POSIX Conformance Test Suite)
Cette norme possède quand même quelques inconvénients, car elle a été écrite à l'époque où le 32 bits était de rigueur, donc la taille des fichiers est limitée et cette norme devra ainsi sûrement être réécrite pour le 64 bits, ce qui n'est pas encore le cas. De plus, la documentation de POSIX, qui appartient à l'IEEE, n'est pas publiée sur Internet et coûte extrêmement cher. Cela empêche donc de nombreuses distributions de ne pouvoir être validées POSIX car même si le test est gratuit, pour être validée par l'IEEE et être plus crédible, le vrai test coûte assez cher. On peut citer l'exemple de Debian qui a indiqué que pour que leur OS soit totalement validé POSIX, cela coûterait extrêmement cher et qu'il y avait peu de chance que cela arrive un jour.
Une des rares distributions valide à 100% avec POSIX est la distribution Unifix Linux 2.0 de la société allemande Unifix.
SUS (Single UNIX Specification)
La SUS est aussi une famille de standards (UNIX uniquement à la différence de POSIX) basée sur le travail de l'IEEE qui a été développée par le groupe AUSTIN (Austin Common Standards Revision Group) qui compte environ 500 membres.
La version 3, commencée en 1998, a vite été adoptée par de nombreuses personnes car à la différence de POSIX, l'ensemble des spécifications est disponible gratuitement et est aussi compatible 64 bit. Cet ensemble de normes est composé de 4 parties :
- Base : Conventions, et liste des entêtes en C devant être présente sur le système
- Shell & Utilitaires
- Interfaces système : Liste des appels C devant être disponibles sur le système
Par défaut, le Shell est Bourne Shell (ou sh).
Le test permettant de valider un système comme étant compatible avec cette norme est le même que pour POSIX.
Solaris 10 est compatible avec la version de cette norme tout comme le sera Leopard.
LSB (Linux Standard Base)
La LSB est un projet lancé en 2001, mené aujourd'hui par la Linux Foundation et rejoint par de nombreuses distributions, qui a pour but de standardiser la structure interne des systèmes d'exploitation Linux. Il se base sur les normes POSIX, Single Unix Specification et bien d'autres normes. L'actuel président de ce groupe est Ian Murdock, fondateur de la distribution Debian.
En standardisant la structure interne, le but est de permettre aux développeurs de proposer des programmes qui fonctionneront sur l'ensemble des distributions compatibles.
Les points sur lesquels la LSB intervient sont les suivants :
- Librairies de base
- Utilitaires et commandes de base (certaines en plus de POSIX)
- Structure du système de fichiers
- Runlevels
- Système d'impression
Elle comprend un ensemble d'APIs qui définissent certains standards qui permettent aux développeurs de ne faire qu'un seul portage qui marchera sur toutes les distributions compatibles, ce qui accélère et facilite le développement.
Malgré tout cela, il subsiste des problèmes car dans la LSB le format des paquets doit être de type RPM obligatoirement. Ils ne reconnaissent pas les .deb dans leurs normes. Pour être compatible LSB, la distribution Debian, qui n'a nullement l'intention d'abandonner les .deb qui sont apparus avant les .rpm et qu'ils considèrent comme supérieur, a du mettre en place le programme alien qui permet de transformer des .deb en .rpm et vice-versa.
Sinon, pour couvrir plus de domaines, la LSB, plutôt de n'avoir qu'une seule norme qui s'appliquerait à tous les systèmes, a préféré se diviser en plusieurs normes. On a donc par exemple la LSB server standard qui s'appliquera uniquement aux serveurs et la LSB Desktop standard qui s'appliquera plus au domaine des ordinateurs de bureaux. Cette division permet donc d'avoir des normes qui s'appliquent à différents environnements et qui peuvent donc être beaucoup plus spécifique.
Freedesktop.org
Freedesktop.org est un projet qui a pour objectif d'améliorer la compatibilité et surtout l'interopérabilité entre tous les systèmes utilisant X Window System comme Linux ou beaucoup d'autres UNIX.
Les deux principaux projets de Freedesktop.org sont Gnome et KDE qui sont les deux principaux environnement graphiques sous Linux.
Le but principal n'est pas d'unifier ces différents projets sinon un seul projet suffirait mais plutôt d'harmoniser ces différents environnements pour ne pas déstabiliser l'utilisateur final ou encore faciliter le travail du développeur. On parle donc d'harmonisation des raccourcis claviers, des fonctionnalités, de la détection du matériel, etc.
Freedesktop.org travaille aussi sur d'autres projets comme X.org, Gstreamer, la couche d'abstraction matériel (HAL), Cairo, Qt, GTK+, XUL...
Tous ces projets sont open-source et utilisent des standards ouverts, ce qui va donc permettre aux utilisateurs finaux de pouvoir retrouver certains automatismes entre différents environnements graphiques. De plus, le plus important c'est que ces deux systèmes Linux n'utilisant pas le même environnement graphique pourront communiquer sans problèmes grâce à l'utilisation de ces standards.
LiPS (Linux Phone Standards)
Fort de la possibilité d'utiliser Linux sur certaines plates-formes mobiles, certains acteurs important du marché comme Orange ou encore PalmSource, ont décidé de s'unir pour mettre en place certains standards qui permettront à Linux de s'imposer rapidement sur le marche des mobiles et de proposer une solution alternative à Microsoft et Symbian.
Leur objectif est de mettre en place certains standards et de mettre à la disposition des développeurs des APIs qui leur permettront de développer des applications pour mobiles beaucoup plus rapidement, avec moins d'argent et surtout qui seront compatibles entre elles.
La première partie de la version 1.0 de cette norme a été révélée le 11 juin de cette année, donc tout récemment. Elle met en place des spécifications pour la gestion de la liste de contacts, les appels téléphoniques, l'interface utilisateur ainsi que les méthodes de saisies de données.
La seconde partie de cette norme devrait sortir d'ici la fin de cette année et apporter beaucoup plus d'APIs notamment celles concernant la messagerie, le calendrier, etc.
United Linux
United Linux est un projet qui a été lancé en 2002 par Suse, TurboLinux, Conectiva et le groupe SCO dans le but de créer les bases communes d'une distribution qui aurait pour cible le monde de l'entreprise et ensuite chaque équipe pourrait construire une distribution en se basant dessus. Malheureusement, cette tentative a échoué et ce projet a été arrêté en Janvier 2004.