The Wheelhouse licence#
Wheelhouse OS is two things under one image. The base — VyOS, Debian, the kernel and every daemon that does the routing — is free software and keeps its own licences, untouched. The parts Wheelhouse wrote — the agent, the web UI, the installer and the migration tooling — are proprietary, licensed rather than sold, and gated by a subscription key. This page states the grant as it stands in the repository today, and is equally plain about what is missing: there is no licence agreement and no terms of service yet. What ships is a stopgap that says so in its own first paragraph.
Which files are which#
| On the machine | Whose | Under what |
|---|---|---|
/usr/bin/wheelhouse-agent | Wheelhouse | Proprietary |
/usr/share/wheelhouse/ui | Wheelhouse | Proprietary, plus the bundled MIT libraries and the two OFL typefaces |
/usr/bin/wheelhouse-install, /usr/bin/wheelhouse-autoinstall, /usr/bin/wheelhouse-opnsense-import | Wheelhouse | Proprietary |
| Everything else in the image | VyOS, Debian and their upstreams | GPL-2.0 and the many licences in each package's own copyright file |
The split is not cosmetic. The agent is a separate program: it drives the router over its HTTP API and its op-mode commands, links against no GPL code and copies none — Built on VyOS.
The grant as it stands today#
packaging/copyright travels with the package, is installed at
/usr/share/doc/wheelhouse-agent/copyright, and is currently the whole of the grant:
Wheelhouse is proprietary software. You may run this copy on the system it was supplied for. Copying, redistribution, modification and reverse engineering are not permitted except where the law says otherwise, or where a separate written agreement says otherwise.
Copyright 2026 the Wheelhouse authors. The full terms are to be published at
<TODO: owner>; until that document exists, the paragraph above is what there is, and
none of it applies to the third-party components listed in the same file — those keep
their own licences, reproduced there in full.
Two carve-outs in that paragraph are load-bearing. Except where the law says otherwise leaves whatever rights your jurisdiction gives you untouched by this file; what those are is a question for a lawyer where you are, not for this page. Except where a separate written agreement says otherwise is the door a real licence agreement comes through, when one is written.
What the shipped terms add#
TERMS.txt is installed on every image at /usr/share/doc/wheelhouse/TERMS.txt, and
show license on the router prints it, because /usr/share/vyos/EULA is a symlink to it —
packaging/iso/branding/50-wheelhouse-brand.chroot.
Beyond marking itself as a placeholder, it states what is settled and true today:
- Most of what runs on the machine is free software written by other people, each part keeping its own licence. Nothing in the Wheelhouse terms restricts any right those licences give you.
- The parts Wheelhouse wrote are proprietary and are licensed, not sold, under a subscription. They are separate programs from the GPL software they drive.
- You may run the image on hardware you own, take it apart, and inspect it.
- You may not redistribute the proprietary parts.
- Wheelhouse is not affiliated with, endorsed by or supported by the VyOS project or Sentrium S.L. — Trademarks.
- Warranty and liability are to be set by the final terms. Until then, assume the software is provided as-is with no warranty, which is what every third-party licence in the image says about its own part in any case.
A licence agreement is a different thing from a licence key#
Two words that sound alike and are not:
| The licence | The agreement under which you are permitted to run the software. Described on this page. It does not exist in final form yet |
| A licence key | The WHL1.… token that unlocks configuration changes on a router. It is an entitlement, checked by the agent, and it is described under Licensing in this wiki |
A key is a signed statement of a plan, a router limit and an expiry — the agent verifies it
offline against a public key compiled into the binary, so a router with no route to the
internet still knows what it holds. Reading never needs one: an unlicensed agent signs you
in, shows every page, counter, log and audit entry, and refuses only to stage, commit, roll
back, install apps or reconcile, answering 402 with the reason —
agent/license.go (requireLicense),
PRICING.md, ADR-003.
Enforcement is described honestly in the design record: it is a self-hosted binary, so it can be patched, and the aim is that paying is easier than patching rather than that patching is impossible.
What does not exist yet#
Stated here rather than left for you to discover during procurement. Each of these is
<TODO: owner>, and PRICING.md says nothing should be sold until they
are written:
| Document | Status |
|---|---|
| A licence agreement — grant, term, restrictions, warranty disclaimer, liability cap, governing law | Does not exist. packaging/copyright and TERMS.txt are the stopgap |
| Terms of service for the subscription — billing cadence, cancellation, refunds, what the router does at the end of a term | Does not exist |
| A price for either plan | Not set. Both figures in PRICING.md are <TODO: owner> |
| A support agreement or service-level agreement | Does not exist. Support describes the tiers as they are implemented, and the Business tier's response target is a stated intent with no contract behind it |
| A formal privacy notice, and a retention period for licence-refresh records | Not written — Privacy |
The read-only promise above — that an unlicensed or lapsed router keeps showing you
everything — is a design decision recorded in PRICING.md and enforced in the code today.
It is not yet a contractual commitment, because there is no contract. When terms exist,
that promise belongs in them.
Questions about licensing#
Contact for licence questions is <TODO: owner> — the same placeholder that
TERMS.txt carries. There is no public issue tracker, and the source forge is private, so
neither is a route. See Support.
See also#
- Built on VyOS — why the boundary between proprietary and GPL is drawn where it is.
- Corresponding source — your rights over the GPL half, and how to exercise them.
- Third-party licences — everything linked into the agent or bundled into the UI.
- What is finished, and what is not — including the commercial gaps.
- Support — what each tier gets, and what is not promised.
- What the licence gates — the key, the states, and the routes that answer 402 without one.
- Enter a licence — where a key goes.
Checked against#
packaging/copyright ·
packaging/iso/branding/doc/TERMS.txt ·
packaging/iso/branding/50-wheelhouse-brand.chroot ·
packaging/build-deb.py ·
PRICING.md ·
docs/adr/003-licensing.md ·
agent/license.go