KSKPix — Open-Source Licenses & Source Offer
KSKPix is built on outstanding open-source software. This page lists every open-source component bundled in the KSKPix apps, per platform, along with its license — and, for the copyleft (LGPL) components, the exact buildable source and scripts so those libraries can be rebuilt and relinked as their licenses provide.
KSKPix ships as three builds from two codebases, and they do not bundle the same media stack, so the platform each component applies to is called out throughout:
- Apple TV (tvOS) — native SwiftUI app
- iPhone & iPad (iOS) — Flutter app
- Android phones & tablets — Flutter app
- Android TV & Fire TV — native Jetpack Compose app
Copyleft components (LGPL)
These carry source-availability obligations, which the links below satisfy.
AetherEngine — LGPL v3, with an App Store exception (Apple TV, iPhone & iPad)
The primary playback engine on Apple TV and, since KSKPix 2.0, on iPhone and iPad is AetherEngine by Vincent Herbst, used under the GNU LGPL v3 together with that project's App Store / DRM exception. We build it from the published sources unmodified.
- Upstream source, unmodified: superuser404notfound/AetherEngine — we ship a tagged release as published. This page deliberately does not pin the number, because the build in your hands states its own: the exact engine version appears in the app under Settings → Open-source licenses, and again in Stats for Nerds while something is playing. Take that version, open the matching tag above, and you have the corresponding source for what you are running.
- Our modifications: none. We previously carried four local patches; all four were contributed upstream and released in 6.6.0, so the engine we ship is now the published source as-is. The last patched build is kept below for the versions that shipped with it.
- Linkage: the engine's own Swift code is linked statically into the app binary. The project's App Store exception covers this explicitly — it permits distribution through app stores even where the platform restricts "end-user re-linking of the installed binary against modified versions of the Program". The FFmpeg libraries it uses are a separate matter and are embedded as dynamic frameworks; see below.
- Historical, for builds up to and including engine 5.23.7: aether-5.23.7-kskpix.patch
- The build script that produces the framework we ship: build-aether.sh
FFmpeg — LGPL v2.1 or later (all platforms)
KSKPix uses libraries from the FFmpeg project under the GNU LGPL v2.1. Every FFmpeg build we ship is LGPL-only — configured without any GPL component. FFmpeg is a trademark of Fabrice Bellard, originator of the FFmpeg project. The builds differ per platform, and one is retained for versions already in the wild:
- Apple TV, iPhone & iPad — the dynamic frameworks from
FFmpegBuild,
which arrive with AetherEngine — each engine release pins the FFmpegBuild version it
carries, in that release's
Package.swift, so the engine version the app reports identifies these too. Unmodified upstream binaries; that project'sbuild.shis the recipe. They ship as dynamic frameworks inKSKPix.app/Frameworks/and are not merged into the app binary, so they can be replaced there directly — which is what LGPL 2.1 section 6 asks for. The bundled set is Libavcodec, Libavformat, Libavutil, Libavfilter, Libswscale, Libswresample, Libdav1d, Libzimg and Libzvbi. - iPhone & iPad, historical — up to KSKPix 1.x the mobile app used our own static build (FFmpeg 7.1.5) behind the MediaBridge playback path. AetherEngine superseded it in 2.0 and MediaBridge no longer runs, but the sources for the builds that shipped with it remain published: source tarball (sha-256 pins in checksums.txt), the pinned build script build-ffmpeg.sh, our complete modifications ffmpeg-7.1.5-mediabridge.patch and one added bitstream filter dovi_convert_bsf.c.
- Android — the FFmpeg libraries compiled into libVLC (below), which brings its own decoding stack. Unmodified upstream code, conveyed inside libVLC's shared libraries. Until August 2026 the mobile app's alternate engine instead carried the FFmpeg inside libmpv via media_kit — retained below for versions still in the wild.
libVLC / VLCKit — LGPL v2.1 or later (all platforms)
The fallback playback engine on every platform is libVLC from the VideoLAN project. We use unmodified official binaries everywhere, shipped as separate dynamic frameworks or shared libraries — never merged into the app binary — so each can be replaced with a different build of the same library, as LGPL 2.1 section 6 provides:
- Apple TV —
TVVLCKit, and since KSKPix 2.0MobileVLCKiton iPhone & iPad, both from VLCKit via CocoaPods, as dynamic frameworks in the app bundle. - Android TV, Fire TV, Android phones & tablets — since
August 2026,
libvlc-allfrom VLC-Android (VideoLAN's Maven artifacts), as its ownlibvlc.so/libvlcjni.soshared libraries inside the APK. On phones and tablets it replaced mpv/media_kit as the alternate engine.
mpv / media_kit — LGPL v2.1 or later (historical: mobile app until August 2026; iPhone & iPad up to 1.x)
Earlier mobile releases used libmpv via media_kit as the alternate playback engine. libVLC superseded it in August 2026 and current releases bundle no libmpv, but the sources for the versions that shipped with it remain published: we used unmodified official media_kit binaries, whose build recipes are at libmpv-darwin-build and libmpv-android-build.
libzvbi — LGPL v2.0 or later (Apple TV)
Teletext decoding, arriving with AetherEngine's FFmpeg build and conveyed under LGPL v2.1;
its ure.c is MIT. Its three GPL-licensed source files are removed before the
library is built, so no GPL code is compiled into the app — that modification is published in
FFmpegBuild's build.sh.
Source: zapping.sourceforge.net/ZVBI.
FriBidi — LGPL v2.1 or later (iPhone, iPad; Android inside libVLC)
Bidirectional text for subtitle rendering. On iPhone and iPad it is built by the same script as our FFmpeg build above; on Android it arrives compiled into libVLC's shared libraries and is conveyed with them.
Permissive components
Media & playback
- AndroidX Media3 / ExoPlayer — Apache 2.0 (Android TV, Fire TV, Android phones). The mobile app ships a small fork of the
video_player_androidplugin, which reads its buffer and track-language preferences natively; the fork is Apache 2.0 like its upstream. - dav1d (AV1 decoding) — BSD 2-Clause, VideoLAN (Apple TV, iPhone, iPad)
- libdovi (
dolby_visioncrate, Dolby Vision RPU processing) — MIT, quietvoid/dovi_tool (Apple TV, iPhone, iPad) - zimg (colour-space conversion) — WTFPL, sekrit-twc/zimg (Apple TV)
- libass — ISC · FreeType — FTL · HarfBuzz — MIT (subtitle rendering, built by the same script as our FFmpeg build) (iPhone, iPad)
App frameworks & libraries
- Flutter — BSD 3-Clause · Dart — BSD 3-Clause (iPhone, iPad, Android phones)
- Kotlin, Kotlin Multiplatform runtime, kotlinx (coroutines, serialization, datetime) — Apache 2.0 (all platforms; the shared data layer)
- Jetpack Compose, AndroidX (incl. TV Material, Lifecycle, WorkManager) — Apache 2.0 (Android TV, Fire TV, Android phones)
- SQLDelight — Apache 2.0 · sqflite — MIT · SQLite — public domain (all platforms)
- Ktor client — Apache 2.0 · OkHttp — Apache 2.0 · Dio — MIT (networking)
- Coil — Apache 2.0 (Android TV, Fire TV) · cached_network_image / flutter_cache_manager — MIT (mobile)
- Riverpod, go_router, flutter_svg, share_plus, url_launcher, path_provider, shared_preferences, package_info_plus, device_info_plus, connectivity_plus, wakelock_plus — BSD 3-Clause / MIT (mobile)
- flutter_secure_storage — BSD 3-Clause · encrypt — BSD 3-Clause · crypto — BSD 3-Clause (credential storage and encrypted backups)
- ZXing — Apache 2.0 (Android TV, Fire TV) · qr_flutter / qr — BSD 3-Clause · mobile_scanner — BSD 3-Clause (device-to-device transfer QR codes)
- SMBClient — MIT (Apple TV)
- Firebase SDKs (crash reporting & anonymous analytics, opt-out in Settings) — Apache 2.0 · CrashKiOS — Apache 2.0 (all platforms)
- JetBrains Mono (basis of the KSK Term brand font) — SIL OFL 1.1 · Google Fonts package — Apache 2.0
Written offer
License texts for all of the above are available at the linked projects. If you would like any of this source material on physical media, or object code suitable for relinking a modified LGPL library into the app, ask us through the support page and we will provide it.