Mutualisation et Logiciels Libres dans l'administration publique

J'ai eu l'occasion de participer à une table ronde ce matin au conseil général de la Seine-Saint Denis sur les enjeux de la mutualisation et des Logiciels Libres dans l'administration publique. C'était une excellente occasion pour refaire un point sur ce dossier important, et je note ici quelques idées essentielles.

L'État n'est pas une « entreprise » comme les autres...

Gérer le système d'information d'un service public n'est pas la même chose que gérer celui d'une grosse entreprise. La raison est que le service public a des obligations que les grosses entreprises n'ont pas ; en voici les plus importantes à mon avis :

  • l'État se doit d'assurer l'archivage à très long terme, et l'intégrité d'une grande partie de ses données : pensez à l'état civil, ou à tous les actes publics qui doivent être versés aux archives pour une durée indéterminée ; l'État ne peut pas se permettre de « perdre » ces données.
  • l'État doit garantir la sécurité et la confidentialité des données sensibles qu'il détient sur les citoyens et sur leurs intérêts : ce n'est pas seulement le secret défense, cela peut être plus prosaïque, mais tout aussi important comme les données sur la santé ou le casier judiciaire de chacun d'entre nous ; ces données sont détenues par l'État sur nous, mais « malgré » nous, en vertu de ses pouvoirs régaliens, et si leur gestion est mal faite, nous ne pouvons pas « voter avec nos pieds » et aller vers une autre administration, à moins de changer de pays
  • l'État dépense de l'argent public, et il se doit d'assurer la réalisation de ses missions avec un coût modéré
  • l'État a un devoir de transparence vis-à-vis de tous les citoyens

Et tout ceci doit être fait dans un cadre d'œcuménisme technologique, c'est à dire sans imposer une technologie ou des outils ou formats propriétaires spécifiques aux utilisateurs, qui ne peuvent pas, on le répète, partir ailleurs s'ils sont mécontents.

L'usage des formats ouverts et des logiciels libres s'impose naturellement

Loin de toute considération idéologique, pour atteindre ces objectifs, les grandes administrations se doivent de demander des solutions interopérables, et donc conformes à des standards normalisés (ISO, RFC, etc.), des garanties contre la non-conformité sur tout le spectre, et avec livraison du code source.

Les standards ouverts sont indispensables pour la pérennité des données, ceci est évident.

Ce qui est moins évident, mais essentiel est que la complexité des standards informatique fait qu’il faut pouvoir disposer d'au moins une implémentation de référence, sous forme de logiciel libre : sans cela, les bénéfices de la pérennité des données ne peuvent être qu'un leurre.

Ouvrons la boite

Il faut s'assurer, si et quand on décide d'utiliser, financer, codévélopper ou acheter des logiciels libres, que la propriété « logiciels libres » ne soit pas une simple étiquette collée sur une boite vide ; en effet, la livraison du code source est une nécessité pour la pérennité des solutions, mais elle ne suffit pas à elle seule : à quoi bon disposer de millions de lignes de code (éventuellement en Cobol), si personne ne sait les modifier, et on se retrouve à les gérer tous seuls ?

Quelques pièges typiques à éviter sont, par exemple :

  • les logiciels « mieux que libres » : certaines entreprises essayent de surfer sur la vague de l'image positive du logiciel libre pour vous offrir des solutions « plus sécurisantes », comme « Shared source » ; libre à vous de décider de vous en servir, mais ce n'est pas du logiciel libre, donc ne le choisissez pas parce que c'est « comme du libre », ce ne l'est pas ;
  • les logiciels propriétaires habillés comme « libres », dont personne n'a jamais vu le code source, ou dont les sources seront disponibles bientôt : si vous ne trouvez pas accessible publiquement sur une forge le code qu'on vous propose, ou si vous ne pouvez pas le reconstruire vous-mêmes à partir des sources, passez votre chemin ;
  • les logiciels « abandonnés comme libres » : si un fournisseur vous donne du code source avec une licence libre, mais personne ne l’utilise et personne n'y contribue, vous aurez le plus grand mal du monde à en tirer des bénéfices : vérifiez avant d'acheter ou utiliser s'il y a bien une communauté vivante autour de ce code ; si elle n'existe pas, assurez-vous que la création d'une communauté autour de ce logiciel soit vraiment à votre portée, et que cela en vaille la peine, avant de vous lancer.

