写点什么

开源项目捐给基金会后又往回要,维护 7 年出钱出力却被告上法庭?网友:捐了代码还想用它赚钱,太无耻!

  • 2025-05-05
    北京
  • 本文字数:6019 字

    阅读完需:约 20 分钟

大小:2.93M时长:17:05
开源项目捐给基金会后又往回要,维护7年出钱出力却被告上法庭?网友:捐了代码还想用它赚钱,太无耻!

近日,云原生计算基金会 (CNCF) 已与开源消息系统 NATS 背后的公司 Synadia 达成协议,CNCF 将控制商标、域名和 GitHub 存储库。

 

NATS 是一个面向现代分布式系统和云原生应用的开源消息传递系统,以其轻量级架构和高性能著称。该系统采用极简设计理念,能够提供微秒级延迟和每秒数百万消息的高吞吐量,能很好地适配微服务架构、物联网、边缘计算及实时数据处理等多种应用场景。

 

NATS 生态系统包含核心服务器(Go 语言实现)和多语言客户端库等基础组件,并逐步扩展出 NATS Streaming 和 JetStream 等增强功能。项目采用 Apache 2.0 开源协议,由 Synadia 公司主导开发并维护,拥有活跃的开发者社区。

 

2018 年 3 月 15 日,NATS 项目最初创建者 Synadia 公司将该项目捐赠给 CNCF,而如今,Synadia 希望将该项目从 CNCF 中“撤回”,并将 NATS 的开源 Apache 2 许可证转换为商业源代码许可证 (BSL)。

 

Synadia 企图变更许可证的行为引发了 CNCF 的不满,随后这家商业化公司向 CNCF 发起了一封律师函,要求控制 nats.io 域名和 nats-io GitHub 组织的关键基础设施,这些基础设施已由 CNCF 管理了七年。

事件回溯

Synadia 向 CNCF 发律师函,希望重新夺回 NATS 商标

 

3 月底,Synadia 通过其法律顾问给 CNCF 发了一封律师函,就 nats.io 商标权属问题提出了质疑。在这份文件中,Synadia 指出,CNCF 声称拥有该商标所有权的说法缺乏法律依据。

 

根据律师函披露的信息,Synadia 认为,Apcera 公司作为 Synadia 前身,早在 2016 年就成为首个在商业活动中使用 NATS 商标的主体,并于当年 10 月 11 日向美国专利商标局提交了两项商标注册申请。2017 年 12 月 11 日,这些商标权通过法律程序正式转让予 Synadia,且转让效力具有溯及力。


 

“商标权的确立遵循‘最先使用’原则,”Synadia 法律顾问强调,“根据《兰哈姆法案》,只有实际使用商标并控制相关商品服务质量的主体才享有商标权。而这一主体始终是 Synadia 及其前身。”

 

律师函中同时强调,虽然 CNCF 目前持有 nats.io 域名并在 GitHub 代码仓库设有管理员,但这与商标所有权无关。法律明确规定,域名注册不构成商标权利,真正的商标权利来源于对网站内容及品牌质量的控制。

 

Synadia 认为,事实上,nats.io 网站内容始终由 Synadia 全权控制,并且所有代码贡献的采纳决定均由 Synadia 独立作出。

 

Synadia 表示,公司作为 NATS.IO 开源项目的创始者和持续维护者,有权利坚决维护自身合法权益。

 

Synadia 也列举了他们作为 nats.io 商标所有权人应履行的各项义务。包括从商标注册、权益维护到品质管控,Synadia 表示其全程主导并承担全部责任。

 

此外,Synadia 在声明中回顾了与 CNCF 的合作初衷:原本计划将 NATS.io 纳入 CNCF 标准项目管理体系,以期扩大开发者社区规模。为此,Synadia 曾授权 CNCF 管理 nats.io 域名的 DNS 设置,以支持项目的市场推广工作。但实际运营情况与预期相去甚远。Synadia 给出了一些证明:

 

  • 项目代码贡献者中,超过 97%来自 Synadia 及前身 Apcera 的团队

  • 所有被采纳的代码贡献均由 Synadia/Apcera 最终审核

  • 商标所有权始终未发生转移

 

Synadia 表示,当前项目发展模式已完全不同于最初设想,所以他们决定依法维护自身权益,确保 NATS 商标及项目的可持续发展。

 

