L'interopérabilité
La nécessité d'un langage commun pour se comprendre
L'interopérabilité est une condition essentielle au bon déroulement de la révolution numérique. Que veut dire ce terme ? Le suffixe « -abilité » indique une capacité ; le préfixe « inter- », que cette capacité concerne des entités équivalentes (« international », « inter-personnel », etc.) ; et enfin, « opérer », c'est « œuvrer », « travailler ». Ainsi, l'interopérabilité, dans le domaine numérique, peut être définie comme la capacité de deux ou plusieurs systèmes informatiques à pouvoir communiquer et travailler ensemble, sans aucune restriction.
Si vous comprenez les idées codées dans ce texte, c'est que vous connaissez la langue française, et donc que vous en avez appris la grammaire et le lexique. Toute personne peut librement apprendre cette langue pour « interopérer » avec ceux qui la parlent déjà. Si quelqu'un utilise un mot que vous ne connaissez pas, vous ne saurez pas exactement ce qu'il veut dire ; au mieux pourrez-vous essayer d'en deviner le sens d'après son contexte, c'est-à-dire l'information dont vous disposez déjà. Pour effectuer ce « déchiffrement », comme le font les archéologues avec une langue oubliée, il faut faire preuve d'intelligence, ce dont les machines sont incapables.
Dans le monde numérique comme dans les relations entre humains, de très petites différences d'interprétation peuvent conduire à des incompréhensions de part et d'autre, et donc à des incompatibilités de communication. C'est ainsi que, quand un navigateur web interagit avec un serveur web pour recevoir et afficher le contenu d'une page web, des différences minimes dans la façon de décrire et d'interpréter ces informations peuvent conduire à ce que l'affichage des pages soit perturbé : texte mal représenté (comme par exemple la disparition des caractères accentués), images mal placées, etc.
L'interopérabilité et les formats ouverts
L'interopérabilité est une notion valable dans l'espace, pour interconnecter des équipements différents (tels que des ordinateurs en réseau), mais aussi dans le temps, pour que des systèmes modernes puissent continuer à interagir avec des systèmes plus anciens. En effet, rien ne sert de conserver des données sur des supports anciens si les matériels capables de les lire ne sont plus en service. Les données doivent donc être régulièrement migrées vers des matériels plus récents, pour en préserver l'accès au fil du temps.
Quand on manipule ses données au moyen d'un certain logiciel, et qu'on les enregistre dans des fichiers d'un certain format géré par ce logiciel, c'est comme si l'on plaçait ses données dans des coffres fermés avec un certain type de clé. Le problème est la maîtrise de cette clé. S'il n'est pas possible de relire ces fichiers avec un autre logiciel, parce que le format en question est « fermé », c'est-à-dire connu seulement du concepteur du logiciel, alors on se trouve pris dans un marché captif : plus on stocke ses données sous ce format, en utilisant le logiciel en question, et plus on est forcé de continuer à utiliser ce logiciel, même s'il est moins performant et plus cher qu'un logiciel concurrent, car sinon on perdrait l'accès à ses données. On s'est rendu dépendant du logiciel en question.
L'usager d'un logiciel n'est réellement libre que si ses données ne sont pas stockées sous un format fermé, mais sous un format dit « ouvert ». C'est toujours le cas lorsqu'on utilise des « logiciels libres ». Ces logiciels sont diffusés sous une licence (voir plus bas) qui garantit l'accès de tous les utilisateurs au « code source » du logiciel, c'est-à-dire la façon dont on indique à l'ordinateur comment procéder pour traiter et coder les données. Grâce aux formats ouverts, on garantit aux utilisateurs qu'ils pourront toujours conserver la main sur leur patrimoine informationnel, et échapperont aux marchés captifs des éditeurs de logiciels utilisant des formats de données fermés.
Cette liberté d'accès des utilisateurs, mais aussi des concepteurs de logiciels complémentaires ou concurrents, est ce qui distingue l'interopérabilité de la simple « compatibilité », avec laquelle elle ne doit pas être confondue. Deux systèmes sont dits « compatibles » s'ils peuvent fonctionner ensemble, mais sans que leurs utilisateurs sachent comment cela se fait : le protocole d'échange des données entre ces systèmes est fermé. En revanche, il y a interopérabilité non seulement lorsque deux systèmes sont compatibles, mais aussi que l'on sait comment se font les échanges entre eux. Grâce à cette connaissance, il sera toujours possible de récupérer les données échangées, ou de remplacer l'un des systèmes par une version issue d'un autre fournisseur, plus efficace ou plus moderne. L'interopérabilité est donc la garantie d'une libre concurrence dans le domaine du logiciel, comme elle l'est déjà dans d'autres domaines.