BeatOS
Copyright 2026 Scott Huang (averatec0773)

This product is licensed under the Apache License, Version 2.0.
See the LICENSE file for the full license text.

---

This product bundles third-party components under their own licenses.
A condensed attribution list follows; the authoritative license texts
ship inside each dependency in node_modules/ and the Python virtual
environment.

Renderer (npm):
  - Electron — MIT
  - React, React-DOM — MIT
  - Vite, electron-vite — MIT
  - Tailwind CSS — MIT
  - Radix UI primitives — MIT
  - Zustand — MIT
  - TanStack Virtual — MIT
  - dnd-kit — MIT
  - Tone.js — MIT
  - lucide-react — ISC

Sidecar (Python):
  - FastAPI — MIT
  - aiosqlite — MIT
  - structlog — MIT / Apache-2.0 (dual)
  - mcp (Anthropic) — MIT
  - mcp-proxy — MIT
  - librosa — ISC (default analysis engine, always bundled)
  - essentia — AGPL-3.0 (OPTIONAL analysis engine; not bundled by default — see note below)
  - mutagen — GPL-2.0-or-later
  - pydantic — MIT
  - uvicorn — BSD-3-Clause

Tooling:
  - Playwright — Apache-2.0
  - vitest — MIT
  - pytest — MIT
  - uv — Apache-2.0 / MIT (dual)

Copyleft note (distribution):
  The analysis engine is pluggable (see audio_analysis/backends/). The DEFAULT
  build bundles only librosa (ISC) — permissive, safe to distribute. Essentia
  (AGPL-3.0) is an OPTIONAL extra (`uv sync --extra essentia`) for personal/dev
  use, giving better accuracy + speed; it is NOT in a default/distributed build,
  so its copyleft does not attach. Keep it that way when wiring up distribution:
  the distributed sidecar must install base deps only.
  Caveat still open: mutagen (GPL-2.0, used for tag/duration reading) IS always
  bundled — a fully permissive distributable would still need to address it.
