drobek / docs

Licensing

docs/LICENSING.md at v0.5.2 · View on GitHub · Markdown

On this page
  1. What the AGPL asks of you
    1. How drobek helps you comply
    2. Modules
  2. The boundary with drobek-web (the hosted drobek.app)
  3. Related repositories

drobek is licensed under the GNU Affero General Public License v3.0 (LICENSE) — the whole repository: the server, the dashboard, the MCP server, the platform modules in modules/, the browser SDK, the Caddyfile generator, the compose files and scripts, the skills. There is one licence and no other: no commercial or proprietary edition of this code, no licence exception, no contributor licence agreement.

This page explains what that means in practice. It is not legal advice.

What the AGPL asks of you

The AGPL is the GPL plus one clause, §13 "Remote Network Interaction": if you run a modified version of drobek and let people interact with it over a network, you must offer those users the corresponding source of the version you run, under the same licence.

How drobek helps you comply

If you modify drobek, point the footer link at your repository (the constant SOURCE_REPO_URL in packages/dashboard/src/source-link.ts) and build with your own commit.

Modules

A platform module is an npm package the operator adds to the server (DROBEK_MODULES); it runs inside the drobek process through the @drobek/modules contract. The built-in modules are part of this repository and AGPL-3.0. When you run drobek with a module of your own added and offer it to users over the network, treat the module as part of the program you run for §13 — its source belongs to what you offer.

The boundary with drobek-web (the hosted drobek.app)

drobek.app is operated from a separate, private repository, drobek-web. It is a thin operations layer at arm's length from this code:

drobek-web holds drobek-web does NOT hold
deployment: compose files, reverse-proxy / TLS configuration, the deploy workflow pinned to a published ghcr.io/freema/drobek image tag, runbooks a fork, a patched copy or a wrapper of drobek
a limits provider: a separate process that answers drobek's GET /limits/<workspace_id> (HMAC-signed HTTP, LIMITS_PROVIDER_URL) from plans and billing accounts in its own database code linked into, imported by or loaded into the drobek process
the marketing site any drobek feature a self-hoster would need

So: