Files
Velix-MPV-Core/LICENSE_AUDIT.md
T

3.8 KiB
Raw Blame History

License Audit

审计基线:MPV 182fa6ca49f455cadb884858f386e2f00540aeb7。本文件是工程审计记录,不构成法律意见。

当前结论

仓库分离不改变链接后二进制的许可证。第一版按 MPV 默认 GPLv2+ 口径管理,除非后续对 MPV、FFmpeg 及全部链接依赖完成 LGPL-only 的逐文件、逐选项和链接方式审计。MPV 自身 Copyright 明确说明 -Dgpl=false 只是排除已知 GPL-only 文件的辅助开关,并不自动产生 LGPL 授权结论。

Phase 0 尚未生成二进制,因此“最终实际链接库”尚不存在。下表区分计划必需与候选依赖;Phase 1 必须以 link map、readelf -d 和构建配置替换“预计”字段。

组件 许可证 计划链接 必需 GPL-only / 风险 依据与状态
MPV 默认 GPL-2.0-or-later;满足完整条件时可 LGPL-2.1-or-later 动态 libmpv 优先 是 默认构建含 GPL-only 文件 本仓库 Copyright、LICENSE.GPL、LICENSE.LGPL
FFmpeg 默认 LGPL-2.1-or-later;--enable-gpl 后 GPL;--enable-nonfree 不可再分发 动态优先 是 外部库和 configure 选项可改变整体许可证 FFmpeg LICENSE.md;Phase 1 锁 commit
libplacebo LGPL-2.1-or-later(待锁定版本复核原文) 静态或动态待定 是(当前 MPV Meson 强依赖) 静态链接影响 LGPL 重新链接义务 MPV meson.build 要求 >=7.360.1
libass ISC(待锁定版本复核原文) 动态优先 是 还会引入 FreeType、HarfBuzz、FriBidi MPV meson.build 要求 >=0.12.2
zlib Zlib SDK 动态 libz.so 优先 可选但建议启用 低 本机 API 24 SDK 提供头文件和库
TLS 实现 OpenSSL 3.x 为首选候选,Apache-2.0 动态优先 HTTPS 必需 FFmpeg GPLv2 模式与 OpenSSL 组合需单独复核;不得同时启用 nonfree 后分发 尚未锁版;Harmony libnet_ssl.so 不能直接当作 FFmpeg TLS backend
FreeType FTL 或 GPL 双许可证 由 libass 引入 字幕必需 选择 FTL 口径并保存原文 NEED VERIFY at pin
HarfBuzz MIT 由 libass 引入 复杂文本必需 低 NEED VERIFY at pin
FriBidi LGPL-2.1-or-later 由 libass 引入 双向文本必需 动态链接优先 NEED VERIFY at pin
iconv 系统 libc 或独立实现许可证 系统符号优先 字符集处理 若引入 GNU libiconv,需审核 LGPL Phase 1 探测
libcurl curl license 默认关闭;网络交给 FFmpeg 否 增加 TLS/HTTP 依赖面 MPV -Dlibcurl=disabled
uchardet MPL-1.1 / GPL-2.0-or-later / LGPL-2.1-or-later 多许可证 默认关闭 否 需选择许可口径 NEED VERIFY at pin
MuJS ISC 默认关闭 否 低 JS 功能首版不需要
HarmonyOS Native SDK stubs SDK/EULA 与各头文件声明并存 系统动态库 是 发行许可由 HarmonyOS SDK 条款约束 需在发版前由法务核查 SDK redistributable 边界

MPV GPL-only 范围

MPV Copyright 当前列出 JACK、OSS、DVB、CDDA、DVD、CACA、legacy Direct3D、VAAPI VO、VDPAU、X11/Xv 等 GPL-only 文件。HarmonyOS 首版均不需要,但这不等于整个产物自动成为 LGPL。

发版门禁

  1. 固定全部源码 commit、构建选项、静态/动态链接方式。
  2. 保存 FFmpeg configure 输出与 config.h,确认未启用 nonfree,并列出 GPL/version3 状态。
  3. 保存 MPV meson configure 输出,逐项确认 GPL-only 文件是否进入产物。
  4. 用 llvm-readelf -d、link map 和 archive 成员清单核对所有实际链接库。
  5. 补齐许可证正文、版权声明、源码获取方式、修改说明及 LGPL 重新链接材料。
  6. 商业发布前完成法务复核;未完成前不得宣称“LGPL-only”或“闭源可安全链接”。