Licence
Kastell is free software under AGPL-3.0-or-later.
What the AGPL changes
The AGPL is the GPL plus one clause: section 13, the network clause.
Under the GPL, the duty to publish your modifications only triggers on distribution of a binary. A vendor can therefore take GPL software, modify it, run it as a hosted service — and give nothing back. For a product whose main use is the hosted service, the GPL protects nothing.
Under the AGPL, running a modified version over a network counts as distribution.
What this means for you
| You | Your obligations |
|---|---|
| You self-host Kastell without modifying it | None. Use it, back it up, run it. |
| You modify it for internal use, and colleagues use it over the network | They are your remote users: offer them the modified source. An internal repository they can reach is enough. |
| You run it modified as a service for third parties | Publish your changes under AGPL-3.0. That is the case the licence targets. |
| You want to embed it in a proprietary product | The AGPL does not allow that. Write to us. |
The licence covers the code, never what you record in it. The log, the documents, the directory and the recordings are yours — the AGPL gives nobody any right over them, and that includes us.
How Kastell holds up its end
A network clause that rests on the operator's goodwill is worth nothing. The product tools it:
KASTELL_SOURCE_URL— the address of this instance's source, shown on public screens and published by the/api/etatprobe.KASTELL_REVISION— the exact revision, stamped at build time. Section 13 requires the source of the version that is running.- The root console reminds the operator as long as the obligation is unmet. We cannot know whether you modified the code; we can tell you what the licence expects of you.
The verifier is an exception
outils/verifier-journal.mjs is placed in the public domain
under CC0 1.0. A tamper-evidence guarantee checkable only on the terms of
whoever claims it guarantees nothing.
Third-party components
| Component | Licence | Role |
|---|---|---|
| LiveKit | Apache-2.0 | Media server |
| Excalidraw | MIT | Whiteboard canvas |
| PostgreSQL, Redis | Permissive licences | Persistence, real time |
MinIO is under AGPL-3.0 — with no consequence here: Kastell talks to object storage through the S3 API, behind an adapter, and embeds no MinIO code.