0015. Permissive dependencies first
- Status: accepted
- Date: 2026-10-02
Context
Section titled “Context”Every dependency’s licence travels into every application built on the framework. Copyleft libraries (LGPL, GPL, AGPL) restrict static linking on iOS and Android and can block the commercial licence; proprietary SDKs cannot ship in open-source builds.
Decision
Section titled “Decision”New dependencies are chosen permissive first (public domain, MIT, BSD, ISC, zlib, BSL, Apache-2.0). A copyleft or proprietary library is allowed only as an optional adapter, off by default, never required by a core, and never part of open-source binaries when its terms forbid it. JUCE and Tracktion remain today’s backends behind ports; the permissive replacements are listed in replacing-backends.md.
Consequences
Section titled “Consequences”- Applications can be licensed as their authors choose.
- Some capabilities (Ableton Link, NDI) stay optional.
- The path to a framework with no JUCE or Tracktion is made of permissive pieces only.
© 2026 Umberto Sorbo. The software is licensed under the Apache License, Version 2.0, and provided “as is”, without warranties or conditions of any kind; see the disclaimer.
SHUFFLE Framework and the SHUFFLE Framework logo are trademarks of Umberto Sorbo; the licence grants no rights to them (trademarks). Other names belong to their owners. Fonts: IBM Plex Sans and JetBrains Mono, SIL Open Font License 1.1.
Contact: shuffleframework@gmail.com · Instagram @shuffleframework. Security problems: write to the same address with “Security” in the subject, not in a public issue.