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

7.6 KiB
Raw Permalink Blame History

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) 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 (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)

RTNeural

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. On macOS and Linux, the build host's fluidsynth binary is copied from $PATH by 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:
    • macOS: prebuilt binaries downloaded per the external.ffmpeg_macos_* / external.ffprobe_macos_* blocks in .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).
  • Use: Required by the embedded Slopsmith server for .wem.wav audio decoding. Bundled into resources/bin/ on all platforms by scripts/bundle-binaries.sh: copied from the build host's $PATH when available, or downloaded from the upstream GitHub releases as a fallback.
  • Notice text: Distributed in the upstream release archive and source repository.

GeneralUser GS SoundFont

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 is fetched at packaging time (macOS / Linux) per the python_standalone_* blocks in .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 build.asarUnpack):

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.