Ce qu’est le code source : explication. Ne pas le consulter est comme de goûter un plat sophistiqué. On a beau faire travailler son imagination, on n’en trouvera pas la recette exacte [1]. Ni des ingrédients mystérieux, pour peu qu’ils soient inodores. Seule l’expertise du code source permet de répondre à des questions telles que : le logiciel est-il fiable ? Est-il sécurisé ? Dissimule-t-il des fonctionnalités ?
A l’exception notable des Logiciels Libres ou Open Source, le code source reste secret et propriété de son concepteur. Les motivations sont variées : prétendue sécurité par l’obscurité, protection commerciale, voire qualité médiocre. Détails.
La procédure d’agrément française répond avant tout aux besoins des municipalités : fiabilité de l’électronique, longévité et facilité d’utilisation. La sécurité ne semble pas la principale préoccupation. Il n’y a donc aucune obligation d’analyser le code source. Seul un des deux organismes [2] donnant l’avis avant agrément y a accédé, sans qu’il soit possible de connaître dans quelles conditions [3]. A l’étranger, il a parfois été placé des restrictions sur le nombre de personnes, de jours ou l’emplacement de consultation. Il peut s’agir d’un logiciel composé de plusieurs modules, ou de plusieurs logiciels : l’accés s’est-il fait sur la totalité ? Le logiciel a-t-il évolué depuis sa consultation ? En Irlande, l’apparition de nouvelles versions a perturbé son analyse.
Et accès ne veut pas dire analyse exhaustive. Celle-ci sortirait clairement du cadre de l’agrément, qui ne demande même pas un accés.
Les recommandations suivantes, demandant l’accès au code source par des experts, ne se sont traduites par aucune contrainte lors de l’agrément :
la CNIL, dans sa délibération 03-036 du 1er juillet 2003, recommandation relative à la sécurité des systèmes de vote électronique : « La Commission estime que dans le cas d’une élection organisée par une collectivité publique, le code source des logiciels utilisés par le système de vote électronique devrait être accessible sans restriction, afin de permettre la réalisation de toutes les expertises jugées nécessaires. »
le Forum des Droits sur l’Internet, dans sa recommandation “Quel avenir pour le vote électronique en France ?”, 26 septembre 2003 : « Le Forum estime que l’intégrité d’un système de vote n’est garantie que dans la mesure où il doit être possible d’en vérifier l’absence de compromissions tant en amont qu’en aval du déroulement du scrutin. Ce contrôle doit être effectué, pour les élections à caractère politique, par des experts agréés par le ministère de l’intérieur. Un système est ainsi réputé intègre si un accès au code source est possible, si aucune modification ultérieure du système ne peut survenir [4] et si un audit a posteriori est effectif. »
Et pourquoi limiter l’accès à des experts ? Une élection doit être transparente. Tous les outils employés dans le cadre d’un scrutin devraient être ouverts à l’examen par les citoyens. Même si cela est en partie illusoire. Tout le monde n’est pas programmeur informatique, et ne dispose pas de plusieurs semaines de temps libre, ni de compétences en sécurité. Et peut-on garantir que la machine à voter devant vous le jour de l’élection contienne bien le logiciel publié ?
A l’étranger :
en Belgique, le code source est publié sur Internet depuis peu. Les experts désignés par les Parlements ne l’analysent pas, mais émettent toutefois quelques critiques sur sa qualité.
en Suisse, à Genève, le code source est consultable librement, mais il faut se rendre physiquement dans un batiment précis (informations datées, et le code source pourrait ne pas être complet).
en Irlande, la Commission on Electronic Voting a eu accès au code source du logiciel comptant les votes. Le système électoral particulier à ce pays (Système de Hare) nécessite un logiciel spécialisé. Cela a été soumis à des conditions drastiques : une seule personne, durant seulement quelques jours, sous surveillance policière. Nedap, responsable du logiciel situé dans les machines, enregistrant les votes, n’a pas donné d’accès à ce moment-là, mais a accepté une future analyse par des experts[eng].
aux USA, le projet de loi "Count Every Vote Act" prévoit la consultation du code source par tout citoyen après demande à la commission électorale. En Californie, cela fait débat.
en Australie, le système de vote eVACS a dès le début été conçu selon les principes du logiciel libre, donc totalement public. La généralisation de ce qui n’était jusqu’à lors qu’une expérimentation limitée au petit électorat du Territoire de la capitale australienne(ACT), pourrait conduire à une fermeture du code [5].
aux Pays-Bas, le code source du système de vote par Internet des expatriés a été publié[eng], mais partiellement : uniquement la partie écrite spécifiquement, excluant ainsi la bibliothèque de code que la société LogicaCMG (qui a développé ce logiciel pour le compte du gouvernement) réutilise pour d’autres applications [6]. Compiler et tester soi-même ce programme est donc impossible.
la société VoteHere a publié le code source de son système (informations à compléter : voir déjà le commentaire de Jason Kitcat en 2004).