当云服务厂商将包含开源源码的解决方案以SaaS(Software-as-a-Service)形式对外提供时,其法律义务边界与传统软件分发场景存在显著差异,但并非完全豁免。这种模式下,厂商虽未向用户交付可执行二进制文件或源代码副本,却仍可能因技术实现方式、开源许可证类型及司法实践演进而触发额外的合规风险,尤其在GPL系列(含GPLv2、GPLv3、AGPLv3)、LGPL、MPL等具有“传染性”或“交互式网络使用”条款的许可证约束下,风险尤为突出。首先需明确:SaaS本身不构成《著作权法》意义上的“分发”(distribution),这是多数主流司法辖区(如美国第九巡回法院在GNU General Public License v. Cisco Systems案中的倾向性认定、欧盟法院在UsedSoft v. Oracle案中对“复制权”与“传播权”的区分)所普遍采纳的技术中立立场。AGPLv3第13条明文规定:“若修改后的程序通过网络向公众提供服务,则必须向用户提供对应源代码”,该条款正是为填补SaaS场景下的授权漏洞而设——它将“网络服务提供”拟制为一种新型“分发”行为,使云厂商无法仅凭“未交付副本”抗辩免责。实践中,若某SaaS平台深度集成AGPL许可的数据库(如MongoDB早期版本)、Web框架(如某些AGPL变体的CMS内核)或分析引擎,且允许终端用户通过API或界面实质性操作、定制或扩展其功能,则极可能被权利人主张触发源代码提供义务。
更复杂的风险来自技术实现层面的模糊地带。例如,云厂商常采用容器化部署(Docker/Kubernetes)并预装开源组件,虽用户无法直接访问宿主机或镜像层,但若其SaaS界面暴露了对底层开源模块的配置入口(如自定义SQL查询引擎参数、上传Python插件调用TensorFlow模型),则可能被解释为“交互式使用”,从而激活AGPL的源码披露要求。部分厂商将开源项目二次开发后封装为微服务,再通过内部RPC调用协同工作;此时若微服务间存在GPL类许可证组件,且调用关系构成“动态链接”或“紧密耦合”(如共享内存、强类型接口、不可分割的业务逻辑),自由软件基金会(FSF)一贯主张此类架构仍属“衍生作品”,须整体遵循GPL条款——尽管尚未有终审判例支持该观点,但德国汉堡地方法院在2021年一宗涉及嵌入式Linux设备的判决中,已认可“功能依赖性”可作为判断衍生性的辅助标准,为云环境类推适用埋下伏笔。
授权义务的延伸还体现于责任主体转移困境。云厂商常通过多层分包构建技术栈:IaaS层采购OpenStack,PaaS层集成Kubernetes发行版(如Rancher),SaaS层再嵌入Apache Flink流处理引擎。各层级供应商的许可证声明未必一致,且上游组件可能存在许可证冲突(如GPLv2与Apache 2.0兼容性问题)。一旦发生合规争议,厂商难以仅以“上游提供者承诺合规”免责——美国联邦贸易委员会(FTC)在2023年《开源软件供应链安全指南》中明确指出:“最终服务提供者负有尽职调查义务,须验证全栈许可证兼容性并留存审计证据”。这意味着厂商需建立持续性合规机制:不仅审查初始集成时的许可证文本,还需监控上游项目许可证变更(如Redis Labs将Redis模块从BSD改为SSPL引发的连锁反应)、社区分支的授权状态(如MariaDB对MySQL GPL代码的衍生处理),甚至GitHub上非官方fork仓库的引用风险。
实务中,规避策略亦存局限。部分厂商尝试采用“隔离架构”:将AGPL组件部署于独立服务节点,仅通过HTTP REST接口与SaaS前端通信,并在API文档中声明“本服务不包含AGPL代码”。但该设计若导致用户实际获得与AGPL程序等效的功能控制权(如通过API完整调用PostgreSQL的PL/pgSQL存储过程),FSF仍可能主张其构成“规避技术措施”,违反AGPL第10条反规避条款。更严峻的是,随着欧盟《数字市场法案》(DMA)与《网络安全韧性法案》(CYBER RESILIENCE ACT)落地,监管机构正将开源合规纳入数字服务基础设施评估范畴,违规可能导致服务下架或高额罚款。因此,云厂商亟需构建三层防御体系:技术层实施许可证扫描自动化(集成FOSSA、Black Duck等工具链)、合同层在SLA中嵌入开源合规保证条款、治理层设立跨部门开源合规委员会,定期开展许可证影响评估(License Impact Assessment, LIA)。唯有如此,方能在技术创新与法律确定性之间取得可持续平衡。