Synadia 也确认,公司曾于 2018 年 8 月与 CNCF 签署过一份“参与协议”。该协议是为 Synadia 参加当年举办的 KubeCon 大会而订立,其中引述了 CNCF 章程条款——该章程规定“任何加入 CNCF 的项目必须将其商标及标识资产所有权转移至 Linux 基金会”。

 

一个值得注意的事实是,当时 Synadia 签署了该协议就相当于已经确定了将 NATS.io 的商标及标识资产所有权转移至 Linux 基金会。

 

而这封律师函中,Synadia 对这项已经签署了多年的“参与协议”提出了质疑,Synadia 指出:首先,Synadia 不认同该条款适用于 NATS.io 项目;其次,即便假设该条款适用(请注意这仅是会议参与协议中的引述内容),此类条款既非实际的权利转让文件,其表述也过于笼统,不具备法律强制效力。

 

Synadia 认为,NATS.io 项目在 CNCF 体系内并未获得预期发展,迄今为止项目的所有成长都是来自 Synadia 的投入与付出。基于此,Synadia 要求终止与基金会的合作关系,并希望 CNCF 于两周内移交 nats.io 域名及 GitHub 代码库的完整控制权。对于基金会因该项目产生的直接管理成本(如域名续费费用等),Synadia 愿意予以合理补偿。

CNCF 反诉:要求禁止 Synadia 使用 NATS 标识及域名

 

对于的 Synadia 诉求,CNCF 坚决拒绝了,并且作为回击,CNCF 于 4 月 23 日向美国专利商标局提出申请,要求禁止 Synadia 使用 NATS 标识及域名。

 


在提交给美国专利商标局的文件中,CNCF 表示,早在 2015 年 12 月 3 日,Synadia 前身 Apcera 就与 CNCF 接洽了加入基金会事宜。

 

当时,Apcera 以“银级”会员身份加入 CNCF,并提供了“Apcera 与 CNCF 参与协议”作为证据。

 

作为 NATS 项目及 NATS 风格化商标注册的权利继受者,注册人 Synadia 也于 2018 年 8 月 8 日签署了《Synadia 与 CNCF 参与协议》。该协议明确规定:“会员享有《CNCF 章程》所载权利并承担相应义务”。

 

那《CNCF 章程》中关于权力与义务的描述是怎样的?

 

根据章程第 2(a)(ii)条规定,“对于所有 CNCF 托管的软件开发项目,CNCF 应确保社区成员妥善维护和使用项目品牌(商标及标识),特别强调统一的用户体验和高度应用兼容性。”

 

章程第 11 条进一步规定:“任何加入 CNCF 的项目必须将其商标及标识资产所有权转移至 CNCF 上级组织——Linux 基金会“。《Linux 基金会会员协议》第 3 条载明:“会员(这里指 Synadia)同意遵守其选择贡献的任何具体项目的章程”。

 

也就是说,通过签署上述协议,Synadia 已就加入 CNCF 项目的商标标识问题接受了这些规则约束。

 

CNCF 的潜台词是,既然当初接受了这些条款,现在又提出质疑,哪有那么容易!

 

5 月 1 日,CNCF 在其官网发布了一份声明,再次重申了几个重点信息:NATS 项目不会变更开源许可证,Synadia 组织的维护者私下投票让该项目退出 CNCF 的行为缺乏透明度

 

“当一家公司向云原生计算基金会(CNCF)贡献项目时, 这代表的不仅仅是代码共享,更是一份对于开源社区的承诺。包括承诺维护开放协作、与社区共享所有权并保证治理中立性。CNCF 的存在就是为了保护这些价值观与原则——确保没有任何单一实体能够主宰、重新授权或者收回已经交付给社区的成果。这种原则性管理模式有助于促进信任、多元化贡献与长期的可持续性。

 

如今,这些承诺与原则正面临威胁。NATS 项目的原始捐赠者 Synadia 已经通知 CNCF,希望将 NATS 项目从基金会‘撤出’,并‘为 NATS.io 服务器采用商业源码许可证(BUSL)’——这是一种非开源许可证,会限制用户自由并破坏多年以来的开放开发成果。

 

这里需要强调,根据 BUSL 许可证条款,无论如何具体变更,项目代码都将受到严格的商业限制,并且要经过相当长的时间(最长可达 4 年)才能获得开源许可。”

 

