+5
−0
AVIS.md
0 → 100644
+111
−0
LICENSE
0 → 100644
+661
−0
File added.
Preview size limit exceeded, changes collapsed.
LICENSE-VERIFICATEUR
0 → 100644
+121
−0
+24
−4
Loading
Le texte intégral en LICENSE, la notice d'usage en AVIS.md, le champ « license »
dans les quatre manifestes, l'avis aux deux points d'entrée.
La section 13 est la seule raison de préférer l'AGPL à la GPL
Sous GPL, l'obligation de publier ses modifications ne se déclenche qu'à la
distribution d'un binaire. Un éditeur peut donc prendre le code, le modifier,
l'exploiter en service hébergé, et ne rien rendre. Pour un produit dont
l'usage principal *est* le service hébergé, la GPL ne protège rien.
Mais une clause réseau qui repose sur la bonne volonté de l'exploitant ne
protège pas davantage. Le produit la sert donc lui-même :
KASTELL_SOURCE_URL porte l'adresse du code de l'instance. Elle s'affiche en
pied des écrans publics — connexion, inscription, pages d'atterrissage des
liens — et non dans le cockpit : une crise n'est pas le moment de lire une
mention légale. Elle vient du serveur et non d'une constante compilée, pour
qu'un exploitant qui modifie Kastell puisse pointer vers son dépôt sans
reconstruire l'interface.
KASTELL_REVISION inscrit la révision exacte dans l'artefact au moment de sa
construction. La section 13 parle du code de « la » version qui tourne :
après coup, plus rien ne permet de la retrouver.
La sonde publique /api/etat publie les deux, lisibles sans compte.
La console root rappelle l'obligation tant qu'elle n'est pas satisfaite. Nous
ne pouvons pas savoir si un exploitant a modifié le code — rien, dans un
artefact en cours d'exécution, ne le dit de façon fiable. Nous pouvons lui
énoncer ce que la licence attend de lui, plutôt que de le laisser en
infraction sans le savoir. Même parti que « aucune sauvegarde intégrée ».
Le vérificateur reste hors AGPL
outils/verifier-journal.mjs passe sous CC0-1.0. Il existe pour qu'un tiers —
auditeur, assureur, partie adverse — contrôle un journal exporté sans
exécuter notre code ni nous demander la permission. Le placer sous AGPL
ferait dépendre la vérification de nos conditions : la garantie
d'inaltérabilité ne vaudrait plus rien, puisque c'est nous qu'elle engage.
CC0 plutôt que la mention « domaine public » qui y figurait : en droit
français l'auteur ne peut pas renoncer à son droit moral, et une
renonciation informelle n'a pas d'effet certain. CC0 prévoit ce cas.
Ce que la licence ne couvre pas, dit explicitement
L'AGPL porte sur le code, jamais sur ce qui est consigné. Le journal, les
documents, l'annuaire et les enregistrements appartiennent à l'organisation.
L'ambiguïté sur ce point est le premier obstacle commercial d'un logiciel
libre en gestion de crise : AVIS.md la lève en un tableau.
Éprouvé comme le reste — 446 → 454 contrôles
Un LICENSE tronqué n'est pas l'AGPL, et l'obligation de la joindre au
programme (section 4) n'est alors pas tenue : le texte est contrôlé par son
empreinte SHA-256, celle publiée par la FSF. Les huit contrôles couvrent
aussi l'offre de code servie sans compte, le rappel en console, et les deux
cas où il doit s'éteindre ou changer.
Deux corrections au passage
« pnpm up » était un alias du « pnpm update » intégré : le script n'était
jamais atteint, et l'invoquer mettait à jour les dépendances au lieu de
démarrer la pile. Renommé en « pnpm demarrer » / « pnpm arreter » — même
piège que « pnpm root » plus tôt.
Les écrans d'authentification centraient leur panneau en ligne : le pied de
licence s'est posé à côté de la carte au lieu de dessous. Colonne.
Co-Authored-By:
Claude Opus 5 <noreply@anthropic.com>
File added.
Preview size limit exceeded, changes collapsed.