近期公司收到来自一些docker代理商委托的律所邮件,大意是侵犯了docker相关权力,大意如下:
XX法务部:
各位,Docker Desktop是 Docker 的整合版,集成了Docker Engine、Docker Compose、Docker CLi、Docker Desktop UI、 Docker Kubernetes等在内的所有组件,贵方服务器端使用的相关版本都是 Docker Desktop是 的一项组件,自 201年 8 月 31 日起,当企业员工人数超过 250 人或年收入超过 1000万美元的公司中,将Docker 用于商业用途则需要Docker对 Docker 进行付费订阅,并需要把所有在用的Docker 授权全部转为商业授权。 Docker目前的合规来源只有通过Docker Desktop,那么现在企业内部使用的所有 Docker,当企业实体人数达到 250、人以上或年营收达到 1000万美金,需要把所有生产环境内的Docker Desktop...
从这个邮件中,发信人典型的信息点堆砌、偷换概念,从实际应用角度根本立不住脚: 邮件就是把官方说的安装docker引擎途径之一,偷换成唯一,实际上也不可能是唯一途径。linux服务器上就无法安装docker desktop,如果这个是docker引擎的唯一安装方式,那就意味这linux服务器无法安装docker引擎了。
实际上我也查询了一些关于docker授权相关信息:
1、docs.docker.com/engine/#lic…
Licensing
Commercial use of Docker Engine obtained via Docker Desktop within larger enterprises (exceeding 250 employees OR with annual revenue surpassing $10 million USD), requires a paid subscription. Apache License, Version 2.0. See LICENSE for the full license.
指通过 Docker Desktop 获取 Docker Engine,大型企业才会涉及到侵权,如果我不使用 Docker Desktop ,那么就没有这个侵权风险+
2、我也咨询了豆包的意见:
商业公司使用 docker-ce(Docker Community Edition)时,需重点关注其开源许可证条款带来的法律风险,核心风险源于 docker-ce 采用的 Apache License 2.0(ALv2) 及部分组件的许可证兼容性问题。以下从许可证条款、潜在风险场景及规避建议三方面详细分析:
一、核心许可证:Apache License 2.0(ALv2)的关键约束
docker-ce 的主体代码基于 Apache License 2.0 发布,这是一种宽松的开源许可证,允许商业使用、修改和分发,但有几项核心约束需严格遵守:
-
保留版权声明和许可证文本
- 若公司使用
docker-ce的原始代码(未修改),需在软件的 “副本或相关文档” 中保留原始版权声明(如 Docker, Inc. 的版权信息)和完整的 ALv2 许可证文本,不得删除或修改。 - 风险:未保留声明可能被认定为 “违反许可证义务”,面临版权方的合规追责(如要求补充声明、停止使用等)。
- 若公司使用
-
修改代码的 “衍生作品” 需明确标注修改
- 若公司修改了
docker-ce的源代码(如定制化功能、修复漏洞),形成 “衍生作品”,需在衍生作品中 明确标注修改部分(如 “基于 Docker CE 修改”),且衍生作品需同样采用 ALv2 许可证分发。 - 风险:若将修改后的
docker-ce作为商业产品对外分发(如嵌入自有软件销售),未标注修改或未按 ALv2 许可衍生作品,可能构成版权侵权。
- 若公司修改了
-
专利授权与追责限制
- ALv2 包含 “专利授权条款”:版权方授予用户免费使用其专利的权利,但如果用户起诉版权方或其他用户 “侵犯专利”,则该专利授权自动终止。
- 风险:若公司就
docker-ce相关技术提起专利诉讼,可能失去使用docker-ce专利的授权,导致无法继续使用该软件。
-
不提供担保,免责条款
- ALv2 明确规定 “软件按‘现状’提供,不提供任何明示或暗示的担保”(如功能完整性、适用于特定用途)。
- 风险:若因
docker-ce的漏洞导致公司业务损失(如数据泄露、服务中断),无法通过法律途径向 Docker 原版权方索赔。
二、额外风险:docker-ce 依赖组件的许可证兼容性
docker-ce 包含大量第三方依赖组件(如 runc、containerd、libnetwork 等),这些组件可能采用不同的开源许可证(如 MIT、GPLv2、BSD 等),部分许可证与商业使用存在冲突:
-
GPL 系列许可证的 “传染性” 风险
- 例如,
docker-ce早期版本依赖的部分内核模块或工具可能基于 GPLv2 许可证,而 GPLv2 具有 “传染性”:若公司修改了这些 GPLv2 组件并将其与docker-ce整合为商业产品对外分发,可能需公开修改后的源代码,否则违反 GPL 条款。 - 现状:
docker-ce核心组件(如 runc 用 Apache 2.0,containerd 用 Apache 2.0)已尽量规避 GPL 传染性,但需注意:若公司自行添加 GPL 许可的插件或模块,可能触发 GPL 条款约束。
- 例如,
-
许可证条款冲突
- 不同许可证的条款可能存在冲突(如某组件要求 “禁止商业使用”,而 ALv2 允许商业使用),若公司未排查依赖组件的许可证,可能无意中违反某一许可证的约束。
三、商业公司的合规建议:规避法律风险
为安全使用 docker-ce,商业公司需从 “使用场景”“合规流程” 两方面采取措施:
1. 明确使用场景,针对性合规
-
场景 1:内部使用(不对外分发)
- 风险最低:仅在公司内部部署、使用
docker-ce(包括修改后内部使用),无需公开源代码,只需保留版权声明和许可证文本,避免删除原始声明即可。
- 风险最低:仅在公司内部部署、使用
-
场景 2:将
docker-ce作为底层引擎集成到商业产品-
需严格区分 “原始代码” 和 “衍生作品”:
- 若仅调用
docker-ce的 API 或作为独立组件打包(未修改源代码),需在产品文档中声明 “使用了 Docker CE,基于 Apache License 2.0”,并附上完整许可证文本; - 若修改了
docker-ce源代码,需在产品中明确标注修改内容,并确保衍生作品按 ALv2 许可分发(允许商业销售,但需提供源代码获取途径)。
- 若仅调用
-
-
场景 3:对外提供基于
docker-ce的 SaaS 服务- 若通过网络提供服务(如基于
docker-ce的容器云平台),ALv2 不要求公开源代码,但需在服务条款中声明使用了docker-ce及相关许可证,同时避免虚假宣传(如声称 “完全自主研发”)。
- 若通过网络提供服务(如基于
2. 建立合规流程,降低风险
- 梳理依赖组件许可证:使用工具(如 FOSSology、Black Duck)扫描
docker-ce及其依赖的许可证,确认是否包含 GPL 等强传染性许可证,避免整合冲突组件。 - 保留版权与许可证文件:在部署
docker-ce的服务器、分发的安装包或相关文档中,完整保留原始版权声明和 ALv2 许可证文本(可放在/usr/share/doc/docker-ce/等目录)。 - 规范修改流程:若需修改
docker-ce源代码,需记录修改内容并在衍生作品中明确标注;若修改涉及 GPL 组件,需评估是否接受 “公开源代码” 的要求。 - 购买商业支持(可选) :若对合规性存疑,可选择 Docker 商业版(如 Mirantis Container Runtime)或第三方商业支持服务,获取合规指导和法律保障。
总结
商业公司使用 docker-ce 的核心法律风险来自 Apache License 2.0 的条款约束 和 依赖组件的许可证兼容性,而非 “禁止商业使用”——ALv2 明确允许商业场景,只要遵守 “保留声明、标注修改、合规分发” 等要求,风险可控。
建议公司根据自身使用场景(内部 / 外部、修改 / 未修改)制定合规流程,重点排查依赖组件许可证,避免因疏忽导致侵权。对于高风险场景(如大规模商业分发),可考虑商业版以降低法律不确定性。