Soyons réalistes : demandons (tout) le possible

On a vu qu'on est pratiquement obligés de recourir à du Logiciel Libre si on veut assurer des missions de service public correctement ; mais il serait un erreur d'imaginer qu'il suffit de promulguer une loi imposant le logiciel libre à toutes les administrations pour résoudre tous les problèmes. La gestion de l'existant est un problème colossal, et on ne peut s'y attaquer qu'avec une vision globale et une volonté de conduire le changement sur la durée :

  • là où on dispose de solutions libres performantes, il faut les généraliser, avec de l'accompagnement
  • là ou pour diverses raisons il n'y a rien que du propriétaire, il faut s'en accommoder, mais seulement temporairement : un plan d'action pour remplacer à terme ces composants par d'autres, libres, doit être mis en place, avec une vision claire de l'objectif à atteindre

On ne demande donc à personne l'impossible, mais on exige quand même tout ce qui est possible.

C'était une idée lumineuse bien exprimée dans le RGI de la DGME avant le compromis mesquin sur OOXML, dans les règles concernant OpenDocument, qui sonnaient à peu près comme suit :

  1. il est OBLIGATOIRE d'accepter des documents en format ouvert (la conversion est à la charge de qui viole les standards, pas de qui les respecte)
  2. il est POSSIBLE d'utiliser EN INTERNE des formats propriétaires, mais il est CONSEILLE de préférer les formats ouverts
  3. i il est INTERDIT de financer des migrations vers des nouvelles versions de logiciels utilisant des formats propriétaires

Avec ces règles, si la collectivité ou le ministère n'a pas l'argent pour financer une migration maintenant, elle peut rester au statu quo à moindres frais (une moulinette de conversion de documents en entrée et en sortie), mais si elle souhaite investir pour une migration, cela doit se faire vers des solutions supportant des formats ouverts.

Agir ensemble

Il est très difficile de réussir à organiser ce travail de spécification, suivi, validation des besoins et des briques logicielles qui vont avec, en satisfaisant les exigences mentionnées plus haut. Il est nécessaire de savoir penser collectif, et d'avoir une démarche de mutualisation « avec les autres ». Pour cela il peut être très utile de s'appuyer sur des structures existantes comme l'Adullact ou la DGME, mais il serait bien de créer au besoin aussi des clubs de décideurs, et de fournir des documents de référence qui servent de guide pour ce chantier.

Pour réussir, il faut être prêts à financer le développement des logiciels libres utiles pour les administrations : s'il s'agit de logiciels libres de large utilisation, comme Firefox ou OpenOffice, il est important de reverser une partie des économies qu'on fait en les utilisant aux fondations qui les maintiennent ; s'il s'agit de logiciels libres d'usage plus spécifique à l'administration, il faut s'organiser pour savoir financer des ingénieurs qui les font évoluer, soit en interne, soit à travers des sociétés externes, et s'assurer que la gouvernance de ces logiciels libres soit bien organisée.

Il n'est pas sain de profiter des logiciels libres pour réduire ses propres coûts sans contribuer en retour à la communauté qui les maintient : même d'un point de vue strictement utilitariste, participer contribue à leur évolution, ce qui permet de sécuriser l'investissement fait dans le déploiement et la formation pour ces logiciels.

Apprenons des usages du monde du logiciel libre