需要明确的是:此举不是典型的许可证变更或分叉,而是试图‘收回’一个成熟的、社区驱动的开源项目,并将其转变为专有产品——在开放治理和 CNCF 的管理下,该项目已经历了多年的发展和协作。

 

Synadia 的维护者似乎私下投票决定“退出 CNCF”(已发布相关会议纪要及退出提案)。然而此番投票缺乏透明度、没有明确的过渡计划,也未能与帮助塑造 NATS 的广泛贡献者社区进行互动。

 

更扎心的是,CNCF 还举了谷歌与 Kubernetes 的例子,“如果谷歌在 Kubernetes 多年来长期保持中立、开源且社区驱动之后尝试收回,会发生怎样的情况。”

 

CNCF 强调了开源基金会存在的必要性,CNCF 根据章程(第 11a 条)要求所有贡献的项目将商标与徽标所有权转让给 Linux 基金会,Synadia 公司 CEO 在加入之初就非常了解这项政策。

 

“开源基金会之所以能够存在,部分原因在于保护生态系统免受单方面许可证变更及其他厂商驱动的‘拉拢’行为的影响。因此,CNCF 根据章程(第 11a 条)要求所有贡献的项目将商标与徽标所有权转让给 Linux 基金会。这将确保任何单一供应商日后都无法通过商标权来控制项目。作为 CNCF 管理委员会的创始成员之一,Synadia 公司 CEO 在加入之初就非常了解这项政策。”

 

2018 年捐赠 NATS 项目时,Synadia 已经为 NATS 的名称与徽标申请了注册商标。Synadia 公司 CEO 曾明确以书面形式承诺,在项目被 CNCF 接纳后一并转让这些商标。然而,由于与美国职业棒球联盟(MLB)下的“华盛顿国民队”(同样简称 NATS)名称存在商标纠纷,转让被迫推迟。

 

为了解决此问题,CNCF 聘请了法律顾问,在 2018 至 2019 年期间与 Synadia 的商标律师合作。在发现拟议的和解条款会威胁并限制社区使用时,CNCF 拒绝了这些条款,并随后向 Synadia 提出两条明确方案:

 

  1. 重新命名开源项目,并保留“NATS”作为 Synadia 的商业品牌;

  2. 与 MLB 解决争议,并在和解后将商标转让给 CNCF。

 

Synadia 选择了后者。争议解决之后,Synadia 向 CNCF 申请并获得了 1 万美元的补偿,以报销 Synadia NATS 商标注册期间产生的法律费用。Synadia 还拒绝了最初开具的用于支付商标费用的支票,而是通过 ACH 电子转账收取了款项,如下图所示。



CNCF 表示,即使在问题解决并付款之后,Synadia 仍未按照约定完成承诺的商标注册移交。

 

CNCF 列举了自 2018 年 NATS 加入 CNCF 以来,基金会为其提供的支持——包括交错、技术、法律与组织支持,具体支持包括:

 

  • 资助两轮第三方安全审计(投入超 9 万美元);

  • 支持法律与商标管理工作;

  • KubeCon + CloudNativeCon 演讲、主题宣传、展位与市场推广;

  • 导师持续指导与贡献者成长计划。

 

CNCF 强调:“得益于这些支持以及社区贡献,NATS 迎来了蓬勃发展。下载量、贡献者数量以及与 CNCF 和其他第三方项目(例如 Helm、Kubernetes、Prometheus、ClickHouse、JetStream 等)的集成量都显著增长。虽然 Synadia 仍然是重要的贡献者,但超过 700 个其他组织也为该项目做出了贡献。”



图注:过去 7 年 CNCF 下的贡献

 

其实早在纠纷开始之前,CNCF 表示已经向 Synadia 提供多种途径,希望帮助 Synadia 在尊重开源原则及社区治理方式的同时追求其目标。Synadia 可以自由放弃对于现有 NATS 项目的贡献,也可以自由分叉 NATS 并以新名称构建专有产品。但他们不可单方面收回社区项目以及相应的基础设施、资产与品牌。

 

但遗憾的是,CNCF 的这些建议都没有被 Synadia 采纳,于是才有了双方对波公堂的场面。CNCF 与 Linux 基金会应对 Synadia 的法律诉求所采取的措施包括:

 

  • 发起 CNCF TOC 健康检查,以评估项目的运作状况;

  • 寻求支持并招募更多维护人员;

  • 请求美国专利商标局(USPTO)撤销存在冲突的 Synadia 商标注册;

  • 继续拒绝 Synaida 提出的将 NATS 基础设施与资产向其让度移交的要求。

 

