Je suis sidéré de voir de plus en plus de technocrétins (le mot n’est pas de moi…) prôner de faire sauter les normes et de vivre l’informatique dans l’anarchie. Voici une explication de l’extrême danger que représente le non respect des normes en informatique… Et je suis d’autant plus choqué de cette imbécilité que ceux qui exhorte à casser les normes se veulent des dignes représentant du logiciel libre ! Or il n’y a pas plus simple que l’anarchie pour devenir dépendant, donc enfermé et finalement prisonnier… Apprendre à vivre en société ne semble pas évident pour certains !
Il existe de nombreuses normes et standards en matière informatique par toujours respectées. Je ne vous donnerais que quelques exemples tirés de mon domaine d’expertise qui est celui des bases de données.
Certains langages ne se conforment pas à la norme IEEE 754 en matière de calculs sur des réels. Il s’ensuit des résultats différents suivant que le même calcul avec les mêmes données est codé dans ces différents langages !
De la même façon la norme SQL est très riche, mais les éditeurs la respecte plus ou moins. Access et plus encore MySQL sont très loin de la respecter. Oracle est meilleur, mais avec des manques basiques très étranges. Dans le haut du panier on trouve IBM DB2, PostGreSQL et SQL Server.
Quelle est la conséquence du non respect de la norme ? Essentiellement le manque d’interopérabilité… Et cela a un coût. Par exemple si un éditeur veut faire une application strictement compatible entre 3 SGBDR qui sont, Oracle, PostGreSQL et SQL Server, il lui faudra faire trois versions de ses requêtes, ou de ses procédures… sauf à passer par un ORM. Dans tous les cas (ORM ou multi versionnement) le coût est important (les ORM étant extrêmement contre performant du fait du nivellement vers le bas des requêtes, il faut ajouter beaucoup de ressources aux machines…).
Le respect des normes est plus important que l’ajout bête et méchant de fonctionnalités inopinées. Prenons le langage SQL, MySQL est le champion de l’ajout de bricolages et cela parce que l’implémentation de la norme demande un travail sérieux et par conséquent couteux. Donc, plutôt que de faire bien, faisons n’importe quoi pour donner l’illusion qu’on est capable de faire la même chose que la concurrence. Les exemples sont nombreux pour MySQL : GROUP_CONCAT pour ne pas avoir implémenté les requêtes récursives, Full Text incapable de traiter les caractères diacritique ni le multi langue, XML mal implémenté, SIG plus que limité…. Dernier exemple, l’ajout par MySQL de types de données comme les entiers non signés présenté comme une richesse ! Là c’est prendre les développeurs pour des imbéciles, car SQL permet cela depuis fort longtemps via l’instruction CREATE DOMAIN (notamment depuis la norme SQL 2 de 1992), ou plus fin encore, à l’aide d’un CREATE TYPE (de la norme SQL:1999). Sauf que MySQL n’implémente toujours pas cela (bref, seulement 20 ans de retard !!!)… mais il est vrai que MySQL ne possède même pas la possibilité de placer des contraintes CHECK pour limiter la validité des données !
Bref je suis toujours stupéfait de voir des commentaires « anti » norme, surtout de la part de ceux qui prônent le libre. N’oubliez pas que la première des libertés c’est avant tout de ne dépendre de rien… Or pour ne pas dépendre il faut que les choses soient interchangeable. C’est pourquoi les normes et les standards (ceux d’Internet à travers notamment les RFC) sont très importantes… Souvenez vous du klingonien et de sa loupe pour le lire (Voir Roberto Di Cosmo : piège dans le cyberespace…)
Autrefois, il n’y avait pas de norme. Avant la révolution industrielle, démarrée à la fin du 18e siècle, chaque seigneur imposait sur son territoire ses propres mesures de poids de volume que le commerçant devait acheter fort cher auprès du seigneur. C’était une forme d’impôt et un moyen d’asservir les commerçants.
Les artisans plus les premiers industriels ont été obligée de se conformer à des standards et des normes, car cette situation avait conduit à des surcoût important et quelques accident mortels lors de l’avènement du chemin de fer :
- chaque région ayant ses pas de filetages, ses écrous et ses boulons, il a fallut dépenser trois fois plus pour adapter les éléments de structure au fur et à mesure de l’avancé des rails, ceci était contre productif…. En sus de nombreuses malfaçon voyait le jours et conduisait à des accidents (exemple, la catastrophe du pont de Tay en Écosse ou le fer n’était pas de la qualité attendue : 77 morts)
- chaque village ayant son heure propre, les premiers trains se télescopaient et il en résultait des accidents mortels.
Aujourd’hui hélas on trouve de nombreuses personnes qui avancent que la norme est un carcan et qu’il faut l’outrepasser afin de faire n’importe quoi. Je ne peut pas m’empêcher de penser que ces gens là feront d’excellent tyrans !
PS : le mot technocrétin est tiré de l’article de Roberto Di Cosmo cité en référence URL. Il semble de plus en plus à la mode !
--------
Frédéric Brouard, SQLpro - ARCHITECTE DE DONNÉES, http://sqlpro.developpez.com/
Expert bases de données relationnelles et langage SQL. MVP Microsoft SQL Server
www.sqlspot.com : modélisation, conseil, audit, optimisation, tuning, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
Tu soulèves un argument juridique extrêmement important : qui de l’utilisateur ou de l’éditeur est propriétaire des données ? C’est bien évidemment l’utilisateur et l’éditeur doit dans sa solution lui fournir les moyens d’extraire cette information dans un format ouvert, connu… etc. à des fins de sauvegardes !
Hélas, certains éditeurs ne le font pas. Je me souviens avoir menacé d’un procès l’éditeur d’une solution applicatives parce qu’il voulait nous vendre très cher un moyen d’extraire les données stockées dans l’application dans un format texte ! Bien évidemment il aurait perdu… Transposons cela dans le domaine du transport : tant que les marchandises voyages dans le camion de mon prestataire, pas de soucis… Mais pour les décharger du camion, on me demande de payer !!! Invraisemblable et aberrant !
A mon avis, les enjeux commerciaux et politiques sont tellement forts que les entreprises,les états et les institutions ne peuvent pas respecter à 100 % les normes. Si non comment comprendre l’attitude des « éditeurs » de SGBD qui ne respectent pas les normes qu’elles ont elles mêmes participé à la mise en place ?
Par ailleurs je trouve l’article de Roberto Di Cosmo très interessant, et je suis d’accord avec lui à 100 % quand il dit :
1.
C’est que la puissance de la machine commerciale de certaines entreprises réussit à réaliser une telle distorsion de la réalité qu’on en arrive à croire dur comme fer que des défauts très graves de certains logiciels sont au contraire des atouts indispensables (d’ailleurs, dans le monde informatique ça fait longtemps qu’on emploie à ce propos le dicton « it’s not a bug, it’s a feature ! » (« ce n’est pas un défaut, c’est une fonctionnalité »). C’est aussi que les spécialistes qui ont les connaissances nécessaires pour déjouer tous ces pièges et mettre en évidence les erreurs, les dangers, les manipulations, sans risque d’être pris pour des compétiteurs battus et grincheux, se sont tus trop longtemps. Il y a là un étrange phénomène : d’un côté, aucun scientifique sérieux n’a envie aujourd’hui de publier un article dans la presse soi-disant informatique de peur que sa réputation ne soit entachée pour y avoir côtoyé des marchands de tapis. De l’autre, sans l’appui de scientifiques sérieux, la presse informatique est devenue, par le biais du support publicitaire, un écho bien peu édifiant des constructeurs, donc encore plus marchande de tapis, et encore moins fréquentable par des experts sérieux.
2.
Enfin, une conséquence très grave de cette impunité, est que l’« éditeur » de logiciel n’est nullement tenu, du point de vue légal, de corriger les erreurs et défauts reconnus et documentés, même si ces défauts sont volontaires. Autrement dit, l’« éditeur » du logiciel est libre de vous vendre ce que bon lui semble, ou mieux, ce que son département publicitaire arrive à vous faire acheter, sans aucune obligation de résultat, et sans que vous ayez le moindre recours, même en cas de mauvaise foi manifeste. Mieux, il peut arriver que l’on vous fasse payer aussi cher que le produit original des « mises à jours », qui ne sont en réalité que des corrections de défauts.
De plus, ces spécificités juridiques surprenantes, probablement justifiées quand les logiciels étaient écrits par un ingénieur dans son garage, et absolument aberrantes aujourd’hui qu’on se retrouve avec des multinationales du logiciel aux finances colossales, ne profitent pas à tous les éditeurs de logiciel, mais seulement aux plus puissants : en effet, une grande entreprise peut et doit obliger un prestataire de services informatique à signer un contrat comportant des obligations de résultat et des clauses de garantie, mais, hélas, cela n’est pas à la portée du consommateur, ni de la plupart des entreprises, quand l’éditeur de logiciel en question a la surface financière suffisante pour racheter ou détruire votre entreprise en quelques semaines.
3.
Nous laissons donc un instant ces experts de côté pour aller voir ce qui se passe dans le monde parallèle imaginaire des TechnoCrétins où une entreprise, appellons-la MacroPresse, obtient peu à peu le contrôle absolu de toutes les imprimeries de la planète. Elle ne contrôle pas directement les journaux, mais c’est elle qui les imprime, avec des caractères MacroPresse, dont elle est la seule propriétaire. Un beau jour, après une grande campagne publicitaire qui tresse les louanges d’un nouveau jeu de caractères qui permettra d’obtenir des journaux plus modernes, elle commence à tout imprimer avec des caractères klingoniens (l’alphabet des Klingons dans la fameuse série Star Trek) de telle sorte que personne n’arrive plus à lire les nouveaux livres ou journaux sans avoir recours à la Loupe MacroPresse, disponible à la vente dans tous les kiosques, où elle est distribuée aux frais des éditeurs de journaux. Le public, ravi de la merveilleuse nouveauté technologique, s’adapte et achète la Loupe. Encouragée par le succés de cette initiative, MacroPresse commence à changer le jeux de caractères périodiquement, tous les ans, puis tous les six mois : la vieille Loupe n’arrive pas à lire les nouveaux journaux, et il faut la renouveler à grands frais tous les deux ou trois mois. Un compétiteur de MacroPresse voit là une occasion en or : produire une MiniLoupe bien moins chère que la Loupe MacroPresse et la vendre dans les kiosques. Mais les kiosques ont un contrat d’exclusivité avec MacroPresse, et refusent de la distribuer. Pire, MacroPresse traîne en justice le compétiteur, qui est coupable d’avoir analysé les caractères klingoniens afin de construire la MiniLoupe, en violation du copyright de MacroPresse, et gagne.
4.
Résumons, la technique est simple : d’un côté, on piège les consommateurs en kidnappant leur précieuse information dans un format propriétaire en constante remise en cause qui les oblige à acheter tous les six ou douze mois une mise à jour de toutes leurs applications juste pour pouvoir continuer à lire leurs propres données ou accéder à des informations qui n’auraient nullement besoin d’être présentées sous ce format propriétaire. De l’autre côté, on piège les compétiteurs : on ne leur donne pas la documentation et on introduit des variations arbitraires dont le seul but est de ne pas permettre aux produits qu’ils développent de fonctionner correctement. Mieux, si les concurrents arrivent à découvrir qu’une de ces modifications avait pour seul but de faire fonctionner leur produit moins bien que le produit équivalent chez le monopoliste, ils sont condamnés pour avoir fait du « reverse engineering » (ingénierie à rebours, l’équivalent informatique de démonter le moteur d’une Twingo pour voir comment il est fait)
5.
L’informatique et les ordinateurs nous donnent la possibilité de révolutionner notre façon de vivre au quotidien, mais c’est à nous de choisir si cette révolution doit aboutir à un Moyen-Âge technologique obscur dominé par quelques sombres seigneurs féodaux qui s’approprient l’écriture et tout moyen de communication de l’information pour collecter des impôts chaque fois que l’on respire, ou si l’on veut plutôt arriver à un monde ouvert et moderne, où le flux libre de l’information nous permettra de tirer parti des énormes potentialités de la coopération sans barrières et du partage des connaissances.