磐基PaaS平台MongoDB组件SSPL许可证风险与合规性分析(下)
#作者:任少近
3.7.条款六:非源代码形式分发
官方原文如下:
原文关键部分:“You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License.”
-
解读:“您不得对本许可证授予或确认的权利施加任何额外限制。”
-
技术限制,
禁止行为举例:
使用DRM加密阻止用户修改代码
通过代码混淆阻碍反向工程 -
法律条款限制
违规条款类型 | 示例 | 违反依据 |
---|---|---|
专利附加条款 | “用户需支付专利费” | 违反SSPL条款14专利授权 |
商业使用限制 | “禁止用于商业产品” | 违反条款2基础权限 |
再授权限制 | “禁止二次分发” | 直接违反条款4-5 |
- 合规操作框架表
- 云服务特殊要求:
即使未主动添加限制,未开源完整服务栈即可能被认定为"隐性限制"(违反条款6+12)。
示例:提供MongoDB实例但不开源自研的自动扩缩容控制器,即违规。
3.8.条款七:附加条款规则
官方原文如下:
原文关键部分: “You may place additional permissions on material, added by you to a covered work, provided that such additional permissions are clearly described as optional additions to this License.”
- 解读:“您可以对添加到涵盖作品中的材料(由您添加)附加额外权限,前提是这些权限明确声明为本许可证的可选附加条款。”
- 允许添加6类补充条款(免责/署名/商标等)
- 新增专利赔偿要求
- 合规行为:
- 贡献者可在自己新增的代码上附加额外宽松权限(如允许专利商用、豁免署名要求等)。
- 违规行为:
- 附加条款 不得限制用户的基本权利(如运行、修改、分发)
- 附加条款 不得与SSPL冲突(如要求闭源或额外收费)
3.9.条款八:终止条款
官方原文如下:
原文关键部分:“Your rights under this License will terminate automatically if you fail to comply with any of its terms.”
1、自动终止条件:
- 解读:“如果您违反本许可证的任何条款,您依据本许可证获得的权利将自动终止。”
- 关键点:自动性(automatically):无需MongoDB Inc. 额外通知,违约即失效。
2、终止后的义务
原文关键部分:“You may not convey a covered work if you are in violation of this License, unless you come into compliance within 30 days after becoming aware of the violation.”
- 解读:“若您违反本许可证,不得传递涵盖作品,除非您在意识到违规后的30天内恢复合规。”
- 关键点:
30天整改期:仅适用于“意识到违规后”(实际发现或应发现)。
禁止传递(convey):包括分发、SaaS提供等所有SSPL定义的“传递”行为。
3、专利授权终止
原文关键部分:“Any patent licenses granted to you under this License shall terminate as of the date such violation becomes known to you.”
- 解读:“根据本许可证授予您的任何专利许可,应在您知晓违规之日终止。”
- 关联条款:
条款14(Patents):专利授权与SSPL绑定,违约即丧失专利保护。
3.10.条款九:自动接受条款
官方原文如下:
原文关键部分:“You are not required to accept this License in order to receive or run a copy of the Program. However, nothing else grants you permission to modify or convey the Program or its derivative works. These actions are prohibited by law if you do not accept this License.”
- 解读:“您无需为了接收或运行本程序的副本而接受本许可证。然而,除非您接受本许可证,否则任何其他方式均无权修改或传递本程序或其衍生作品。若您不接受本许可证,这些行为在法律上是被禁止的。”
-
接受许可证的非强制性(第一句)
“无需接受即可运行”:
用户可自由下载、安装、运行SSPL软件(如MongoDB社区版),无需主动签署或点击同意协议。
法律依据:符合开源软件的基本使用自由。 -
修改/分发的授权依赖性(第二句)
“无许可证则无权修改/分发”:
若用户拒绝遵守SSPL(如删除许可证文件),则:
修改代码:构成版权侵权(未经授权改编);
分发(含SaaS):违反著作权法。
法律依据:默认受版权法保护,SSPL是唯一授权通道。
3.11.条款十:下游授权传导
官方原文如下:
原文关键部分: “Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify, and propagate that work, subject to this License.”
- 解读:“每次您传递涵盖作品时,接收方将自动从原始许可方处获得运行、修改和传播该作品的许可,但必须遵守本许可证。”
-
自动授权机制(核心原则)
“自动接收许可”:
下游用户(如二次分发对象、云服务客户)无需签署协议,只要获得SSPL软件副本,即自动获得原始许可方(如MongoDB Inc.)授予的SSPL权利。
法律依据:继承自GPLv3§10的“自动授权”设计,确保自由传播链不断裂。 -
权利范围
授予下游用户的权限包括:
运行:无限制使用;
修改:允许衍生创作;
传播:可继续分发(需遵守SSPL全部条款)。 -
约束条件
“Subject to this License”:
下游用户必须同样遵守SSPL所有条款(如条款4的源代码提供、条款12的云服务开源等)。
3.12.条款十一:专利授权
官方原文如下:
原文关键部分:“Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor’s essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.”
-
解读:“每位贡献者向您授予非排他性、全球性、免版税的专利许可,许可范围限于贡献者版本的制作、使用、销售、许诺销售、进口及其他运行、修改和传播行为,且仅涉及其必要专利权利要求。”
-
专利授权范围
- 专利授权合规
- 关键说明
1、专利"传染性"边界
SSPL专利授权仅覆盖与SSPL代码直接相关的技术,不延伸至:
用户独立开发的功能模块
通过标准接口(如REST API)调用的外部服务
2、云服务特殊要求
即使专利授权有效,若未遵守条款13(开源服务栈),仍构成整体违规
3.13.条款十二:第三方权利保留
官方原文如下:
原文关键部分:“If the Program as you received it contains material from a third party that is not under this License, you may remove that material if authorized by the third party, but must otherwise comply with the terms of this License with respect to your own contributions.”
- 解读:“如果您收到的程序包含不受本许可证约束的第三方材料,在获得第三方授权的情况下您可以移除该材料,但必须就您自身的贡献遵守本许可证条款。”
- 条款法律解释
3.14.条款十三:服务提供条款
官方原文如下:
原文关键部分: “If you make the functionality of the Program available to third parties through remote network interaction, you must make the Corresponding Source available under this License.”
- 解读:当通过远程网络交互(如API/SaaS)提供SSPL程序功能时,必须按SSPL要求公开完整对应源代码(含管理工具链)。
- 全栈开源要求:提供云服务时必须公开
- 将传统Copyleft的"分发触发"扩展为"服务触发",覆盖所有SaaS/云服务场景
- 网络下载义务:源码需免费提供且持续可用
- 要求开源整个服务栈(而不仅是修改部分)
- 合规行为:
- 容器镜像分发,属于传统分发(适用条款4-5)
- 违规行为:
- 公有云DBaaS,用户通过API访问核心功能
- API网关封装,网关逻辑构成服务栈部分
3.15.条款十四:许可证版本更新
官方原文如下:
原文关键部分: “MongoDB, Inc. may publish revised and/or new versions of the Server Side Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.”
- 解读:“MongoDB, Inc. 可能不时发布SSPL的修订版和/或新版本。新版本将与本版本spirit一致,但可能在细节上有所差异以解决新问题。”
- 版本选择权
- 若声明"SSPL-1.0 or later"可选用新版本
- 未声明版本则默认锁定v1.0
- 代理授权机制:允许指定代理机构审批新版本
- 合规行为:
- 版本声明规范(源码根目录)
SPDX-License-Identifier: SSPL-1.0
或SPDX-License-Identifier: SSPL-1.0 OR SSPL-2.0
- 版本声明规范(源码根目录)
- 违规行为:
- 擅自将"SSPL-1.0 ONLY"项目升级到新版本
法律边界
3.16.条款十五:免责声明
官方原文如下:
原文关键部分:“The Program is provided ‘as is’, without warranties of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement.”
- 解读:“本程序按’原样’提供,不附带任何明示或默示的担保,包括但不限于适销性担保、特定用途适用性担保和不侵权担保。”
- 无担保原则
- 全球适用:但需符合当地消费者保护法最低要求
法律效力维度
3.17.条款十六:责任限制
官方原文如下:
原文关键部分. “In no event shall any contributor be liable for any damages, including but not limited to lost profits or data, whether in an action of contract, tort or otherwise, arising out of the use or inability to use the Program.”
- 解读:“在任何情况下,任何贡献者均不对因使用或无法使用本程序导致的损害(包括但不限于利润损失或数据丢失)承担责任,无论是合同诉讼、侵权诉讼还是其他诉讼形式。”
- 赔偿上限:法律强制要求 法定最低责任
法律效力维度
3.18.条款十七:免责条款解释
官方原文如下:
原文关键部分. “If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program.”
- 解读:“如果前述免责声明和责任限制条款无法根据其条款产生当地法律效力,审查法院应适用最接近于完全免除程序相关民事责任的当地法律。”
- 解释优先级:SSP免责条款,到本地法律,再到近似解释原则
- 收费服务例外:付费版本可另行约定责任
法律效力解释
4.SSPL许可证对于磐基PaaS平台MongoDB的使用建议
4.1.可使用内部系统
允许:作为测试/生产环境数据库
允许:基于MongoDB API开发企业应用
4.2.有限度的云服务
允许:提供托管实例(需满足):
不能提供自动扩缩容/多租户管理等高级功能
保持原始社区版功能不变
4.3.禁止使使用(高风险)
不可将MongoDB作为托管云数据库服务提供给外部客户使用
4.4.禁止的商业化行为
4.5.禁止的技术规避手段
- 不可通过以下方式规避传染:
使用API网关包装MongoDB服务
将核心功能拆分为微服务架构
通过消息队列解耦交互
开发协议转换层 - 禁止故意移除必要组件:
删除监控接口逃避开源
禁用管理API规避责任
通过配置限制基础功能
4.6.运维红线
- 禁止实现的运维功能:
自动化弹性扩缩容系统
智能故障自愈机制
可视化慢查询分析平台
统一权限管理中心
监控采集边界 - 禁止收集的数据:
查询执行计划详情
索引使用模式分析
用户行为轨迹日志
业务敏感指标
4.7.总结:
1、基于SSPL开源协议的MongoDB社区版
在企业内部环境中(包括开发、测试及生产环境)的使用是完全合规的。
2、通过磐基PaaS平台对外提供MongoDB社区版服务
法律风险(SSPL第13条)
- “全栈开源"传染性,必须开源:
管控平台代码(如集群管理、监控、备份系统)
与MongoDB集成的运维工具(如扩缩容)
即使仅通过API封装,也可能被认定为"服务提供” - 商业授权冲突
SSPL明确禁止通过技术服务协议规避开源义务
收取服务费但未开源全栈代码,可能面临法律追责
针对商业化服务场景,建议采用以下合规路径: - 直接采购MongoDB企业版商业授权
- 选择MongoDB官方OEM合作方案(参考阿里,腾讯五年一签)
总结成表格如下:
如果通过PaaS平台下发使用,结合以上情况,法律风险太高,不建议使用。
5.SSPL的链接:
SSPL许可证官方链接:
https://www.mongodb.com/legal/licensing/server-side-public-license