经过了一个多月的周旋,最后两个组织同意,“协调预期并加强开放治理”。一份声明表示, Synadia 同意 CNCF 控制商标、域名和 GitHub 存储库。

各界什么态度?

 

这场纠纷让很多人感到不安,也在社区中引发热议。

 

在 Reddit 上,有用户希望 CNCF 能胜出,该用户表示:

 

“Synadia 的行为极其恶劣。他们拿 CNCF 的钱来打官司,让 CNCF 多年来培​​育和推广这个项目,结果现在却做出这种事。 我用过 NATS,总体来说还不错。这个消息令人失望,我希望 CNCF 能胜出,NATS 也能继续作为 CNCF 项目存在。 ”

 

还有用户用一个比喻更生动地描述了他眼中的这场闹剧:

 

“想象一下,我卖给你一辆车,你把钱给我,然后你开始正常使用这辆车,但我为了耍小聪明,没有把所有权过户给你。然后有一天,我说我没有把所有权过户给你,所以这是我的车,你把车还给我。这太荒谬了!”

 

也有 NATS 维护者现身说法,认为 CNCF 不断提高 NATS 项目门槛,所以如今的 CNCF 已经不适合 NATS 了,继续留在这里会制约项目的发展。

 

“我曾积极参与推动 NATS 项目在 CNCF 获得毕业资格的工作。作为项目维护者,我们对 NATS 的发展感到无比自豪——服务器下载量突破数百万次,社区生态蓬勃发展,这些成就让我们有信心向 CNCF 提交毕业申请。2018 至 2020 年间,为满足 CNCF 技术监督委员会(TOC)的要求,我们调整了项目流程,引入外部维护人员协助毕业准备工作,并已完全达到书面规定的毕业标准。

 

然而,我们注意到毕业门槛被不断提高。CNCF TOC 特别指出项目中 Synadia 背景的维护人员占比过高,这一观点在毕业申请评审和会议讨论中反复被强调。令人困惑的是,另一个主要维护者同样来自单一组织的项目却顺利通过了毕业审核。这种差异化的标准让我们意识到,NATS 可能已不再适合 CNCF 的项目定位。

 

经过内部深入讨论,维护团队一致认为继续留在 CNCF 将制约 NATS 的发展速度和文化特色。2020 年,我们开始探讨退出方案,包括寻找新的组织归属甚至考虑自建基金会。最终,维护团队以 100%的赞成票通过退出决议。虽然 CNCF 为众多优秀项目提供了良好支持,但事实证明,这里已不再是 NATS 发展的最佳选择。这个决定虽然艰难,却是维护团队对项目未来发展的慎重考量。”

 

Linkerd 背后的公司 Buoyant 的首席执行官 William Morgan 预计,这场纠纷“将以一场混乱的法律纠纷收场。这可不是普通的开源软件重新授权故事,似乎其中确实存在一些不为人知的秘密。”

 

虽然 Morgan 理解 Synadia 的出发点,但他表示:“从开源项目赚钱很难。尤其是在 CNCF,参与者往往把项目当作免费消费品,把 GitHub/Slack 等项目空间当作免费帮助平台,甚至把‘供应商’这个词都当成侮辱。”

 

Buoyant 去年改变了 Linkerd 稳定版发布政策后,尽管公司一直遵守规则,但还是受到了猛烈的批评。

 

Morgan 继续说道:“就 NATS 项目而言,我们发现连最基本的合规要求都难以落实。根据 CNCF 的强制规定,所有加入的项目都必须将商标所有权转移至 Linux 基金会——这是 CNCF 维持治理体系的核心机制。虽然大多数项目采用的 Apache v2 许可证允许(几乎)任何人对代码进行修改和重新授权发布,但商标所有权恰恰构成关键限制:任何人都不得将衍生版本冠以原始项目名称。”

 

其他开源项目和公司与这场争议息息相关。

 

正如 Cosmonic 首席执行官兼 wasmCloud 创始人 Liam Randall 在博客中所说:

 

