Open Source Notices
FastMediaSorter is built on the open source components listed below. We are grateful to their authors. The list is generated from the build files, so it covers everything shipped in a build rather than a selection.
Open source components
| Library | Coordinate | License | Shipped in | Source |
|---|---|---|---|---|
| AndroidX Activity Compose | androidx.activity:activity-compose |
Apache-2.0 | all builds | link |
| AndroidX Activity KTX | androidx.activity:activity-ktx |
Apache-2.0 | all builds | link |
| AndroidX AppCompat | androidx.appcompat:appcompat |
Apache-2.0 | all builds | link |
| AndroidX Browser | androidx.browser:browser |
Apache-2.0 | all builds | link |
| AndroidX CameraX Camera2 | androidx.camera:camera-camera2 |
Apache-2.0 | all builds | link |
| AndroidX CameraX Core | androidx.camera:camera-core |
Apache-2.0 | all builds | link |
| AndroidX CameraX Extensions | androidx.camera:camera-extensions |
Apache-2.0 | all builds | link |
| AndroidX CameraX Lifecycle | androidx.camera:camera-lifecycle |
Apache-2.0 | all builds | link |
| AndroidX CameraX Video | androidx.camera:camera-video |
Apache-2.0 | all builds | link |
| AndroidX CameraX View | androidx.camera:camera-view |
Apache-2.0 | all builds | link |
| Jetpack Compose Material Icons Core | androidx.compose.material:material-icons-core |
Apache-2.0 | all builds | link |
| Jetpack Compose Material Icons Extended | androidx.compose.material:material-icons-extended |
Apache-2.0 | all builds | link |
| Jetpack Compose Material 3 | androidx.compose.material3:material3 |
Apache-2.0 | all builds | link |
| Jetpack Compose UI | androidx.compose.ui:ui |
Apache-2.0 | all builds | link |
| Jetpack Compose UI Graphics | androidx.compose.ui:ui-graphics |
Apache-2.0 | all builds | link |
| Jetpack Compose UI Tooling Preview | androidx.compose.ui:ui-tooling-preview |
Apache-2.0 | all builds | link |
| AndroidX ConstraintLayout | androidx.constraintlayout:constraintlayout |
Apache-2.0 | all builds | link |
| AndroidX Core KTX | androidx.core:core-ktx |
Apache-2.0 | all builds | link |
| AndroidX Credentials | androidx.credentials:credentials |
Apache-2.0 | all builds | link |
| AndroidX Credentials Play Services Auth | androidx.credentials:credentials-play-services-auth |
Apache-2.0 | all builds | link |
| AndroidX DataStore Preferences | androidx.datastore:datastore-preferences |
Apache-2.0 | all builds | link |
| AndroidX DocumentFile | androidx.documentfile:documentfile |
Apache-2.0 | all builds | link |
| AndroidX ExifInterface | androidx.exifinterface:exifinterface |
Apache-2.0 | all builds | link |
| AndroidX Fragment KTX | androidx.fragment:fragment-ktx |
Apache-2.0 | all builds | link |
| AndroidX Hilt Navigation Compose | androidx.hilt:hilt-navigation-compose |
Apache-2.0 | all builds | link |
| AndroidX Hilt WorkManager | androidx.hilt:hilt-work |
Apache-2.0 | all builds | link |
| AndroidX Lifecycle LiveData KTX | androidx.lifecycle:lifecycle-livedata-ktx |
Apache-2.0 | all builds | link |
| AndroidX Lifecycle Process | androidx.lifecycle:lifecycle-process |
Apache-2.0 | all builds | link |
| AndroidX Lifecycle Runtime Compose | androidx.lifecycle:lifecycle-runtime-compose |
Apache-2.0 | all builds | link |
| AndroidX Lifecycle Runtime KTX | androidx.lifecycle:lifecycle-runtime-ktx |
Apache-2.0 | all builds | link |
| AndroidX Lifecycle ViewModel Compose | androidx.lifecycle:lifecycle-viewmodel-compose |
Apache-2.0 | all builds | link |
| AndroidX Lifecycle ViewModel KTX | androidx.lifecycle:lifecycle-viewmodel-ktx |
Apache-2.0 | all builds | link |
| AndroidX Media3 Common | androidx.media3:media3-common |
Apache-2.0 | all builds | link |
| AndroidX Media3 Decoder | androidx.media3:media3-decoder |
Apache-2.0 | all builds | link |
| AndroidX Media3 Effect | androidx.media3:media3-effect |
Apache-2.0 | all builds | link |
| AndroidX Media3 ExoPlayer | androidx.media3:media3-exoplayer |
Apache-2.0 | all builds | link |
| AndroidX Media3 ExoPlayer DASH | androidx.media3:media3-exoplayer-dash |
Apache-2.0 | all builds | link |
| AndroidX Media3 ExoPlayer HLS | androidx.media3:media3-exoplayer-hls |
Apache-2.0 | all builds | link |
| AndroidX Media3 ExoPlayer MIDI | androidx.media3:media3-exoplayer-midi |
Apache-2.0 | legacy, lite, noLegal, standard, vr | link |
| AndroidX Media3 ExoPlayer RTSP | androidx.media3:media3-exoplayer-rtsp |
Apache-2.0 | all builds | link |
| AndroidX Media3 Session | androidx.media3:media3-session |
Apache-2.0 | all builds | link |
| AndroidX Media3 Transformer | androidx.media3:media3-transformer |
Apache-2.0 | all builds | link |
| AndroidX Media3 UI | androidx.media3:media3-ui |
Apache-2.0 | all builds | link |
| AndroidX MediaRouter | androidx.mediarouter:mediarouter |
Apache-2.0 | legacy, lite, noLegal, photos, standard | link |
| AndroidX Paging Runtime KTX | androidx.paging:paging-runtime-ktx |
Apache-2.0 | all builds | link |
| AndroidX Print | androidx.print:print |
Apache-2.0 | all builds | link |
| AndroidX ProfileInstaller | androidx.profileinstaller:profileinstaller |
Apache-2.0 | all builds | link |
| AndroidX RecyclerView | androidx.recyclerview:recyclerview |
Apache-2.0 | all builds | link |
| AndroidX Room KTX | androidx.room:room-ktx |
Apache-2.0 | all builds | link |
| AndroidX Room Runtime | androidx.room:room-runtime |
Apache-2.0 | all builds | link |
| AndroidX Security Crypto | androidx.security:security-crypto |
Apache-2.0 | all builds | link |
| AndroidX SwipeRefreshLayout | androidx.swiperefreshlayout:swiperefreshlayout |
Apache-2.0 | all builds | link |
| AndroidX ViewPager2 | androidx.viewpager2:viewpager2 |
Apache-2.0 | all builds | link |
| AndroidX Wear | androidx.wear:wear |
Apache-2.0 | all builds | link |
| Wear Compose Foundation | androidx.wear.compose:compose-foundation |
Apache-2.0 | all builds | link |
| Wear Compose Material | androidx.wear.compose:compose-material |
Apache-2.0 | all builds | link |
| Wear Compose Navigation | androidx.wear.compose:compose-navigation |
Apache-2.0 | all builds | link |
| AndroidX WorkManager Runtime KTX | androidx.work:work-runtime-ktx |
Apache-2.0 | all builds | link |
| Java 8+ API desugaring support | com.android.tools:desugar_jdk_libs |
GPL-2.0-with-classpath-exception | all builds | link |
| Dropbox Java SDK | com.dropbox.core:dropbox-core-sdk |
MIT | all builds | link |
| Glide | com.github.bumptech.glide:glide |
BSD-2-Clause AND Apache-2.0 AND MIT | all builds | link |
| Glide OkHttp3 Integration | com.github.bumptech.glide:okhttp3-integration |
BSD-2-Clause | all builds | link |
| PhotoView | com.github.chrisbanes:PhotoView |
Apache-2.0 | all builds | link |
| Chucker (no-op) | com.github.chuckerteam.chucker:library-no-op |
Apache-2.0 | all builds | link |
| JSch (mwiede fork) | com.github.mwiede:jsch |
BSD-3-Clause | all builds | link |
| NewPipe Extractor | com.github.TeamNewPipe:NewPipeExtractor |
GPL-3.0-or-later | noLegal | link |
| Accompanist Permissions | com.google.accompanist:accompanist-permissions |
Apache-2.0 | all builds | link |
| Material Components for Android | com.google.android.material:material |
Apache-2.0 | all builds | link |
| Dagger Hilt Android | com.google.dagger:hilt-android |
Apache-2.0 | all builds | link |
| ZXing Core | com.google.zxing:core |
Apache-2.0 | all builds | link |
| SMBJ | com.hierynomus:smbj |
Apache-2.0 | all builds | link |
| Timber | com.jakewharton.timber:timber |
Apache-2.0 | all builds | link |
| Microsoft Authentication Library | com.microsoft.identity.client:msal |
MIT | all builds | link |
| OkHttp | com.squareup.okhttp3:okhttp |
Apache-2.0 | all builds | link |
| Retrofit Gson Converter | com.squareup.retrofit2:converter-gson |
Apache-2.0 | all builds | link |
| Retrofit | com.squareup.retrofit2:retrofit |
Apache-2.0 | all builds | link |
| Apache Commons Net | commons-net:commons-net |
Apache-2.0 | all builds | link |
| Tesseract4Android | cz.adaptech:tesseract4android |
Apache-2.0 | legacy, noLegal, standard, vr | link |
| Coil for Compose | io.coil-kt:coil-compose |
Apache-2.0 | all builds | link |
| epub4j | io.documentnode:epub4j-core |
Apache-2.0 | all builds | link |
| Markwon | io.noties.markwon:core |
Apache-2.0 | all builds | link |
| FFmpeg (custom Media3 decoder build) (bundled binary) | local:fms-ffmpeg-dts |
LGPL-2.1-or-later | standard, noLegal, legacy, vr | link |
| Zip4j | net.lingala.zip4j:zip4j |
Apache-2.0 | all builds | link |
| AppAuth for Android | net.openid:appauth |
Apache-2.0 | all builds | link |
Bouncy Castle Provider (via com.hierynomus:smbj) |
org.bouncycastle:bcprov-jdk18on |
MIT | all builds | link |
| Kotlin Coroutines Android | org.jetbrains.kotlinx:kotlinx-coroutines-android |
Apache-2.0 | all builds | link |
| Kotlin Coroutines Core | org.jetbrains.kotlinx:kotlinx-coroutines-core |
Apache-2.0 | all builds | link |
| Kotlin Coroutines Play Services | org.jetbrains.kotlinx:kotlinx-coroutines-play-services |
Apache-2.0 | all builds | link |
| jsoup | org.jsoup:jsoup |
MIT | all builds | link |
| OpenXR Loader for Android | org.khronos.openxr:openxr_loader_for_android |
Apache-2.0 | noLegal, vr | link |
| NanoHTTPD | org.nanohttpd:nanohttpd |
BSD-3-Clause | legacy, lite, noLegal, photos, standard | link |
| libVLC for Android | org.videolan.android:libvlc-all |
LGPL-2.1-or-later | noLegal | link |
Components under vendor terms
These components are not open source. They are distributed under their vendor terms and are listed here because they ship inside the app.
| Library | Coordinate | License | Shipped in | Source |
|---|---|---|---|---|
| Google Play services Auth | com.google.android.gms:play-services-auth |
Android Software Development Kit License | all builds | link |
| Google Cast Framework | com.google.android.gms:play-services-cast-framework |
Android Software Development Kit License | legacy, lite, noLegal, photos, standard | link |
| Google Play services Wearable | com.google.android.gms:play-services-wearable |
Android Software Development Kit License | all builds | link |
| Google ID for Credential Manager | com.google.android.libraries.identity.googleid:googleid |
Android Software Development Kit License | legacy, noLegal, photos, standard, vr | link |
| Play Feature Delivery | com.google.android.play:feature-delivery-ktx |
Play Core Software Development Kit Terms of Service | all builds | link |
| Play In-App Review | com.google.android.play:review-ktx |
Play Core Software Development Kit Terms of Service | all builds | link |
| ML Kit Language Identification | com.google.mlkit:language-id |
ML Kit Terms of Service | legacy, noLegal, standard, vr | link |
| ML Kit Translation | com.google.mlkit:translate |
ML Kit Terms of Service | legacy, noLegal, standard, vr | link |
Licence notes
- Java 8+ API desugaring support (
GPL-2.0-with-classpath-exception) - The Classpath Exception removes the copyleft effect of linking, so using this library does not oblige us to release the application source. The exception must be named alongside the GPL or the entry reads as a stronger obligation than it is. - Glide (
BSD-2-Clause AND Apache-2.0 AND MIT) - Compound licence: BSD-2-Clause for Glide itself, Apache-2.0 for third_party/disklrucache, MIT for third_party/gif_decoder, plus two permissive grants in third_party/gif_encoder that have no SPDX identifier. - PhotoView (
Apache-2.0) - Published on JitPack under the original author coordinate; the canonical repository is Baseflow/PhotoView. - JSch (mwiede fork) (
BSD-3-Clause) - The POM declares three licences: BSD-3-Clause for JSch, BSD-3-Clause for the bundled JZlib, ISC for the bundled jBCrypt. - NewPipe Extractor (
GPL-3.0-or-later) - Copyleft without a linking exception, linked only into the sideload-only noLegal build. In accordance with GPLv3 §6, the Corresponding Source code (including both the application source code and the extractor source code) is available at https://github.com/SerZhyAle/FastMediaSorter_mob_v2 and https://github.com/TeamNewPipe/NewPipeExtractor. - ZXing Core (
Apache-2.0) - Licence inherited from the zxing-parent POM; the core artifact declares no licences block of its own. - SMBJ (
Apache-2.0) - Apache-2.0 per the repository LICENSE_HEADER and the licences block of the 0.12.1 POM. The LGPL sometimes associated with SMB clients on Android belongs to jcifs-ng, a different library this project does not use. - Tesseract4Android (
Apache-2.0) - Bundles Tesseract OCR (Apache-2.0) and Leptonica (BSD-2-Clause) as native libraries. - epub4j (
Apache-2.0) - Apache-2.0 per the repository LICENSE and the 4.2 POM. The upstream epublib project this is forked from declares LGPL in its parent POM, which is why the two are sometimes conflated. - FFmpeg (custom Media3 decoder build) (
LGPL-2.1-or-later) - Built from FFmpeg sources by scripts/builders/build-ffmpeg-dts.sh and shipped as app_v2/libs/fms-ffmpeg-dts.aar. Its configure invocation passes neither –enable-gpl nor –enable-nonfree and disables postproc, the GPL component, so the produced binary is LGPL-2.1-or-later. - Bouncy Castle Provider (
MIT) - Published as the “Bouncy Castle Licence”; the text is verbatim MIT with their copyright, so scanners report NOASSERTION and the identifier is set by hand. - OpenXR Loader for Android (
Apache-2.0) - Loader sources carry Apache-2.0 OR MIT. The shipped native library statically links jsoncpp (MIT), jnipp (MIT) and android-jni-wrappers (BSL-1.0). - NanoHTTPD (
BSD-3-Clause) - Licence inherited from the nanohttpd-project POM; the artifact declares no licences block of its own. - libVLC for Android (
LGPL-2.1-or-later) - S1060: noLegal-only (sideload). Java bindings and the shipped native libvlc are LGPL-2.1-or-later; the app links dynamically and ships no modified sources.