Git et Loi (Open Law)

Le Gouvernement a publié le projet de loi République numérique sur Github :
https://twitter.com/gouvernementFR/status/698210523742081024

L’objectif est d’améliorer la lisibilité et la facilité de compréhension de la loi par le plus grand nombre, en utilisant un outil particulièrement adapté pour suivre l’évolution d’un texte : du code notamment, mais aussi la loi !

Il y avait déjà eu des initiatives citoyennes de développeurs, mais c’est la première fois que l’on peut suivre l’évolution du texte de loi avant même son vote, de manière granulaire (un commit = un amendement).

Qu’en pensez-vous ?

7 Likes

Il faudrait surtout utiliser l’informatique pour produire la loi et la simplifier.
La loi c’est du code :slight_smile:
Pour l’instant c’est du texte… même dans un dépôt Gitub!
Même dans cette intiative à grande échelle:


Il y a des logiques déontiques pour améliorer tout cela et formaliser le droit.
Des travaux existent sur la loi une fois produite (traduction en langage formel)
La révolution accoucha du code civil.
La révolution informatique (ou « numérique » comme on voudra) devrait accoucher d’autre chose que d’un portage du texte dans un dépôt. Il faudra utiliser un jour ces outils pour formaliser la loi.

Sinon, pour revenir au projet de loi République numérique, l’initiative était très intéressante. Mais les auteurs de nombreux « commits » en ont été pour leur frais, car ils n’ont pas retrouvé leurs « commits » dans le trunk au moment du vote :slight_smile:

3 Likes

Moi je trouve que c’est très bien.

Il faudrait peut-être pousser plus loin et retracer l’historique des amendements via des merges (si c’est possible bien sûr).

Dans tous les cas, même s’il est vrai, comme l’indique @felie, que malgré la consultation, peu de suggestions ont été retenues, ça va dans le bon sens.

J’espère que ça ne va pas s’arrêter l’année prochaine… Il faut continuer ! :slightly_smiling:

3 Likes

@rsertelon : à Etalab, nous avions expérimenté cet historique sur les lois et codes :

