Licenses

Lumen is built on open-source components. This page carries the notices that ship inside the app, the sources and build recipe of the playback engine, and the licenses of what the website itself uses.

Third-party notices

The file that ships with the app, rendered as it is.

Lumen bundles the following third-party components. Full license texts for every Dart/Flutter package ship inside the app: Settings → About → Open-source licenses.

libmpv (playback engine)

Lumen dynamically links libmpv. Windows uses our own build (recipe in tools/libmpv/); Android uses media-kit's prebuilt "full" flavor:

Both are configured LGPL-only (Windows: by our recipe; Android: media-kit's "full" flavor, verified from strings in the shipped binary):

  • mpv — LGPL-2.1-or-later (-Dgpl=false). Source: https://github.com/mpv-player/mpv
  • FFmpeg — LGPL-3.0-or-later (--disable-gpl --disable-nonfree --enable-version3; no GPL-only components — x264, x265, davs2, rubberband, libdvdnav/libdvdread are not built). Source: https://github.com/FFmpeg/FFmpeg
  • Additional statically linked libraries (libass, libplacebo, shaderc, SPIRV-Cross, dav1d, aom, SVT-AV1, libvpx, opus, vorbis, lame, FLAC, libwebp, libjxl, zimg, soxr, speex, libmysofa, libbs2b, harfbuzz, fontconfig, freetype, fribidi, lcms2, libarchive, uchardet, mujs, luajit, libbluray, libaribcaption, libzvbi, libssh, libsrt, OpenSSL, libxml2, libmodplug, libopenmpt, game-music-emu, OpenAL Soft, SDL2, libsixel, mbedtls, and others) under their respective permissive/LGPL/MPL/Apache licenses; the exact set and versions are in the recipe's packages/ directory at the recorded commit.

Per the LGPL, the libmpv library is shipped as a separate shared library: you may replace libmpv-2.dll / libmpv.so with your own (modified) build. Corresponding source and build recipes are available at the links above and in this repository (tools/libmpv/).

Bundled font

Application frameworks

  • Flutter (BSD-3-Clause) — https://github.com/flutter/flutter
  • Dart (BSD-3-Clause) — https://dart.dev
  • Rust crates and Dart packages: permissively licensed (MIT/Apache-2.0/BSD); the in-app license screen lists each Dart package with its license text.

Engine sources

Everything needed to rebuild the playback engine yourself, for every version still downloadable.

The playback engine is libmpv, dynamically linked and built LGPL-only. Per the LGPL you may replace libmpv-2.dll (Windows), libmpv.so (Android) or Mpv.framework (macOS and iOS) with your own build. Here is everything needed to make one for each version still downloadable:

Windows build

LumenmpvFFmpegRecipe commitBuilt
1.0.4 BUILD_INFO pending for this version
1.0.3 BUILD_INFO pending for this version
1.0.2 BUILD_INFO pending for this version
1.0.1 BUILD_INFO pending for this version
1.0.0 BUILD_INFO pending for this version

Build recipe files

Hosted here because the app repository is not public. The recipe patches the upstream build (mpv-winbuild-cmake) to the LGPL configuration and pins the tags above; BUILD_INFO records what was built.

  • lgpl_full.py turns the upstream recipe into Lumen's LGPL, full-decoder recipe and pins the tags
  • build-libmpv.sh the build script (WSL, Ubuntu 24.04)
  • README.md provisioning, building and verifying
  • BUILD_INFO the tags, recipe commit and build date of the shipped library

Android build

Android uses media-kit's prebuilt "full" flavor of libmpv, built from the same LGPL posture:

Apple build

macOS and iOS embed media-kit's prebuilt libmpv frameworks, built from the same LGPL posture:

This website

Three pieces of third-party work, all self-hosted, none of them phoning home.

Everything the site loads is self-hosted. Third-party work it includes: