简成 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 压缩后的可执行程序(含商业程序),前提是:
- 必须用完全未修改的 UPX 版本压缩(官方预编译版或官方源码自编译版)
- 嵌入的 stub 必须与官方未修改版逐字节相同
- 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 开源 |
| UPX | GPL+特殊例外 | 允许(未修改 UPX 压缩) | 无(stub 义务由 UPX 作者豁免) |
| wxWindows 3.1 | LGPL+例外 | 允许(自有条款) | 库本身修改需回呈 |
三份均属”随包分发二进制无需开源自家代码”的友好类型,供应商合规负担低。