La question
ChatGPT (Round 0) note que « la notion de compilateur pour le droit reste conceptuelle ». La critique implicite est plus profonde que ce qu'elle dit : si on compile la loi, le binaire est-il la loi ou un modèle de la loi ? C'est une question ontologique de premier ordre. La réponse engage tout le projet, parce qu'un modèle qui se prendrait pour la réalité serait exactement la dérive scientiste que la Partie 17 s'engage à combattre (C.10).
La réponse est : il n'y a pas une DLL. Il y en a deux types, ontologiquement distincts.
Ce qu'elle est
La DLL de l'État est cryptosignée, publiée par Etalab ou la DINUM (Ship 7 de la roadmap). C'est la traduction officielle typée du texte de loi — un canal de publication supplémentaire, pas un remplacement du texte. Le texte juridique reste le texte juridique. Le Journal officiel reste le Journal officiel. La DLL est le texte rendu exécutable et vérifiable.
L'analogie n'est pas la partition (qui est la musique dans un sens fort), mais la publication au JORF elle-même. Le JORF ne crée pas le droit — l'Assemblée nationale crée le droit. Le JORF est le canal qui rend le texte opposable. De même, la DLL signée ne crée pas le droit — le législateur crée le droit. La DLL est le canal qui rend le texte compilable. L'acte juridique (loi, décret, arrêté) préexiste à sa publication sous forme typée, et c'est lui qui fait foi.
Pourquoi la signature cryptographique est essentielle
La signature X.509 (Ship 5, Partie 13) garantit trois propriétés : authenticité (cette DLL a bien été publiée par l'entité qui prétend l'avoir publiée), intégrité (le contenu n'a pas été modifié après publication), et non-répudiation (l'éditeur ne peut pas nier avoir publié cette version). Ce sont exactement les propriétés que le JORF garantit pour le texte papier — la DLL les étend au format compilable.
Ce que Catala a déjà démontré
Catala (Merigoux et al., POPL 2022), en collaboration avec la DGFiP, a empiriquement résolu la question ontologique pour le calcul fiscal. Le code Catala et le texte de loi coexistent. Le code est une traduction fidèle du texte, vérifiable par un humain (le texte de loi est littéralement intégré dans le code source Catala, en regard de sa formalisation). La question « le code est-il la loi ? » reçoit une réponse claire : non, le code est une traduction fidèle et vérifiable de la loi, dont la fidélité est elle-même vérifiable par inspection.
La métacratie étend ce pattern du calcul fiscal (domaine natif de Catala) au droit structurel (statuts, procédures, actifs, relations entre acteurs). Le Catala.Bridge (Ship 6-bis) est le pont technique qui assure la continuité : Catala pour les calculs monétaires, Law.Dsl pour les structures juridiques, le bridge pour la cohérence inter-systèmes.
Ce qu'elles sont
Les citoyens forkent le repo de l'État dans Lex Studio et produisent leurs propres cadres — Law.France2026.Citoyen42.Dsl. Ce sont des interprétations concurrentes, pas des lois. La distinction ontologique est nette : la DLL de l'État est une publication officielle (comme le JORF) ; la DLL citoyenne est un acte de parole politique (comme une pétition, un tract, un mémoire d'avocat).
Le citoyen qui compile un cadre concurrent dit : « voici comment je lis cette loi ». Ce n'est pas une prétention à légiférer — c'est un exercice de la liberté d'interprétation. Le fork citoyen est le mécanisme de Mouffe rendu technique : l'adversité typée. Le citoyen ne crie pas dans la rue — il publie un diff.
Le diff comme acte politique
Le diff entre la DLL officielle et un fork citoyen exhibe exactement où l'interprétation diverge. Quand le cadre étatique dit [Status(StatusKind.Private, typeof(HealthData))] et que le fork citoyen dit [Status(StatusKind.Commons, typeof(HealthData))], la divergence est typée, localisée, nommée. Le désaccord n'est plus un sentiment — c'est une valeur d'enum qui diffère. On peut débattre d'un enum. On ne peut pas débattre d'un sentiment.
Traçabilité par le système de packages
Le système de packages NuGet + PackageReference assure la traçabilité entre les deux niveaux. Un fork citoyen dépend de la DLL officielle — le lien de dépendance est explicite dans le .csproj. Le diff est toujours calculable parce que la source commune est toujours identifiable. Pas de fork sauvage sans traçabilité — chaque interprétation concurrente porte la référence de ce qu'elle conteste.
<PackageReference Include="Law.France2026.Etalab.Dsl" Version="1.0.0" /><PackageReference Include="Law.France2026.Etalab.Dsl" Version="1.0.0" />Le citoyen qui installe ce package et le fork produit un cadre dont la filiation est encodée dans le graphe de dépendances. L'archéologie juridique (Partie 17, B.8) s'étend naturellement aux forks citoyens : qui a forké quoi, quand, et sur quel point de divergence.
La carte et le territoire — Korzybski, deux fois
Korzybski (1933, Science and Sanity) : « la carte n'est pas le territoire ». La DLL n'est pas la loi. Mais une carte précise est plus utile qu'aucune carte. Et ici il y a deux types de cartes :
- La carte officielle (DLL signée) — produite par l'institution qui gère le territoire. Sa précision est sa responsabilité institutionnelle.
- Les cartes citoyennes (forks) — produites par ceux qui parcourent le territoire et trouvent que la carte officielle ne reflète pas ce qu'ils voient. Leur divergence est leur contribution politique.
La métacratie ne confond jamais la carte et le territoire. Le [VagueByDesign] est la preuve structurelle de cette non-confusion : chaque attribut [VagueByDesign("L'appréciation revient au juge")] marque un endroit où la carte admet explicitement qu'elle ne couvre pas le territoire. Un cadre qui n'a aucun [VagueByDesign] prétend tout dire — et un cadre qui prétend tout dire ment. Le quality gate vérifie que le ratio reste supérieur à 5% (Partie 17, A.1).
Synthèse — pourquoi la question ontologique est résolue
La question « le code est-il la loi ? » n'a pas une réponse — elle en a deux, selon le niveau :
| DLL État | DLL citoyenne | |
|---|---|---|
| Nature | Publication officielle typée | Interprétation concurrente |
| Fait foi ? | Non (le texte fait foi) | Non |
| Signée ? | Oui (X.509) | Optionnelle |
| Forkable ? | Oui | Oui |
| Diff calculable ? | Oui (vs texte source) | Oui (vs DLL État) |
| Acte | Publication institutionnelle | Parole politique |
| Analogie | JORF numérique compilable | Pétition typée |
Le système ne confond jamais les deux niveaux. La mention obligatoire C.3 — « Ce résultat est calculé par compilation. Il ne remplace pas un avis juridique humain. » — rappelle à chaque diagnostic que la carte n'est pas le territoire. Et la pluralité des cartes (État + citoyens + universitaires + militants + syndicats) garantit que personne ne peut prétendre que sa carte est le territoire.
Pour aller plus loin
- Partie 13 — Packaging NuGet — signature X.509 et versioning
- Partie 17 — Méta-critique — A.1 (
VagueByDesign), C.3 (mention obligatoire), C.10 (Cybersyn) - Partie 15 — Lex Studio — l'environnement de fork citoyen
- Round 1 — Confrontations — Mouffe et l'agonisme typé
- Hub de la série