第三方授权

两款应用都以 MIT 授权发布。这一页列出它们随附的第三方组件,以及那些组件各自适用的条款。

组件名称、授权标识、授权条文,以及下方各应用的 LGPL 替换说明,一律保持英文原文——这些文字的翻译不具法律效力,也容易在转述中失真。这一页其余的说明文字会跟着你选的语言。

以 LGPL 授权的组件

两款应用各自随附一个以上以 GNU Lesser General Public License 2.1 版授权的组件。LGPL 要求你必须能够用自己构建的版本替换那些组件。各应用如何做到这一点,写在下方它自己的标题底下。

CX'Music for Windows

组件版本授权
TagLibSharp2.3.0LGPL-2.1-only
SoundTouch.Net2.3.2LGPL-2.1-or-later
BunLabs.NAudio.FlacA managed port of the CSCore FLAC decoder, shipped as an unmodified binary. MS-PL §3(C) requires distribution under a compatible licence; this application is MIT.2.0.1MS-PL
ConcentusA managed port of the Opus reference implementation. The package declares a licence file rather than an SPDX identifier; the text is the three-clause BSD licence used by Opus.2.2.2BSD-3-Clause
Microsoft.WindowsAppSDKThe source repository is MIT-licensed; the redistributable NuGet package ships under Microsoft’s own terms.2.1.3Microsoft Software Licence Terms
NAudio2.2.1MIT
NAudio.Core2.2.1MIT
NAudio.Vorbis1.5.0MIT
NVorbisPulled in by NAudio.Vorbis.MIT
Concentus.OggfileThe Ogg container layer for Concentus.1.0.7MIT
CommunityToolkit.Mvvm8.4.0MIT
CommunityToolkit.WinUI.Controls.Primitives8.2.251219MIT
CommunityToolkit.WinUI.Extensions8.2.251219MIT
CommunityToolkit.CommonPulled in by the CommunityToolkit packages above.MIT
AK.Toolkit.WinUI3.ScrollBarExtensions1.1.0MIT
Microsoft.Data.Sqlite8.0.13MIT
Microsoft.Extensions.DependencyInjection8.0.1MIT
SQLitePCLRawcore / batteries_v2 / provider.e_sqlite3, pulled in by Microsoft.Data.Sqlite.Apache-2.0
SQLiteThe e_sqlite3 native library, distributed with SQLitePCLRaw.Public domain
Inno SetupBuilds the installer. Simplified Chinese, Traditional Chinese and Greek use Inno Setup’s unofficial language files.6Inno Setup Licence

TagLibSharp and SoundTouch.Net are shipped as separate DLLs in the installation directory. The build does not use single-file publishing, does not enable IL trimming, and does not obfuscate any third-party assembly.

To use your own build of either library, compile it and overwrite the DLL of the same name in the installation directory.

CX's Music for Android

组件版本授权
net.jthink:jaudiotaggerVersion taken from the library’s own source headers; its POM records only “LGPL” without a version.3.0.1LGPL-2.1-or-later
androidx.*core-ktx 1.16.0, core-splashscreen 1.0.1, appcompat 1.7.0, documentfile 1.0.1, activity-compose 1.10.1, compose-bom 2024.12.01, material-icons-extended 1.7.6, navigation-compose 2.8.9, lifecycle 2.9.0, room 2.7.1, datastore-preferences 1.1.1, media3 1.5.1, hilt-navigation-compose 1.2.0.Apache-2.0
com.google.dagger:hilt-android2.56Apache-2.0
io.coil-kt:coil-compose2.7.0Apache-2.0
org.jetbrains.kotlinx:kotlinx-coroutines-android1.9.0Apache-2.0
Kotlin standard library2.1.20Apache-2.0
com.squareup.okhttp3:okhttpPulled in by Coil. Its embedded Public Suffix List data file is under MPL-2.0.Apache-2.0
com.squareup.okio:okioPulled in by OkHttp.Apache-2.0
jakarta.inject:jakarta.inject-apiPulled in by Hilt/Dagger. Jakarta Dependency Injection is a trademark of the Eclipse Foundation.Apache-2.0

On Android, jaudiotagger is processed by R8 and merged into the APK’s classes.dex; it does not exist as a separate shared library, so it cannot be swapped out in place. The R8 configuration keeps the library whole — it is neither shrunk nor obfuscated.

The relinking route on this platform is rebuilding: the entire application source is published under the MIT Licence, so you can change the jaudiotagger version in app/build.gradle.kts (or substitute your own build of it) and run the standard Gradle release task. No step of that build is private.

Full licence texts: the GNU LGPL v2.1, the Apache Licence 2.0, and the MIT Licence. Each application also carries its own THIRD-PARTY-NOTICES file in its source repository; this page is generated from the same dependency declarations and is checked against them at build time.