Sur la consultation numérique, vous pouvez également retrouver les données en open data (https://www.data.gouv.fr/fr/datasets/consultation-sur-le-projet-de-loi-republique-numerique/). Il y a un lien à faire entre Git et data d’ailleurs. Cela me fait penser à cette intéressante initiative de la Maison Blanche qui a mis ses données budgetaires sur GitHub : https://github.com/WhiteHouse/budgetdata

3 Likes

C’est excellent.

L’idéal étant de permettre à chacun de projeter le code en question sur sa vie personnelle pour juger de l’impact de la loi.
Sous la forme d’une simulation par exemple.

Peut-être que pour commencer, la loi manque simplement d’exemples concrets. Les exemples sont faciles à coder.

L’idée est bonne en soi. Une gestion de versioning dans ce genre de cas montre la transparence dans l’historique des changements sur les textes, et ça c’est une volonté forte de changement dans une société qui se veut de plus en plus numérique et collaborative.

Pour quoi ne pas se pencher à utiliser Gitlab comme plateforme opensource (https://about.gitlab.com) à héberger sur un domaine .gouv.fr par ex.

Mes 50cts.

Ok, c’est bien, mais pourquoi refaire (en moins bien) ce qui existe déjà ?

La Fabrique de la Loi

2 Likes

Ce genre de slogan (celui de Lessig) avec son air de tout expliquer en une locution est surtout un beau sophisme. Que la loi (et encore, surtout la réglementation) trouve à s’incarner dans des logiciels, voire que des systèmes d’information imposent une lecture de la loi, c’est une chose ; mais en arriver à ce réductionnisme, c’est quand même sacrément inquiétant chez un professeur d’université.

Quand aux logique déontiques, aux « traductions dans un langage formel », ça demeure de la science-fiction (et c’est un chercheur dans ce domaine qui vous le dit, désolé pour cet argument d’autorité).

EDIT : un modérateur considère mon message un peu agressif. Je ne souhaite pas le changer car je trouve qu’il reste dans les règles du débat d’idées courtois ; je précise toutefois, si c’était ambigu, que si je conteste bien les propos de F. Élie, mon objectif n’était pas d’être agressif à son égard.

Tout à fait d’accord. Il ne manque que quelques fonctionnalités à ce site pour être parfait.

Outre les questions techniques de suivi et présentation des modifications, des débats qui ont eu lieu, etc., presque complètement traités par la Fabrique de la Loi, il demeure un problème juridique grave : il est à l’heure actuelle interdit de « pomper » en texte pur (ou XML-isé) les lois publiées sur le site Légifrance pour les étudier comme on l’entend, voir ses conditions d’utilisation :

Reproduction et réutilisation des donnéesEn vertu du décret n° 2002-1064
du 7 août 2002 modifié, le service public de la diffusion du droit par
internet (SPDDI) a pour objet de mettre gratuitement à la disposition
des internautes, sur le site Légifrance, les textes en vigueur ainsi que
la jurisprudence. Mais cette gratuité n’exclut pas certaines
contraintes pour l’extraction et la réutilisation des données
disponibles sur le site (se reporter à la rubrique " Licences" située en pied de page).

Est-ce que vous avez lu le rapport « Distributed Ledger Technology: beyond block chain » du UK Government Chief Scientific Adviser ?

Il y a ce paragraphe extrêmement intéressant :

“In the case of the digital world, there are two sets of rules or codes that control the operation of digital technologies. The first is the classical set of rules provided by the legislative framework, the code of law and regulation. The second is the set of rules that determine the operation of the algorithms encoded by the software. This is the technical code, and there needs to be at least as much focus on ensuring the rigor of the technical code as on legislative code… There are also opportunities to take advantage of the potential interactions between legal and technical code. For example, public regulatory influence could be exerted through a combination of legal and technical code, rather than exclusively through legal code as at present. In essence technical code could be used to assure compliance with legal code, and, in doing so, reduce the costs of legal compliance. This could provide a ‘use case’ for the use of technology to enhance regulation, so-called RegTech.”

Qu’en pensez-vous ?

1 Like

Dans la pratique on peut tout pomper sur le FTP data.gouv.fr : « Licence ouverte » https://www.data.gouv.fr/fr/datasets/legi-codes-lois-et-reglements-consolides/

Nous ne gérons malheureusement pas encore les commits unitairement au niveau des amendements dans LaFabriqueDeLaLoi comme ici (mais il me semble que @julien_c a fait ça à la main, et uniquement pour les modifications votées en hémicycle :wink: ) mais c’est toujours la roadmap de long terme !

@Trebloc : Après des années de revendication, la DILA a fini par « libérer » les données juridiques et on peut désormais récupérer sur data.gouv.fr les XML des codes et réglements et leurs mises à jour sous Licence Ouverte : https://www.data.gouv.fr/fr/datasets/legi-codes-lois-et-reglements-consolides/Du coup scraper Légifrance n’est a priori plus utile, et l’interdire n’aurait plus trop de sens.
Pour autant, la réutilisation de ces données comporte toujours une grave insécurité juridique, faute d’avoir retouché au décret n° 2002-1064 du 7 août 2002 relatif au service public de la diffusion du droit par l’internet qui précise à son article 4 que la DILA reste responsable d’accorder ou de refuser l’usage des données aux réutilisateurs, en totale contradiction avec l’esprit de l’OpenData https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000000413818&categorieLien=cid
Nous répétons ce problème en boucle aux ministères concernés et à Étalab depuis 2 ans sans que ça bouge d’un iota, et c’est la raison pour laquelle la France est toujours considérée comme pas complètement ouverte sur ce thème dans les évaluations internationales… http://global.census.okfn.org/entry/fr/legislation

Plus largement sur la question de mettre la procédure législative dans git, beaucoup de challenges techniques et philosophiques se posent qu’un simple prototype comme ici ne permet que d’apercevoir, une réflexion avait déjà été initiée puis formalisée sur un pad lors d’une réunion avec entre autres @eraviart @Seb35 (qui a fait ArcheoLex https://github.com/Seb35/Archeo-Lex ) @steevehttps://pad.lqdn.fr/p/gitlaw

Et il y a aussi @Changaco qui a fait des choses là dessus https://github.com/Changaco/legi.py

Benjamin Ooghe-Tabanou

6 Likes

Super Benjamin, merci des infos.

Il serait peut-être plus intéressant de traiter le « problème » à la source (justement :p) et faire en sorte que le SI du parlement sauvegarde les informations sous une forme exploitable directement. Car on dirait que legifrance etc ont juste transposé les textes de loi (pour numériser les codes quoi), au lieu de transposer ça dans un modèle exploitable, qui permettrait d’écrire des APIs très facilement.

La fabrique de la loi est un très bon site, tout comme ce qui a été fait pour la république numérique, mais il me semble qu’on n’aurait pas vraiment dû en arriver là. Les bases de données créées par regards citoyens (députés, lois, etc.) devraient être fournies par nos services publics car c’est le fondement même de notre démocratie au final (certes la version numérique ne l’est pas, mais aujourd’hui, ça devient le cas je trouve).

1 Like

Sujet passionnant !
J’ai dressé quelques pistes de réflexion dans cet article à partir de mon expérience autour du prototype de Parol, qui visait justement à proposer une visualisation simple de l’écriture des lois. Sujet sur lequel Regards citoyens a déjà bien avancé !

1 Like

Ce texte dit beaucoup en quelques lignes donc ça ne me paraît pas parfaitement clair. Par exemple la phrase « [the] second is the set of rules that determine the operation of the algorithms encoded by the software » est alambiquée. Quel objet est ce technical code selon vous ? S’agit du matériel préparatoire de conception comme le dit joliment le CPI ? Du logiciel lui-même ? Seulement de la spécification du logiciel (ce dont j’ai l’impression) ? De la spécification du langage de programmation ou de l’environnement d’exécution employé ?

Encore une fois : s’il s’agit de dire qu’une partie de la réglementation se trouve mise en forme comme logiciel, c’est une évidence, non ? Et que dès lors, il faut s’assurer que le logiciel implémente bien la spécification correctement. Malgré ma critique de Lessig, je trouve que son « the code is the law » a au moins le mérite de mettre en évidence la proposition duale, à savoir que les logiciels induisent des normes.

1 Like

Je ne suis pas spécialiste du sujet, mais je pense qu’il faut distinguer le code qui est l’implémentation de la Loi, du code – qui est à mon avis celui évoqué ici –permettant la vérification de la bonne application de la Loi.

En l’occurence, on pourrait imaginer écrire avant même la Loi (ou en parallèle à celle-ci) le code permettant de tester sa bonne application. Comme les tests unitaires en développement, et le « Test-driven development ».

C’était ma compréhension de l’extrait. Reste à voir dans quels domaines de la Loi ces concepts seraient concrètement applicables !

Ah oui, ça pourrait être ça effectivement. Dans ce cas c’est un peu décevant car le TDD (et le test plus généralement) est une façon de vérifier la conformité du code par rapport à la spécification.

EDIT: TDD = test-driven development. Il s’agit d’une discipline de développement en vogue dans certains domaines de l’informatique où plutôt que développer un logiciel puis le tester pour vérifier qu’il ne comporte pas de bugs, on commence par développer les tests, et seulement alors on développe le logiciel qui doit s’y conformer. Pour des applications non-critiques ou où le besoin s’affine au fur et à mesure du développement, c’est une approche qui permet en principe aux développeurs de mieux comprendre le besoin (puisque il a fallu écrire des tests le traduisant) et d’éviter de régresser quand on fait évoluer le logiciel.

Pour information, ce même projet de loi République Numérique a été mis en ligne sur le git de Framasoft (basé sur le logiciel libre Gitlab et hébergé selon les CGU et la charte des services Framasoft)

Ce doit être un simple mirroring du github, mais l’effort est louable et doit être reconnu :wink:

4 Likes