Aller au contenu principal

Licence

Kastell est un logiciel libre sous AGPL-3.0-or-later.

Ce que l'AGPL change

L'AGPL est la GPL plus une clause : la section 13, dite clause réseau.

Sous GPL, l'obligation de publier ses modifications ne se déclenche qu'à la distribution d'un binaire. Un éditeur peut donc prendre un logiciel GPL, 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.

Sous AGPL, faire fonctionner une version modifiée sur un réseau vaut distribution.

Ce que cela veut dire pour vous

VousVos obligations
Vous auto-hébergez Kastell sans le modifierAucune. Utilisez-le, sauvegardez-le, exploitez-le.
Vous le modifiez pour un usage interne, et vos collaborateurs s'en servent par le réseauIls sont vos utilisateurs distants : offrez-leur le code modifié. Un dépôt interne accessible suffit.
Vous l'exploitez modifié comme service pour des tiersPubliez vos modifications sous AGPL-3.0. C'est le cas que la licence vise.
Vous voulez l'intégrer à un produit propriétaireL'AGPL ne le permet pas. Écrivez-nous.
Vos données de crise ne sont pas concernées

La licence porte sur le code, jamais sur ce que vous y consignez. Le journal, les documents, l'annuaire et les enregistrements sont à vous — l'AGPL n'y donne à personne le moindre droit, et c'est aussi vrai pour nous.

Comment Kastell tient sa part

Une clause réseau qui repose sur la bonne volonté de l'exploitant ne vaut rien. Le produit l'outille :

  • KASTELL_SOURCE_URL — l'adresse du code de cette instance, affichée sur les écrans publics et publiée par la sonde /api/etat.
  • KASTELL_REVISION — la révision exacte de l'artefact, inscrite à la construction. La section 13 exige le code de la version qui tourne.
  • La console root le rappelle à l'exploitant tant que l'obligation n'est pas satisfaite. Nous ne pouvons pas savoir si vous avez modifié le code ; nous pouvons vous dire ce que la licence attend de vous.

Le vérificateur fait exception

outils/verifier-journal.mjs est versé au domaine public sous CC0 1.0. Une garantie d'inaltérabilité contrôlable seulement aux conditions de celui qui la revendique ne garantit rien.

Composants tiers

BriqueLicenceRôle
LiveKitApache-2.0Serveur média
ExcalidrawMITCanevas des tableaux blancs
PostgreSQL, RedisLicences permissivesPersistance, temps réel

MinIO est sous AGPL-3.0 — sans conséquence ici : Kastell dialogue avec un stockage objet par l'API S3, derrière un adaptateur, et n'incorpore aucun code MinIO.