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.
|