0016 — GPL-3.0-or-later, with no AGPL code copied in
Status: Accepted (built — it governs every borrow) Date: 2026-06-29
Context
openmixer leans heavily on the open-source audio ecosystem: PipeWire filter-chains, jack_mixer's bus/send model, Ardour/Non-Mixer's strip model, ZestBay's persistence, CSI's surface factoring, libebur128's metering, and protocol facts for MCU/X32. Reusing them well requires a clear, consistent licence policy — both to stay compliant and to decide, per source, whether to copy code or only learn from it.
A specific hazard: the projects whose designs fit openmixer best — MOD-UI's plugin editor ideas, Eyevinn/audio-mixer's REST-over-WebSocket protocol, Zrythm's sectioning — are AGPL-3.0. AGPL adds a network-use obligation that openmixer, a GPL-3 project, does not carry. Copying AGPL code in would impose that obligation on the whole codebase.
Decision
openmixer is GPL-3.0-or-later, © Pau Aliagas. The borrow rules, applied throughout:
- MIT / BSD — copyable directly.
- GPL-2.0-or-later — copyable (the "or-later" upgrades to GPL-3).
- GPL-3.0 — copyable.
- AGPL-3.0 — not copyable. Study the architecture/algorithm and re-implement clean. Flagged per item in the borrow brief.
- Protocol facts (MCU, X32 OSC, MIDI) — not copyrightable; implement freely.
So MOD-UI's :bypass/:presets idea and log-knob math, Eyevinn's resource-path WS shape
and PFL-as-bus design, and Zrythm's sectioning are taken as ideas only and written
fresh; jack_mixer, Ardour, Non-Mixer (GPL-2-or-later), CSI (GPL-3), ZestBay and libebur128
(MIT) may be copied with attribution.
Consequences
- openmixer never acquires the AGPL network-use obligation, because no AGPL code is copied in — only re-implemented designs.
- Every borrow must be licence-checked before code is copied; "shape only, re-implement" is a recurring, deliberate cost for the best-fitting (AGPL) designs.
- Bundled third-party data carries its own attribution (e.g. the Midas parameter map from
the community
midas-pro-series-osc-commandsproject, credited inpackages/adapter-midas/data/CREDITS.md). - The explicit anti-pattern: do not copy AGPL code (MOD-UI, Eyevinn/audio-mixer, Zrythm) — ideas, algorithms and shapes only, re-implemented clean.