Une des grandes forces des Logiciel Libres qui ont du succès (ce n'est pas le cas de tous, loin de là), est que leur modèle de développement réduit énormément les barrières entre développeurs, concepteurs, utilisateurs, formateurs, etc. Cela permet un passage d'informations plus fluide et transparent, qui améliore le fonctionnement de la communauté (sans pour autant la mettre à l'abri de secousses plus ou moins salutaires). L'usage de systèmes de tickets, de listes de diffusions, de wiki, de système de gestion de version, de votes ouverts, pourrait être transposé à l'organisation des services publics, et réduire la distance entre les citoyens et les différentes couches de l'administration, en rendant la machine de l'État plus efficace.

C'est un vaste chantier pour l'ensemble des administrations, et des passionnés d'usage des nouvelles technologies.

Comments

1. On Saturday, November 20 2010, 18:53 by Vincent C

"les logiciels "abandonnés comme libres": si un fournisseur vous donne du code source avec une licence libre, mais personne l'utilise et personne n'y contribue, vous aurez le plus grand mal du monde à en tirer des benefices: vérifiez avant d'acheter ou utiliser s'il y a bien une communauté vivante autour de ce code"

Le problème des administrations est aussi que leurs besoins ne sont pas communs avec de nombreux utilisateurs et trés peu de personnes ne s'intéressent à ces logiciels. Ainsi, si un développeur commence un logiciel d'état civil, il se pourrait trés bien que peu de personnes pourraient reprendre le relais puisque les personnes que ca implique et qui ont les compétences sont peu nombreuses.

Il faut donc aussi penser à financer ces logiciels en payant des développeurs qui améliorent ces logiciels ... J'imagine bien un principe où les collectivités embauchent des développeurs pour programmer des fonctions dans leurs logiciels libres en fonction de leurs besoins en interne, et publient ces modifications sur les forges pour aider ceux qui souhaiteraient les réutiliser.

Mais cela demande un gros changement de mentalité et surtout une réelle politique informatique à tous les niveaux de l'état !

2. On Sunday, November 21 2010, 20:45 by Roberto Di Cosmo

Merci Vincent, de souligner ce point important: je viens de le reprendre plus explicitement dans le texte.

3. On Tuesday, November 23 2010, 12:56 by vulcain

"il faut pouvoir disposer d'au moins une implémentation de référence, sous forme de logiciel libre: sans cela, les bénéfices de la pérennité des données ne peuvent être qu'un leurre."

Pouvez-vous développez cette affirmation. Je pense notamment à la norme ISO/IEC 29500 (OOXML) qui est en œuvre dans MS office (mais pas encore totalement implémenter pouvoir-choisir.org/logic... Cette norme n'est pas encore à ma connaissance totalement implémenter dans un logiciel libre.

Merci d'avance de vos éclaircissements.

4. On Thursday, December 2 2010, 12:17 by djano

Une autre chose intéressante avec les logiciels libres est que souvent, l'administration va choisir un prestataire local car les besoins exprimés ne s'appliquent que localement (droit local par exemple) et que les compétences pour le développement n'existe que localement (peu de personnes a l'étranger vont s'intéresser a une loi étrangère sauf lorsque cette loi a une extraterritorialité, comme Sarbanes-Oxley par exemple, mais la loi US est une exception, pas la règle).

Donc les logiciels libres pour l'administration financent souvent de l'emploi local. Cet argent permet d'augmenter l'expertise des développeurs locaux et de leur donner les compétences et l'expérience nécessaires pour postuler sur d'autres appels d'offre. De plus pour renforcer tout ceci, tous les prestataires ont accès au code source dans des conditions clairement définies par la licence utilisée, ce qui leur permet de monter en compétence sur le code source avant même d'être sélectionné par un appel d'offre!

Bref, le logiciel libre permet donc d'encourager l'emploi local en lui permettant de monter en compétences ce qui en retour permet d'augmenter la concurrence entre prestataires (SSII, développeurs locaux) pour le plus grand bonheur des administrations!