Files
feedBack-desktop/THIRD_PARTY_LICENSES.md
T
2026-06-16 18:48:12 +02:00

176 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Third-Party Notices
Slopsmith Desktop bundles, links to, or fetches at build time the
components listed below. Each entry names the upstream project, the
license it is distributed under, and where the corresponding source or
license text lives — either in this repository, in an installed
artefact, or upstream.
The desktop binary as a whole is distributed under the GNU Affero
General Public License v3.0 (see [`LICENSE`](LICENSE)) because the JUCE
framework — statically linked into the audio engine — is licensed under
AGPL-3.0 when not used under the separate commercial JUCE licence.
AGPL's copyleft propagates through that linkage, which is why the
combined work is AGPL-3.0-only.
Permissive components (MIT, BSD, Apache-2.0, etc.) listed below retain
their own terms; their notices must accompany any redistribution of
this software.
---
## JUCE 8
- **Project:** https://juce.com / https://github.com/juce-framework/JUCE
- **License:** AGPL-3.0-only **OR** the commercial JUCE 8 End User
Licence Agreement (the upstream `JUCE/LICENSE.md` does not grant the
"or any later version" option)
- **Use:** Statically linked into the JUCE C++ audio engine
(`src/audio/`, native addon `slopsmith_audio.node`).
- **Notes:** Slopsmith Desktop is distributed under the AGPL-3.0 arm of
this dual licence; the commercial JUCE licence is not used.
- **Notice text:** [`JUCE/LICENSE.md`](JUCE/LICENSE.md) (git submodule).
## Electron
- **Project:** https://www.electronjs.org/
- **License:** MIT
- **Use:** Desktop shell. Pinned via `package.json` (`electron`
devDependency).
- **Notice text:** Distributed with the Electron runtime; redistributed
inside the installer / app bundle under `LICENSE.electron.txt` (and
equivalent paths) emitted by `electron-builder`.
## NeuralAmpModelerCore (NAM)
- **Project:** https://github.com/sdatkinson/NeuralAmpModelerCore
- **License:** MIT (Copyright © 20232025 Steven Atkinson)
- **Use:** Bundled as a git submodule at
`src/audio/third_party/NAM/`; compiled into the audio engine to
power the built-in Neural Amp Modeler.
- **Notice text:**
[`src/audio/third_party/NAM/LICENSE`](src/audio/third_party/NAM/LICENSE).
## RTNeural
- **Project:** https://github.com/jatinchowdhury18/RTNeural
- **License:** BSD 3-Clause (Copyright © 2020 jatinchowdhury18)
- **Use:** Bundled as a git submodule at
`src/audio/third_party/RTNeural/`; compiled into the audio engine
for the real-time NN inference paths used by NAM.
- **Notice text:**
[`src/audio/third_party/RTNeural/LICENSE`](src/audio/third_party/RTNeural/LICENSE).
## FluidSynth
- **Project:** https://www.fluidsynth.org / https://github.com/FluidSynth/fluidsynth
- **License:** LGPL-2.1-or-later
- **Use:** Bundled into `resources/bin/` for use by the embedded
Slopsmith server (Guitar Pro → audio rendering path). On Windows,
prebuilt binaries are downloaded at packaging time per the
`external.fluidsynth_windows` block in
[`.build-config.json`](.build-config.json). On macOS and Linux, the
build host's `fluidsynth` binary is copied from `$PATH` by
[`scripts/bundle-binaries.sh`](scripts/bundle-binaries.sh).
Dynamically linked — users may relink against a compatible
FluidSynth build per LGPL terms.
- **Notice text:** Included in the upstream FluidSynth release archive
redistributed inside the installer (Windows) and travelling with the
host's `fluidsynth` package (macOS/Linux).
## FFmpeg / ffprobe
- **Project:** https://ffmpeg.org / https://github.com/FFmpeg/FFmpeg
- **License:** LGPL-2.1-or-later at minimum; the specific bundled
builds may be GPL-licensed (typically GPL-2.0-or-later or
GPL-3.0-or-later) if they were compiled with `--enable-gpl` and
linked against GPL components such as libx264 / libx265. The
third-party macOS builds we fetch (osxexperts.net, evermeet.cx) ship
with GPL components enabled, so on macOS the bundled `ffmpeg`/`ffprobe`
binaries are effectively under GPL terms. AGPL-3.0-only is compatible
with redistribution of GPL-2.0-or-later and GPL-3.0-or-later binaries
(FSF compatibility matrix), and FFmpeg is invoked as a separate
process — so its license terms do not propagate to the rest of the
desktop binary.
- **Use:** Required by the embedded Slopsmith server for WAV → OGG
transcoding on Guitar Pro 5 imports (`ffmpeg`) and for stream
metadata reads by demucs during stem splitting (`ffprobe`). Bundled
into `resources/bin/` on all platforms by
[`scripts/bundle-binaries.sh`](scripts/bundle-binaries.sh):
- macOS: prebuilt binaries downloaded per the
`external.ffmpeg_macos_*` / `external.ffprobe_macos_*` blocks in
[`.build-config.json`](.build-config.json).
- Linux: copied from the build host's `$PATH` (e.g. apt `ffmpeg`).
- Windows: copied from the build host's `$PATH` (e.g. Chocolatey /
Scoop `ffmpeg`).
- **Notice text:** Distributed inside the upstream FFmpeg source /
release archives (`COPYING.LGPLv2.1`, `COPYING.GPLv2`, etc.); the
source code is publicly available at the upstream URL above.
## vgmstream-cli
- **Project:** https://github.com/vgmstream/vgmstream
- **License:** ISC-style permissive (see upstream
[`COPYING`](https://github.com/vgmstream/vgmstream/blob/master/COPYING)).
- **Use:** Required by the embedded Slopsmith server for
`.wem``.wav` audio decoding. Bundled into `resources/bin/` on all
platforms by
[`scripts/bundle-binaries.sh`](scripts/bundle-binaries.sh): copied
from the build host's `$PATH` when available, or downloaded from the
upstream
[GitHub releases](https://github.com/vgmstream/vgmstream/releases/latest)
as a fallback.
- **Notice text:** Distributed in the upstream release archive and
source repository.
## GeneralUser GS SoundFont
- **Author:** S. Christian Collins —
https://www.schristiancollins.com/generaluser
- **License:** Custom permissive licence (free redistribution with
attribution; no stand-alone resale).
- **Use:** Bundled unmodified as `GeneralUser-GS.sf2` for the
Guitar Pro → audio rendering path; pinned by SHA-256 per the
`external.soundfont_general_user` block in
[`.build-config.json`](.build-config.json).
- **Notice text:**
[`resources/soundfonts/LICENSE`](resources/soundfonts/LICENSE).
## CPython (embedded Python runtime)
- **Project:** https://www.python.org/
- **License:** Python Software Foundation License (PSF)
- **Use:** A relocatable CPython build from
[astral-sh/python-build-standalone](https://github.com/astral-sh/python-build-standalone)
is fetched at packaging time (macOS / Linux) per the
`python_standalone_*` blocks in
[`.build-config.json`](.build-config.json) and bundled under
`resources/python/` so the embedded Slopsmith server can run
without a system Python install.
- **Notice text:** Distributed with the standalone Python build.
## Node.js modules (runtime dependencies)
The Electron main process pulls in two runtime npm dependencies; both
are MIT-licensed and travel inside the packaged app under
`resources/app.asar` (or unpacked, per
[`package.json`](package.json) `build.asarUnpack`):
- **lottie-web** — https://github.com/airbnb/lottie-web — MIT
- **node-addon-api** — https://github.com/nodejs/node-addon-api — MIT
Their full licence texts are present in the corresponding
`node_modules/<package>/LICENSE` files at install time and travel
with the packaged app.
---
## Adding a new dependency
When adding a new dependency, append an entry here describing the
project, its licence, how it's bundled, and where the notice text
lives. Permissive (MIT / BSD / Apache-2.0) and AGPL-compatible
copyleft licences are acceptable; anything more restrictive than
AGPL-3.0 — or any licence that forbids combination with AGPL — must
not be added without first discussing it on the issue tracker.