Wheelhouse docs

Third-party licences#

Wheelhouse ships other people's code in three places: modules compiled into the agent binary, libraries bundled into the web UI's JavaScript, and the several thousand Debian and VyOS packages that make up the image. This page lists the first two in full; the third is enumerated on the machine itself, generated from what is installed. The complete licence texts travel with the software, at /usr/share/doc/wheelhouse-agent/copyright and /usr/share/doc/<package>/copyright.

Compiled-in dependencies are permissive only — MIT, BSD-2, BSD-3, ISC, Apache-2.0. Anything weak-copyleft needs a recorded decision before it goes in; anything strong-copyleft is out.

Compiled into wheelhouse-agent#

The agent is one static Go binary, so these modules travel inside it and their notices travel with it.

ModuleVersionLicenceWhy it is there
github.com/gorilla/websocketv1.5.3BSD-3-ClauseThe telemetry stream to the UI
golang.org/x/cryptov0.31.0BSD-3-ClauseArgon2id password hashing
gopkg.in/yaml.v3v3.0.1MIT or Apache-2.0 (dual)The desired-state file
github.com/coreos/go-oidc/v3v3.9.0Apache-2.0OIDC discovery and ID-token verification
golang.org/x/oauth2v0.21.0BSD-3-ClauseThe authorization-code flow behind go-oidc
github.com/go-jose/go-jose/v3v3.0.5Apache-2.0Transitive: JWKS and JWS verification
golang.org/x/sysv0.28.0BSD-3-ClauseTransitive: CPU feature detection for Argon2
gopkg.in/check.v1—MITTransitive, for yaml.v3's own tests only; never built into the binary

Everything else in the agent is the Go standard library. TOTP (RFC 6238), the Prometheus text exposition format and the op-mode table parsers are implemented in the product rather than pulled in.

go-oidc is pinned at v3.9.0 rather than the newest release: v3.20 raises the module's minimum Go version to 1.25, which would move the toolchain under every build.

Bundled into the web UI#

The UI is a built bundle, so these are inside the JavaScript files it ships. The transitive names are the ones whose notices ship in the agent's copyright file.

PackageLicenceWhy it is there
react, react-dom, scheduler (18.x)MITThe UI runtime
react-router-dom, react-router, @remix-run/router (6.x)MITRouting
loose-envify, js-tokensMITTransitive, through React

No runtime dependency is added for charts, icons, dates or state management: the charts are SVG the UI draws, the icons are inline SVG drawn for the product, and the data layer is fetch plus two hooks. The bundle is small enough to ship in the package and serve off the router.

Typefaces#

Both are variable fonts, served from the router itself — the UI fetches nothing from a content delivery network. Each ships beside its own licence text.

TypefaceLicenceOn the machine
InterSIL Open Font License 1.1/usr/share/wheelhouse/ui/fonts/inter-var-latin.woff2, licence at inter-OFL.txt beside it
JetBrains MonoSIL Open Font License 1.1/usr/share/wheelhouse/ui/fonts/jetbrains-mono-var-latin.woff2, licence at jetbrains-mono-OFL.txt beside it

The UI sets values that came off the router in JetBrains Mono, and its own words in Inter.

Build-time only, and not shipped#

vite, @vitejs/plugin-react, typescript, tailwindcss, @tailwindcss/postcss, postcss, playwright-core and the @types/* packages are development dependencies. None of them is in the package, so none is listed in the shipped copyright file.

The base system#

Almost everything on a Wheelhouse OS machine was written by other people and is free software. The authoritative list is on the machine rather than on this page, where it would drift from the image:

PathWhat it holds
/usr/share/doc/<package>/copyrightThe licence and copyright of every installed package, one file each. Generated from the packages actually installed
/usr/share/common-licenses/The full text of the GPL, LGPL, Apache and the other licences those files name, from Debian's base-files
/var/lib/dpkg/statusEvery installed package and its exact version
/usr/share/doc/wheelhouse/SOURCES.txtWhat the image was built from — Corresponding source

The three headline entries in that file:

  • VyOS — GPL-2.0-or-later. The image is built from vyos-build source; the commit is in SOURCES.txt. VyOS is a registered trademark of Sentrium S.L., and this is a self-built image rebranded as upstream's artwork licence requires, not a VyOS release.
  • Debian — many licences, one per package.
  • The Linux kernel — GPL-2.0, an unmodified Debian/VyOS build.

The routing, DHCP, DNS, VPN and firewall daemons come from Debian and VyOS package repositories unmodified, and their licences are in their own copyright files.

Where the full texts are#

This page is an index. The texts themselves are reproduced in full, unedited, in two places:

WhereWhat is in it
/usr/share/doc/wheelhouse-agent/copyrightThe Wheelhouse grant, then every notice that has to travel with the binary and the bundle: the BSD-3 text for gorilla/websocket, the BSD-3 text for the Go Authors, the MIT text for each MIT component with its own copyright line, and the CoreOS NOTICE that Apache-2.0 requires be carried. The Apache-2.0 text itself is referenced at /usr/share/common-licenses/Apache-2.0, where Debian already puts it
/usr/share/doc/<package>/copyright on the imageEverything else

Re-deriving this list#

To check the tables above rather than take them on trust:

bash
cd agent && go list -m all                        # the module graph, versions included
cd ui && npm ls --all --omit=dev                  # the runtime dependency tree
cd ui && npx license-checker --production --summary   # if the tool is available

A difference between what those commands print and the tables above is a bug worth reporting — Support.

See also#

Updated 2026-09-03 licences dependencies legal