Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

0001 — MIT license for keyboot

Context

The license was carried as TBD in Cargo.toml, the repo-layout listing, and SPEC §17.7, which blocked native packaging (pkg/{alpine,gentoo,debian} all need a declared license) and any distribution. SPEC §17.7 leaned MIT but deferred the choice while the repo stayed private.

keyboot links no GPL/CDDL code into its own artifact: it builds a vanilla LTS kernel and the OpenZFS module from upstream sources at build time, and the operator assembles the bootable image themselves. The keyboot source itself is host-side tooling plus init scripts — there is no derived-work entanglement that would force a copyleft license.

The west17m fleet otherwise uses BSL 1.1 (orcai, obooks) or proprietary all-rights-reserved (td, omessage, summer-school). keyboot differs: it is low-level boot infrastructure with no commercial-hosting angle to protect, and the permissive path matches SPEC §17.7’s “users assemble the artifact themselves” framing.

Decision

License keyboot under the MIT License. Copyright holder: Travis Osterman / west17m, 2026.

Alternatives considered

  • BSL 1.1 — matches orcai/obooks, but its source-available/time-delayed model exists to protect a hosted product. keyboot has no such product; the extra friction buys nothing here.
  • Proprietary / all-rights-reserved — matches td/omessage. Fine while private, but forecloses the reuse SPEC §17.7 anticipates and still needs a real text before any release.
  • Apache-2.0 — permissive like MIT with an explicit patent grant. Heavier than warranted for a tool of this size; MIT is the fleet-simplest permissive option and is unambiguously CDDL/GPL-compatible at the boundary.

Consequences

  • LICENSE (MIT) added at repo root; Cargo.toml sets license = "MIT".
  • SPEC §17.7 and the §14 layout note updated from TBD to MIT.
  • Packaging recipes can now declare a license.
  • The MIT grant is one-way; relicensing later (e.g. to add a patent grant) requires a superseding ADR but no permission from downstream users.