JDNet Solutions inaugure
une nouvelle série d'articles consacrés aux idées
reçues de l'informatique. Avec un double objectif: examiner dans
quelle mesure les promesses des technologies ont été tenues
et permettre au plus grand nombre
de prendre le train en marche.
Voir l'Idée reçue No 1 "La
première qualité de Java, c'est son caractère multi-plate-forme"
Si le clivage entre les logiciels dits propriétaires et ceux dits
standards n'est pas né avec les technologies du Web, celles-ci
ont toutefois largement contribué à le renforcer. Et pour
cause: le Web, c'est avant tout des standards comme TCP-IP, HTTP, HTML,
XML, etc. Logique donc que l'univers du logiciel prenne la forme d'un
monde bipolaire opposant ceux qui se conforment aux standards et les autres.
Dans le langage courant, ce clivage propriétaire/standard tend
à résumer d'autres oppositions, notamment celle entre logiciel
"fermé" et "ouvert", autrement dit entre les
logiciels dont le code source est accessible et ceux dont le code est
jalousement gardé par l'éditeur. Ceux qui suivent, même
de loin, l'actualité informatique l'auront compris, dans le discours
ambiant, la logique propriétaire est sensé être incarnée
de manière caricaturale par un éditeur comme Microsoft,
et la logique des standards par des logiciels libres (comme le serveur
web Apache par exemple). Dans les faits pourtant, ce clivage paraît
assez simpliste. Pour deux raisons au moins. Primo, parce qu'un logiciel
fermé (par opposition à un logiciel dont le code source
est ouvert) peut très bien se conformer à des standards.
Secundo, parce que la notion de standard en informatique est tout sauf
une notion univoque...
En théorie en effet, un standard c'est une technologie dont les
spécifications ont été élaborées et
validées par un organisme indépendant des éditeurs,
organisme qui veille au respect des règles du jeu de la standardisation.
On peut citer au moins deux organismes de ce type qui jouent un rôle
crucial dans l'élaboration des protocoles du Net: l'Internet Engineering
Task Force (IETF) et le World Wide Web Consortium (W3C). Un éditeur
qui veut conformer son annuaire au standard Ldap ou son éditeur
de contenu au standard XML trouvera les spécifications officielles
auprès de ces deux organismes. A eux deux, l'IETF et le W3C produisent
une bonne partie des standards du Net. Une bonne partie mais pas la totalité...
Standard et... standard
Contre-exemple: l'ensemble des technologies de l'univers Java (notamment
les services du modèle J2EE) sont élaborées dans
le cadre d'un programme, le Java
Community
Process Program (JCP), mis en place par Sun. Certes, les partenaires de
Sun dans le JCP (IBM ou BEA par exemple) sont très impliqués
dans ce programme mais le JCP ne peut toutefois pas être comparé
à un organisme de standardisation. Et, pourtant, les technologies
Java sont bel et bien perçues par les différents acteurs
du marché (éditeurs, utilisateurs, prestataires) comme des
"standards". Pour une raison simple: ces technologies ont atteint
sur le marché une masse critique (en terme de reconnaissance et
d'utilisation) qui en font des standards de fait. En témoigne,
l'empressement des éditeurs à revendiquer leur conformité
avec "les standards J2EE".
On le voit, la notion de standard en informatique est avant tout pragmatique.
On est bien loin de la notion de "norme". Pour s'en convaincre,
il suffit de s'arrêter sur les formats de document de Microsoft
Office. Ces formats (qu'il s'agisse de Word, d'Excel, de Powerpoint, etc.)
ne sont évidemment pas des standards de droits. En revanche, ce
sont des standards de fait, à tel point que des outils concurrents
(comme Open Office, suite bureautique dont le code source est ouvert)
affichent parmi leurs qualités premières leur aptitude à
gérer ces formats...
Standard = interopérable ?
Pour achever d'esquisser cette notion de standard informatique, ajoutons
encore que la conformité d'un logiciel avec un standard ne garantit
pas qu'il puisse fonctionner exactement comme un autre logiciel qui se
conforme avec ce même standard - les multiples incompatibilités
entre les navigateurs Web ou encore les serveurs d'applications "J2EE"
l'illustrent assez bien. En effet, parce qu'un standard est jugé
incomplet par des éditeurs ou encore parce que sa spécification
ne donne pas tous les détails de sa mise en oeuvre, il laisse de
la place à des interprétations. Interprétations qui,
si elles se répandent suffisamment sur le marché, peuvent
être considérées comme des standards de fait et parfois
être entérinés comme des standards de droit par les
organismes de standardisation ! - phénomène que l'on observe
par exemple actuellement dans le domaine des réseaux sans-fil.
Dans cette confusion inhérente à la réalité
du "standard informatique", sur quels critères l'utilisateur
peut-il s'appuyer pour conduire ses choix technologiques ? Comment peut-il
évaluer la pérennité d'un standard ? Si nous devions
retenir un critère, sans doute choisirions-nous le nombre de grands
éditeurs impliqués dans le standard, avant même de
nous demander s'il est ou non validé par un organisme reconnu.
Tout en gardant à l'esprit que la conformité à un
standard d'un logiciel ne représente pas à elle seule une
garantie d'interopérabilité avec les autres logiciels mettant
en oeuvre ce même standard. C'est frustrant mais c'est ainsi. La
frontière entre ce qui est standard et propriétaire ne dessine
pas deux camps opposés de fournisseurs de technologies ; elle existe
en fait au sein même de chaque offre, dans le détail technique
de leur mise en oeuvre.
[Cyril Dhenin, JDNet] |