资讯动态

ZeroTierOne 的 MPL-2.0 许可怎么用不踩线:面向集成者与二次开发者的完整指南

发布时间:2026/9/10 12:40:38 来源:尧图企业网站定制
ZeroTierOne 的 MPL-2.0 许可怎么用不踩线面向集成者与二次开发者的完整指南【免费下载链接】ZeroTierOneA Smart Ethernet Switch for Earth项目地址: https://gitcode.com/GitHub_Trending/ze/ZeroTierOne你正准备把 ZeroTierOne 的虚拟网络引擎集成进产品法务给你一周时间给出合规结论闭源行不行改了代码要不要公开这篇文章基于 LICENSE-MPL.txt 全文直接回答 ZeroTierOne MPL-2.0 合规里的三个问题——能不能用、改了怎么办、发布会不会违规。先定位MPL-2.0 在自由光谱的哪个位置先看两个极端MIT / Apache-2.0最宽松一端改完之后可以闭源、换许可只要保留原声明即可。GPL-3.0最严格一端一旦修改整个衍生程序都必须以 GPL 发布。MPL-2.0 站在中间但有自己的逻辑它按文件而不是按程序划分义务。你实际改动过的源文件许可证 §1.10 称之为 Modifications必须继续以 MPL-2.0 发布你新写的文件、你链接进去的其他代码都不受牵连。这个设计在本仓库的目录布局里能看到实体根目录 LICENSE.txt 一句话写明node/、osdep/、service/ 等全部核心代码适用 MPL-2.0ext/ 下的第三方代码保留原始许可nonfree/ 下的控制器代码则放在另一套非自由许可下。免费部分与非免费部分被物理隔离——项目自己就是这套许可的典型用法。免费拿到手的权利免费使用、修改、分发§2.1(a) 授予全球范围、免版税、非独占的许可。人话版你可以把它编进自家产品去卖不需要付任何授权费。附带专利许可§2.1(b) 把每位贡献者贡献部分所覆盖的专利一并授权给你。你使用到的这部分代码不用担心被贡献者以专利起诉。可以闭源也可以与 GPL 混用§3.3 允许你把 Covered Software 与自己的代码组合成 Larger Work整体按你自己选的许可发布如果另一部分是 GPL/LGPL/AGPL 作品§3.3 还允许你按 Secondary License 双重分发。动代码、发版本时必须履行的义务改过的文件必须留在 MPL 下§3.1 要求所有以源码形式的分发含你的 Modifications都必须按 MPL-2.0 进行并告知接收方适用哪个许可、如何获取许可文本。发二进制就要让源码可得§3.2 要求分发 Executable Form 时以合理方式、及时提供对应源码收费不得超过分发成本。文件头声明不能删§3.4 禁止删除或改动源码中的许可与版权声明。看一眼 node/Node.cpp 开头那几行 MPL 声明——改文件时不动它就是最省事的做法。复制出来的新文件也算数注意 §1.10(b)新文件只要包含了 Covered Software也按 Modifications 对待。把某段 MPL 代码抄进你新建的文件这个新文件同样归 MPL。只要改动留在公司内部、不分发上述义务根本不会触发——触发点是你把软件交到外部的那一刻。绝对不能碰的红线⚠️ 这四条踩中任何一条后果都不是重新打包能解决的删掉文件头的 MPL 声明。§2.7 写明 3.1–3.4 是许可授予的前提条件删声明等于自我剥夺许可此时你继续分发就是纯侵权而不是不合规分发。就专利起诉贡献者。§5.2 的反制条款你指控 Covered Software 侵犯你的专利所有贡献者给你的专利授权同时终止。拿商标蹭背书。§2.3 末尾明确许可不含任何商标、标识权利。用 ZeroTier 的名义或图标宣称官方认证属于商标侵权而非许可问题。商用 nonfree/ 下的控制器。nonfree/ 里的代码适用 nonfree/LICENSE.md 的 source-available 许可商业使用必须另行购买授权MPL 的那套规则管不到它。三种角色推演你的决策路径角色第 1 步第 2 步第 3 步个人项目集成者原样引入 agent不改代码无公开源码义务只保留文件原有 MPL 头宣传时不使用 ZeroTier 名称与图标企业内部改造者先记录将改动的 node/、osdep/ 文件清单改后保留文件头并追加修改说明版本对外交付时附上完整源码内部版可留档二次开发转售者把自研新文件与MPL 修改文件分开管理随二进制附源码获取方式§3.2需与 GPL 产品并存时确认未添加 Exhibit B 的 Incompatible With Secondary Licenses 声明发布前自查清单✅ 照下面六步走一遍即可每步都指向可核对的文件对比官方版本列出全部修改过的文件确认每个修改文件的头部与 one.cpp 的模板一致/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. ... (c) ZeroTier, Inc. */ /* Modified: 2026-09-01, 你的名字/公司, 改动说明 */随分发包附上完整 LICENSE-MPL.txt以及 LICENSE.txt 中关于核心代码、ext/、nonfree/ 的许可划分说明。纯二进制发布时附下载链接或可按不低于成本价索取源码的声明对应 §3.2。检查 MPL 文件里没有混入 GPL 代码确需组合的走 §3.3 的 Secondary License 路线并同时附上两份许可文本。核对第三方依赖ext/ 下各库保留原许可打包清单如 debian/control 的依赖与描述字段与实际许可状态一致。发布前全文检索 ZeroTier清除任何可能被解读为官方背书的表述。这套许可对 ZeroTierOne 意味着什么MPL-2.0 让 ZeroTierOne 把网络引擎做成完全开放、可自由修改甚至闭源商用的部分同时把控制器业务留在 nonfree/ 里变现——核心开源、服务收费这正是该项目的商业结构。对你来说结论可以浓缩成一句agent 随便用、随便改、随便卖唯一代价是改过的文件本身保持 MPL 且源码可得。现在就能做的一件事动手修改前先列出你计划触碰的 MPL 文件清单每处改动写回该文件头部——这份清单就是你给法务的最终答案。【免费下载链接】ZeroTierOneA Smart Ethernet Switch for Earth项目地址: https://gitcode.com/GitHub_Trending/ze/ZeroTierOne创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价