Qu'est ce qu'un système ouvert ?
Un système ouvert est un ensemble informatique, composé
d'éléments matériels et logiciels dont chacun
remplit conjointement les deux conditions suivantes :
- les spécifications internes du produit sont complètement
disponibles. Les fonctionnalités ainsi spécifiées
peuvent être implémentées telles quelles, ou librement
reproduites par les spécialistes concernés.
- le produit est développé et commercialisé par plusieurs
constructeurs ou éditeurs, c'est-à-dire qu'il
a été implicitement «adopté» par l'industrie.
Quels systèmes informatiques
peuvent être qualifiés d'ouverts ?
UNIX, TCP/IP, X11, Motif, les langages C, C++, SQL, Java, PostScript,
HTML sont des systèmes ouverts.
L'architecture PC à base de processeur Intel est un système
ouvert.
En quoi ces systèmes sont-ils
vraiment ouverts?
Le code source d'UNIX a été largement diffusé.
Ses mécanismes sont parfaitement connus et décrits dans
un grand nombre de documents. Il est disponible sur une large variété
de plate-formes.
De même, TCP/IP est standardisé par un ensemble de documents
intitulés RFC (Request For Comment) accessibles à
tous. On en trouve des implémentations pour toutes les plates-formes,
sous tous les systèmes d'exploitation.
Mêmes constatations pour X11, Motif, que l'on peut mettre en
oeuvre sous différents systèmes d'exploitation, pour
C et C++ dont il existe des compilateurs pour tous les environnements,
pour SQL, implémenté dans tous les SGBDR et pour Java.
Dans tous ces exemples, la facilité d'accès aux spécifications
du produit est une volonté de la société créatrice.
L'autre critère pour accéder au statut de "système
ouvert" est le succès et l'adoption du marché.
Tous les systèmes cités ci-dessus ont connu le succès
c'est à dire qu'ils ont été repris par différents
éditeurs ou constructeurs qui ont produit leurs propres versions.
Dans le domaine du matériel l'architecture "PC"
est l'archétype du système ouvert, et les clones sont
dans ce cas innombrables.
Il ne suffit donc pas de publier les spécifications internes d'un
produit pour prétendre que c'est un système ouvert. Un logiciel
dont les spécifications et même les sources sont publiés
ne deviendra un système ouvert que s'il suscite l'intéret
d'autres fournisseurs, qu'il est repris, et que la compétition
s'installe.
Un élément de système
ouvert donne-t-il obligatoirement lieu à normalisation ? Comment
son évolution est-elle assurée ?
Non. UNIX a été développé par AT&T de
façon totalement indépendante et en dehors de toute norme
pendant de longues années. De même le bus PCI est clairement
une création d'Intel, le langage PostScript une création
d'Adobe, et Java une création de Sun. Dans tous ces cas c'est
la disponibilité totale des spécifications qui rend le système
«ouvert» (et qui fait son succès).
Toutefois les systèmes ouverts sont souvent pris en charge à
terme, par des organismes de normalisation et des groupements d'utilisateurs
ou de constructeurs. C'est le cas notamment:
- d'UNIX dont les spécifications sont précisées
par l'Open group.
- du langage C qui est devenu une norme ANSI après plus de quinze
ans d'existence;
- de TCP/IP dont l'évolution est coordonnée et supervisée
par l'IAB (Internet Activities Board).
Quels sont les avantages procurés
par les systèmes ouverts ?
- La multiplicité des fournisseurs potentiels rend l'offre
très compétitive.
- Les développements peuvent être menés en toute sécurité
avec toute la documentation et toutes les spécifications nécessaires.
- La pérennité des produits est assurée.
Qu'est ce qu'un logiciel libre ?
Un logiciel libre est un logiciel dont la licence prévoit
- La disponibilité des sources
- La possibilité de modifier, améliorer, adapter le logiciel
sous réserve que ces modifications soient rendues accessibles à
toute personne interessée
- La possibilité de copier et de diffuser le logiciel sous réserve
que les termes de la licence ne soient pas modifiés.
Bien qu'il soit théoriquement possible de vendre un logiciel libre
une des conséquences de ce type de licence est la gratuité
de fait.
Quelle différence entre un logiciel libre et un
système ouvert ?
Les logiciels libres sont une extension du concept de système ouvert.
Les systèmes ouverts prônent la liberté de comprendre
et de maîtriser le fonctionnement interne d'un système et
donc de le reproduire (les "UNIX-Like")
Les logiciels libres ajoutent la liberté de copier et de modifier
le logiciel original.
Quelques exemples de logiciels libres
?
Le plus connu est évidemment Linux, un UNIX-like c'est à
dire une réécriture d'UNIX.
Parmi les systèmes les plus répandus, on peut citer Samba, Tex - LaTex, Apache, MySQL, PostgreSQL, ...
Quel est l'attitude des constructeurs
et des éditeurs de logiciels face aux systèmes ouverts et
aux logiciels libres ?
Les constructeurs informatiques ont tous une offre basée sur UNIX,
X11, et TCP/IP. Parfois contraints et forcés par la demande du
marché, ils ont franchi le pas des systèmes ouverts et sont
entrés dans l'arène que représente ce marché
très concurrentiel. Toutefois, pour affirmer leur différence,
et se protéger d'une concurrence trop vive, leurs systèmes
sont parsemés de différences ou d'ajouts qui rendent
les comparaisons moins évidentes. Ces ajouts ne sont pas clairement
dissociés du reste du système.
L'engouement récent pour Linux a également provoqué
des manoeuvres stratégiques visant à intégrer ce
système. Le portage de Linux, système libre, sur des architectures
propriétaires permet aux constructeurs de récupérer
l'impressionnant catalogue d'applicatifs et de projets du monde Linux.
Ces ajouts, présentés
par les constructeurs comme des améliorations, doivent-ils être
considérés comme des pièges ou sont-ils bénéfiques
?
Tout dépend de la formation de celui qui va utiliser ces systèmes.
Celui qui a reçu une formation standard et ouverte telle qu'elle
est proposée par axis&agix saura faire la différence
entre ce qui est standard et ce qui est rapporté et saura s'adapter
aux circonstances.
Prenons l'exemple de l'administration des systèmes UNIX.
La plupart des UNIX commerciaux comprennent des couches d'administration
«simplifiées». Ces couches sont propriétaires.
Celui qui se forme à l'administration UNIX à travers
l'une de ces couches perd tout le bénéfice des systèmes
ouverts. Il sera incapable de prendre en main une autre plateforme. Il
sera incapable d'écrire des scripts d'installation «portables».
Il sera incapable de réagir en cas de problème non prévu
par son interface propriétaire. Dans ce cas, ces ajouts sont clairement
un piège. A l'inverse, une personne formée dans les
règles de l'art pourra parfaitement utiliser l'une de
ces interfaces, à bon escient, comme un «raccourci»
pratique, tout en sachant faire face à une situation imprévue.
Dans ce cadre, les ajouts en question sont bénéfiques.
Alors comment faire pour se former correctement ?
Si on veut tirer parti des systèmes ouverts, il est impératif
de se former réellement aux systèmes ouverts et non à
telle ou telle plate forme particulière. Si on veut programmer
portable en C, il est bien évident qu'il faut se former au
tronc commun que l'on retrouve sur toutes les machines du marché
et qu'il faut savoir identifier une librairie non standard pour éviter
de l'employer, ou pour l'employer en connaissance de cause.
Que penser des formations proposées par les constructeurs
? Ne sont-ils pas les mieux placés pour délivrer de la formation
sur leurs machines ?
Prendre une formation chez un constructeur après avoir acheté
sa machine est dangereux. Les cours mélangent les ajouts propriétaires
et les standards liés à UNIX et aux systèmes ouverts
sans qu'il soit possible aux élèves de discerner la
frontière entre les deux.
Certaines organisations perdent ainsi tout le bénéfice du
choix des systèmes ouverts décidé par leur direction.
Les équipes d'exploitation ou de développement peuvent
devenir complètement dépendantes d'un constructeur
suite à un mauvais choix de formation.
Dans le domaine du développement, une mauvaise formation peut aboutir
à de véritables catastrophes dont on ne s'apercoit
souvent que plusieurs années après !
Est ce qu'il ne suffit pas
de se former aux normes existantes pour être à l'abri
de toute surprise ?
Non, car les normes sont souvent en avance ou en retard sur les pratiques
réelles du marché. Pendant longtemps le C ne fut pas normé
officiellement et pourtant une norme de fait existait, représentée
par le «Kernighan & Ritchie». Les «specs 1170»
définies par X Open pour UNIX ont pendant longtemps été
largement en avance sur la réalité du marché.
Certains techniques dans notre organisation demandent
à suivre telle ou telle formation bien spécifique du matériel
qui va être utilisé. Quelle attitude adopter ?
Les techniques, impliqués dans un déploiement de machines
ou dans un projet de développement ont tendance à choisir
des solutions de facilité. Ils sont peu concernés par la
productivité à long terme ou par la portabilité et
la pérennité des outils et des méthodes employées.
C'est à la direction informatique qu'il incombe de prendre
les bonnes décisions et d'imposer les stages les mieux adaptés
à la politique de l'entreprise.
Je dois pourtant former mon personnel
aux spécificités des matériels et des outils qu'il
va prendre en charge. Comment faire pour préserver mon indépendance
tout en me formant au mieux ?
Il n'y a aucun inconvénient à suivre des formations
sur tel ou tel aspect propriétaire, complémentaire des systèmes
ouverts, si les règles de base sont acquises. Dans cet esprit,
axis&agix a créé des modules de spécialisation
sur les principales plateformes UNIX du marché: AIX, HP-UX, Linux
et SOLARIS. Ces modules ne traitent que des particularités de ces
machines. Ils ne se recouvrent donc pas les uns les autres ce qui est
un avantage supplémentaire par rapport aux formations constructeurs.
En conclusion, que peut on attendre
d'une formation axis&agix ? A qui s'adresse t-elle ?
Un stagiaire formé chez axis&agix acquiert des méthodes
de travail standards et portables. Il pourra tirer le meilleur parti des
systèmes ouverts et des logiciels libres et en faire profiter son
entreprise. On peut donc attendre d'une formation axis&agix des
gains de productivité potentiels très importants pour le
stagiaire et pour son employeur. Cette formation s'adresse à
des entreprises dont les décideurs ont fait un choix total ou partiel
en faveur des systèmes ouverts et des logiciels libres et qui sont
pleinement conscients et informés sur les enjeux et les gains de
productivité qu'ils peuvent en retirer.

|