Comment assurer la stabilité
et la pérennité des solutions construites sur LINUX ou l'Open Source - Approche méthodologique et apport d'ELIOS
-
La place de LINUX et de l'Open Source dans
un objectif de pérennité des applications
L'Open Source, en plein essor depuis quelques années, est
un monde foisonnant : de nombreuses innovations y apparaissent sans cesse.
Beaucoup d'outils ou idées prometteuses resteront sans lendemain. Certains outils
sont très matures - autant que les outils commerciaux classiques -
d'autres sont encore en phase de développement, d'intégration, d'amélioration ...
L'évolution rapide de cette technologie pose donc
un problème important de pérennité
pour les systèmes industriels dont la durée de vie peut aller de 5 à 20 ans.
Comment assurer la pérennité des développements
s'appuyant sur LINUX, ou d'une manière plus générale sur les logiciels s'appuyant
sur l'Open Source ?
Les outils Open Source peuvent être utilisés sans
hésitation dès lors qu'il s'agit de standards de fait :
SAMBA est ainsi devenu un standard permettant, au niveau
réseau, de relier le monde Microsoft (poste clients) à des serveurs de type
UNIX ou LINUX.
SAMBA, outre ses qualités intrinsèques (faible coût, grande fiabilité, ...),
permet de plus de simplifier l'administration des postes clients : il
assure la totale transparence, vu du poste client, entre un serveur UNIX / LINUX
et un serveur Microsoft.
La chaîne GNU (environnement de développement C / C++
natif et croisé pour de nombreux microprocesseurs) est à ce jour, l'outil
de référence pour le développement de systèmes embarqués, compte tenu de sa
fiabilité, de la qualité du code engendré et de la très large couverture des
machines hôtes et des microprocesseurs cibles. Dans l'environnement UNIX / SOLARIS,
par exemple, elle supplante aujourd'hui les outils constructeurs proposés
par SUN.
Le serveur Web APACHE est aujourd'hui l'outil le plus
utilisé au monde pour le support des serveurs Internet ou Intranet.
Un autre constat s'impose : LINUX
et l'Open Source sont plus diffusés sur les serveurs que sur les postes clients:
en effet, les habitudes d'utilisation, notamment au niveau des suites bureautiques,
freinent aujourd'hui l'implantation des solutions Open Source sur les postes
clients. Cependant, pour les applications non bureautiques (outils de gestion
intégrée de l'entreprise par exemple), il est intéressant de recourir à l'architecture
client léger (via un navigateur), qui permet
de s'affranchir de l'OS du poste client.
Les applications implantées sur le (ou les) serveur(s) pourront
avantageusement être construites en s'appuyant sur les briques logicielles disponibles
dans le monde Open Source (serveur Web, SGBD, outils ou langages de développement).
Un exemple réalisé par ELIOS est fourni ci-après :
Les avantages et les inconvénients du développement coopératif du monde Open Source
S'agissant du maintien en condition opérationnelle
d'applications sur une longue période, le modèle Open Source ne constitue-t-il
pas un facteur d'instabilité ?
En effet, tout logiciel Open Source, surtout s'il connaît
un beau succès, fait l'objet de constantes améliorations. Ceci, en première
analyse, peut apparaître comme une cause importante d'instabilité. Plusieurs
remarques peuvent être faites face à ce constat :
Nul n'est obligé de suivre toutes les versions intermédiaires
de ces logiciels : si une version donne satisfaction, il est possible de
l'utiliser pendant plusieurs années. A contrario, l'expérience montre qu'une
anomalie identifiée dans un logiciel Open Source bénéficie en général d'un
retour beaucoup plus rapide des développeurs du monde libre que ceux des logiciels
traditionnels.
Cependant, sur une longue période (5 ans ou plus),
la communauté supportant le logiciel peut avoir disparu.
On peut observer que pour les logiciels commerciaux
classiques, le risque existe également, y compris pour ceux issus de grandes
sociétés. En effet, la pérennité d'une
entreprise n'est pas synonyme de pérennité de produit. La pérennité des produits
d'une entreprise résulte plus d'une politique volontariste de celle-ci que de
sa taille.
Les logiciels libres bénéficient en revanche d'un avantage
considérable : le code source et le moyen de regénérer le code
exécutable des logiciels libres existent toujours, sous réserve que l'on ait
pris soin de les archiver.
Leur bon usage nécessite en revanche une méthodologie rigoureuse
et un savoir-faire particulier pour en tirer le meilleur parti.
Précaution utile : s'appuyer sur des standards
Une garantie supplémentaire consiste à s'appuyer sur des
standards : ainsi, le recours aux appels système conformes à la norme POSIX
permet d'assurer un niveau d'indépendance supplémentaire des applications par
rapport à un OS donné.
Assurer la pérennité d'un logiciel Open Source, lorsque la communauté le
supportant a disparu
Archiver et gérer les versions du logiciel
La première précaution à prendre consiste à archiver l'ensemble
des sources du logiciel, les procédures de génération associées, et à vérifier
que celles-ci sont opérationnelles. La gestion des supports de sauvegarde, pour
des périodes longues, est aussi essentielle. Il faut aussi prévoir, le cas échéant,
la gestion de plusieurs versions de ce logiciel à l'aide d'un outil de gestion
de configuration adéquat (il en existe d'excellents dans le monde libre !).
Faire évoluer le logiciel, y compris au niveau des
drivers, en cas de nécessité
Le point le plus délicat, lorsque la maintenance doit être
assurée sur des périodes longues, réside dans l'évolution du matériel en général
et des unités périphériques en particulier. Il peut donc être nécessaire, pour
certains logiciels système ou réseau, de faire évaluer les drivers (pilotes)
de contrôle des périphériques.
La maîtrise totale d'un logiciel libre passe par le
besoin de pouvoir faire évoluer tous ses constituants, y compris les drivers
de périphériques.
Remplacer la brique logicielle obsolète par
un autre outil fonctionnellement proche
L'effort pour maintenir en état le logiciel obsolète
peut se révéler trop important par rapport au service rendu ; par conséquent,
son remplacement par un outil mieux adapté ou plus performant apparaît alors
plus pertinent que le maintien de l'ancien outil. L'étude au cas par cas permet
de trancher.
Synthèse des différentes approches pour maintenir
la pérennité
Il n'y a pas de miracle ; ni l'approche Open Source,
ni l'approvisionnement auprès de fournisseurs traditionnels ne constituent la
panacée ou l'assurance tous risques face au besoin de pérennité. Cependant,
elle présente un degré de liberté supplémentaire par rapport aux logiciels commerciaux :
elle permet de disposer des sources, ce qui offre la possibilité de faire évoluer
un outil, même obsolète. Elle implique cependant un savoir-faire particulier
du fournisseur des solutions construites sur l'Open Source, qui doit être
à même de faire évoluer les outils, y compris au niveau système, réseau ou pilote
de périphérique.
L'apport et le positionnement d'ELIOS par rapport à l'Open Source
Face à la multiplicité des logiciels libres disponibles,
il faut donc faire preuve de discernement : réaliser les choix entre les
diverses possibilités offertes, apporter le support indispensable, compléter
et faire évoluer les outils disponibles là et chaque fois que c'est nécessaire.
Garantir le Maintien en Condition Opérationnelle (MCO) de
solutions bâties sur l'Open Source nécessite un savoir-faire complet, depuis
les couches les plus basses (portage d'OS, réalisation de drivers) jusqu'aux
couches applicatives (IHM), en passant par les interfaces réseau. Opérant sur
les marchés "high-tech", ELIOS a acquis ce savoir-faire et cette expérience.
ELIOS, offrant des solutions aux milieux télécom, industriel,
défense et tertiaire depuis près de 20 ans, a défini une méthodologie destinée
à assurer la pérennité de ses produits et le MCO d'applications réalisées sur
des périodes longues, avec de nombreuses références concrètes de produits et
d'applications opérationnelles sur des durées supérieures à 10 ans.
ELIOS met aujourd'hui cette méthodologie au service de nouvelles
applications ou d'évolutions d'applications existantes (rétrofit industriel),
en s'appuyant sur l'Open Source, en complément aux solutions actuelles
basées sur des outils commerciaux traditionnels (logiciels sous Solaris ou Windows
en particulier).
En effet, le pragmatisme consiste à recourir aux meilleurs
outils de l'Open Source, tout en continuant à recourir aux packages logiciels
traditionnels, lorsque les outils Open Source ne sont pas clairement devenus
des standards de fait.
Nous présentons ci-dessous quelques exemples récents de
réalisations d'ELIOS utilisant LINUX ou des outils Open Source :