简成 Volume 包第三方许可证补充:Ms-PL / UPX / wxWindows

共聚焦项目位移台供应商(简成)Volume 软件包 license/ 目录内剩余三份第三方许可证的英文原文(均为文本型 PDF)。属于供应商交付物合规随附文件,非自产知识;与同目录已有的 Boost-License-1.0-简成Volume组件、zlib-License-English-简成Volume组件、MARS-1.0-License、CryptoPP-5.6-License、OpenSSL-1.0-License 合并构成 Volume 包第三方许可完整清单。

1. Microsoft Public License (Ms-PL),2 页

微软的弱 copyleft 许可证,核心结构:

  • 授权:每位贡献者授予非独占、全球、免版税的版权许可(复制/衍生/分发)+ 专利许可(制造、使用、销售、进口)
  • 条件与限制:
    • 不授予商标/名称/logo 使用权
    • 专利报复条款:若你对某贡献者就该软件提起专利侵权诉讼,该贡献者给你的专利许可自动终止
    • 分发任何部分须保留全部版权/专利/商标/署名声明
    • 源码形式分发必须以 Ms-PL 本身发布并附许可证全文;编译/目标代码形式可按”与本许可证兼容的许可”分发
  • 按”as-is”提供,排除默示担保(适销性、特定用途、非侵权)
  • 定位对比:比 MIT/BSD 强一档(源码分发必须开源),比 GPL 弱(允许二进制闭源分发)

2. UPX License(The Ultimate Packer for eXecutables),3 页

GPL v2+ 基础上的特殊例外模式,是”GPL 工具产物是否被传染”的经典样本:

  • UPX/UCL 本体 GPL;嵌入被压缩程序的 stub 视为与 UPX “特殊形式的链接”,GPL 理论上仍然适用
  • 特殊例外:允许免费使用与分发 UPX 压缩后的可执行程序(含商业程序),前提是:
    1. 必须用完全未修改的 UPX 版本压缩(官方预编译版或官方源码自编译版)
    2. 嵌入的 stub 必须与官方未修改版逐字节相同
    3. stub 中的解压代码只能在启动解压时被未修改 stub 使用,程序本体不得读取/调用 stub 代码
  • 修改 stub(如删版权串、做不可解压程序)立即撤销使用权
  • 注解要点:UPX 不是软件保护工具——要求原版压缩是为了保证任何用户都能解压,“不可解压的程序天然可疑”;修改版 UPX 只能用于 GPL 兼容程序
  • 合规启示:商业软件用 UPX 压缩发布是安全的,但严禁”魔改 UPX 当加壳保护用”

3. wxWindows Library Licence 3.1,1 页

LGPL 派生许可证(Julian Smart、Robert Roebling 等,1998-2005),本质 = LGPL + 一条扩展例外:

  • 在 wxWindows Library Licence(v3.1 或后续版本,可自选)基础上,允许你以自己选择的条款使用、复制、链接、修改并分发基于该库的二进制目标代码版本——即闭源链接 wxWidgets 发布二进制完全合法
  • 若你把 GPL/LGPL 代码复制进本库,例外不适用,须删除例外声明以免误导
  • 你对自己的修改是否适用例外有选择权,不适用须删除例外声明
  • 该条款与 wxWidgets 现行 “wxWindows Library Licence, Version 3”(LGPLv3+例外)一脉相承

合规小结(Volume 包视角)

许可证类型闭源二进制分发源码分发义务
Ms-PL弱 copyleft允许(兼容许可即可)必须 Ms-PL 开源
UPXGPL+特殊例外允许(未修改 UPX 压缩)无(stub 义务由 UPX 作者豁免)
wxWindows 3.1LGPL+例外允许(自有条款)库本身修改需回呈

三份均属”随包分发二进制无需开源自家代码”的友好类型,供应商合规负担低。