Skip to main content

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

YouYour obligations
You self-host Kastell without modifying itNone. Use it, back it up, run it.
You modify it for internal use, and colleagues use it over the networkThey 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 partiesPublish your changes under AGPL-3.0. That is the case the licence targets.
You want to embed it in a proprietary productThe AGPL does not allow that. Write to us.
Your crisis data is not covered

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/etat probe.
  • 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

ComponentLicenceRole
LiveKitApache-2.0Media server
ExcalidrawMITWhiteboard canvas
PostgreSQL, RedisPermissive licencesPersistence, 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.