“作为 NATS.io 的长期用户,我们对该项目即将‘退出’的消息感到震惊。与社区中的许多人一样,我们之所以采用 NATS 并积极为其做出贡献,正是因为它是一个真正开源、由基金会主导的项目。NATS 为我们提供了一个轻量级、高性能的消息传递主干网,而 CNCF 的管理是我们对其长期稳定性充满信心的基石。”

 

也有 Hacker News 用户表示,

 

“这场冲突或许会成为开源治理的一次考验。允许供应商“收回”捐赠项目可能会开创一个危险的先例,破坏像 CNCF 这样的基金会所提供的信任和稳定性。其结果将对未来的开源协作、项目可持续性以及供应商和社区之间的力量平衡产生深远的影响。”

 

参考链接:

https://www.cncf.io/projects/nats/?utm_source=the+new+stack&utm_medium=referral&utm_content=inline-mention&utm_campaign=tns+platform

https://github.com/cncf/foundation/blob/main/documents/nats/Cease%20and%20Demand%20Letter%20from%20Synadia%20Counsel.pdf

https://www.luxantsolutions.com/nats-leaving-cncf-history-and-thoughts

https://www.cncf.io/blog/2025/05/01/protecting-nats-and-the-integrity-of-open-source-cncfs-commitment-to-the-community/

https://thenewstack.io/synadia-attempts-to-reclaim-nats-back-from-cncf/

2025-05-05 18:001
用户头像
李冬梅 加V:busulishang4668

发布了 1065 篇内容, 共 683.2 次阅读, 收获喜欢 1228 次。

关注

评论

发布
暂无评论

架构实战营 模块二 作业

一雄

作业 架构实战营 模块二

【Flutter 专题】84 图解自定义 ACEWave 波浪 Widget (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

金九银十马上要来了,我熬夜整理10 万字节详细面试笔记(带完整目录) 良心分享

Java 编程 程序员 架构 面试

模块一作业

A先生

有趣的SVG、Favicon

devpoint

favicon SVG 7月日更

架构实战营模块二作业

王晓宇

微服务架构服务容错设计分析

慕枫技术笔记

架构 微服务 后端

OLAP 扫盲

Galaxy数据平台

OLAP 高基数

一文搞懂二分查找面试

泽睿

算法 二分查找

Liunx之chown命令

入门小站

Linux

Spark :: 源代码(前传)—Spark多线程 :: NettyRpcEnv.ask解读

dclar

spark 多线程 Spark调优 源代码

vivo S系列的爆款密码:自拍,自然,自出机杼

脑极体

Ping Exporter -- Prometheus

耳东@Erdong

Prometheus ping 7月日更 exporter

JDBC数据库链接的那些事

卢卡多多

JDBC 7月日更

模块2作业

Tina

🐧【Linux技术专题系列】「必备基础知识」一起探索(su、sudo等相关身份提权/身份切换机制)

码界西柚

Linux linux 文件权限控制 7月日更 Linux身份提权

golang解析---进程,线程,协程

en

线程 进程 协程 Go 语言 goroutine

模块-1 微信业务架构图 和 备选方案

小遵

北鲲云计算,用技术成就生物科学领域发展

北鲲云

Python 正则表达式急速入门

喵叔

7月日更

架构实战营第二周作业——微信朋友圈高性能复杂度

发酵的死神

架构实战营

模块-6 拆分电商系统为微服务

小遵

项目管理实践篇(一):技术人如何做好风险把控

后台技术汇

项目管理

要性能还是要模型?

escray

学习 极客时间 7月日更 如何落地业务建模

深入了解Spring之MessageSource

邱学喆

MessageFormat MessageSource MessageSourceAware

八位阿里大牛耗时三年总结出Java面试复盘手册!带你实现逆风翻盘

白亦杨

Java 编程 程序员

华为18级工程师耗时三年才总结出这份Java亿级高并发核心编程手册

Java 编程 程序员

Spark SQL和DataFrames:内置数据源简介(四)

Databri_AI

spark sparksq

Discourse 调整使用不同的表情符号

HoneyMoose

2021年网络安全市场全景图,看看都有哪些企业吧!

郑州埃文科技

分布式事务最经典的七种解决方案

叶东富

数据库 分布式事务 微服务 TCC Go 语言

开源项目捐给基金会后又往回要,维护7年出钱出力却被告上法庭?网友:捐了代码还想用它赚钱,太无耻!_云原生_李冬梅_InfoQ精选文章