Skip to content

Songloft Copyright 2026 Songloft Team

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

================================================================================ DISTRIBUTION LICENSE — CLIENT BINARIES (PLEASE READ)

The Go server (source, binaries, Docker images) is Apache-2.0, as is all source code in this repository.

The Flutter CLIENT binaries released from this repository -- the bundled builds named songloft-bundled-*, which embed the Go backend -- link against WebF (GPL-3.0-only, no linking exception) to render JS plugin pages, exactly like the standard client released from songloft-org/songloft-player. Apache-2.0 is one-way compatible with GPLv3, so the combination is permitted, but each such client binary is governed AS A WHOLE by the GNU General Public License, version 3.

Recipients of a client binary therefore receive it under GPL-3.0 (not Apache-2.0) and are entitled to the complete corresponding source code:

https://github.com/songloft-org/songloft          (server / this repo)
https://github.com/songloft-org/songloft-player   (Flutter client)
https://github.com/openwebf/webf                  (WebF)

Every release attaches LICENSE-GPL-3.0.txt (full license text, also in this repository at LICENSES/GPL-3.0.txt) and CORRESPONDING-SOURCE.txt, which names the tag and the exact commit SHAs the binaries were built from.

This does NOT extend to the server: songloft-linux-* / songloft-darwin-* / songloft-windows-* binaries and the Docker images contain no WebF and remain Apache-2.0. The Web frontend bundle likewise contains no WebF.

================================================================================ THIRD-PARTY COMPONENTS

This product includes software derived from or depending on the following third-party components. Their original copyright notices and license terms are reproduced below or referenced by path.


  1. github.com/dhowden/tag (vendored as pkg/tag)

License: BSD 2-Clause Copyright 2015 David Howden Notice : Songloft forks this library and adds MP3 (ID3v2.3) and FLAC (Vorbis Comment + PICTURE) writers, plus encoding-detection improvements. See pkg/tag/LICENSE for full text.


  1. Go module dependencies

The Go backend bundles the following libraries. Each is distributed under its own permissive license (MIT / BSD / Apache-2.0). See go.sum for the complete list of indirect dependencies and the source repository of each module for the full license text.

  • github.com/Masterminds/squirrel (MIT)
  • github.com/go-chi/chi/v5 (MIT)
  • github.com/go-chi/cors (MIT)
  • github.com/golang-jwt/jwt/v5 (MIT)
  • github.com/pressly/goose/v3 (MIT)
  • github.com/swaggo/http-swagger (MIT)
  • github.com/swaggo/swag (MIT)
  • golang.org/x/sync (BSD-3-Clause)
  • modernc.org/sqlite (BSD-3-Clause)
  • modernc.org/libc (BSD-3-Clause)
  • modernc.org/quickjs (BSD-3-Clause)
  • modernc.org/libquickjs (BSD-3-Clause)
  • github.com/gorilla/websocket (BSD-2-Clause)
  • github.com/hanxi/tracely/sdk/go/tracely (MIT)

  1. QuickJS (bundled as modernc.org/libquickjs via cgo-free port)

License: MIT Copyright (c) 2017-2024 Fabrice Bellard Copyright (c) 2017-2024 Charlie Gordon


  1. SQLite (bundled as modernc.org/sqlite via cgo-free port)

SQLite is in the Public Domain. The Go port modernc.org/sqlite is distributed under BSD-3-Clause.


  1. Flutter Client (songloft-org/songloft-player, separate repository)

The Flutter client links WebF (GPL-3.0-only) on native platforms; see the "DISTRIBUTION LICENSE -- CLIENT BINARIES" section above, which applies to the songloft-bundled-* artifacts released from this repository.

The client also embeds just_audio_media_kit, which in turn depends on libmpv / FFmpeg. libmpv is distributed under LGPL-2.1+ and FFmpeg is distributed under LGPL-2.1+ (with optional GPL components); the builds we bundle deliberately exclude GPL-only FFmpeg components. See the client repository's NOTICE for the per-component breakdown and for the source-availability obligations under LGPL section 4 / GPL section 6.


  1. JS Plugin Toolchain (songloft-org/plugin-toolchain, separate repository)

The plugin SDK and builder bundle a number of TypeScript / Node.js libraries under MIT / BSD / Apache-2.0. See that repository's package.json and LICENSE files for details.


  1. Embedded Fonts (internal/jsplugin/assets/fonts/)

The following Google fonts are embedded in the Go binary for JS plugin pages:

Roboto (weights 400, 500, 700) License: Apache License 2.0 Copyright 2011 Google Inc. All Rights Reserved. Designer: Christian Robertson

Material Symbols Outlined License: Apache License 2.0 Copyright 2016-2024 Google LLC

See internal/jsplugin/assets/fonts/LICENSE for the full license text.

================================================================================ TRADEMARK NOTICE

All product names, trademarks, and registered trademarks mentioned in Songloft and its bundled plugins (including but not limited to "Xiaomi", "MIoT", "Mi", "Mina", "MiHome", "Bluetooth", "Android", "iOS", "macOS", "Windows", "Linux", "Docker") are property of their respective owners. Their use in source code, documentation, or user interfaces is for identification and interoperability purposes only and does not imply endorsement, sponsorship, or affiliation.

Songloft and its authors are not affiliated with, endorsed by, or sponsored by any of the trademark holders mentioned above.

================================================================================ NO-FEE / DONATION NOTICE

Songloft is a free, open-source project developed purely out of personal interest, with no commercial interest of any kind.

Any party that charges fees, sells "paid versions", offers paid deployment, or solicits sponsorship/donations in the name of Songloft is unrelated to this project. Please stay alert to scams.