Reed's News
← 返回精选

Bambu Lab的AGPL违规:开源许可证执行的挑战

Tech 70 Velocifyer 2026/8/26 2449 字 原文 ↗

[LWN订阅用户专属内容]

欢迎访问LWN.net

以下订阅专属内容由一位LWN订阅用户分享给您。数千名订阅者依赖LWN获取Linux与自由软件社区的优质资讯。如果您喜欢这篇文章,不妨考虑 订阅LWN。感谢您访问LWN.net!

在2026年FOSSY大会上,大会主办方软件自由保护协会(Software Freedom Conservancy,SFC)的多位成员发表演讲,曝光一起持续违反GNU Affero通用公共许可证第3版(Affero General Public License version 3,AGPLv3)的事件。布拉德利·库恩(Bradley Kühn)、卡伦·桑德勒(Karen Sandler)与丹佛·金格里奇(Denver Gingerich)分别从不同角度,介绍了涉及Bambu Lab( bambu lab)3D打印软件的侵权细节,以及为用户提供替代方案所做的努力。尤为值得关注的是,该公司采用的规避手段,恰恰是AGPLv3制定时旨在防范的行为。

库恩、桑德勒与金格里奇

库恩开场提到,自己投身自由开源软件(Free and Open Source Software,FOSS)社区 activism 已逾30年,而"当下……是我职业生涯中 activism 机遇最多的时刻"。过去,他和同事们忙于应对各类危机,但近六到八个月,他们转而发掘机遇。桑德勒补充道,这些机遇颇具挑战性:"可不是那种'选这笔钱还是那笔钱'的简单选择题。"

库恩解释说,这些机遇无关金钱,而是为activist提供"成事与凝聚人心的途径"。过去半年左右,SFC成功与一个"仅有FOSS粗浅认知的爱好者群体"建立联系,围绕一系列以自由为核心的话题展开交流:"自由软件、自由文化、自由创作"。这令人振奋,但他坦言自己说得有些超前——因为这是故事的结局,所以他想先回到故事的起点。

背景回顾

3D打印技术问世已有一段时间,库恩一直从旁关注。本科时一次面包板起火的经历,让他下定决心只从事纯软件开发工作。他是3D打印文化的爱好者,喜欢听相关分享,但并不亲自参与。为开展许可证侵权调查,他和金格里恶补了3D打印的历史,不过金格里奇原本就具备不少相关背景知识。

布拉德利·库恩

库恩分享了自己的所学:业余3D打印领域最初只是小众爱好。当时市场上没有成品打印机,想要的人只能自己动手组装。一些早期组装打印机的人后来创办了公司,如今已成为3D打印机厂商——这是社区发展的关键一环。和Linux一样,3D打印起初只是爱好,且"作为爱好存在了足够长的时间,以至于风投资本无法立刻抹杀这种爱好者文化"。

3D打印的"妙处"在于,开发设备运行所需软件的人会参考自由软件社区的经验,在为代码选择许可证时"深思熟虑"。使用3D打印机的核心工具之一是"切片器(slicer)"[https://en.wikipedia.org/wiki/Slicer_(3D_printing],它能将3D模型(部分切片器还支持建模)转化为薄薄的2D切片,再转换成打印机硬件可识别的语言。库恩将这种语言比作汇编语言——虽有简化,但能帮助他建立概念框架。

资深自由软件爱好者亚历山德罗·拉内卢奇(Alessandro Ranellucci)开发了一款名为Slic3r的切片器。库恩笑称,他对拉内卢奇唯一的不满就是这个名字——在演讲中很难区分这款程序和"切片器"这类工具的统称,因此他用"带数字3的切片器"来特指Slic3r。两人曾视频交流,拉内卢奇表示,他为Slic3r选择AGPLv3许可证,正是为了避免Bambu Lab这类公司搞出乱子:"我早就料到会有这种事,因为我最担心有人把Slic3r做成'服务化'产品。"

库恩指出,尽管有些3D打印机使用其他切片器,但几乎所有主流产品都基于Slic3r的分支开发。目前约有18个活跃分支,其中最知名的是PrusaSlicer。它的诞生源于拉内卢奇的朋友约瑟夫·普鲁萨(Josef Prusa),后者认为3D打印不仅是"商业机遇,更是自由软件商业机遇"。普鲁萨创办的公司以向客户提供打印机设计方案、自由软件、自由固件等为核心业务,曾一度占据市场主导地位。

与此同时,面向制造业的工业级3D打印机市场也在发展。这类打印机体积庞大,动辄数十万美元。不过,售价在500至3000美元之间的业余级打印机"性能变得越来越好",尤其是该价位的高端机型。

Bambu Lab登场

2019年至2020年新冠疫情前,市场基本处于上述状态。疫情期间,许多人开始培养新爱好,3D打印便是其中之一,这吸引了中国公司Bambu Lab进入市场。库恩提到,有传言称该公司与中国政府有关联,但尚未得到证实。Bambu Lab决定从零开始研发3D打印机,到2025年,已占据500至3000美元价位打印机市场38%至48%的份额(具体数据因分析师报告而异)。部分原因在于,大型工业级打印机市场日渐萎缩,客户发现可以用Bambu Lab等公司生产的更廉价、性能更优、可靠性更强的打印机集群替代;而Bambu Lab同时瞄准了工业和业余爱好者市场,因此取得成功。

Bambu Lab需要一款切片器,于是推出了基于PrusaSlicer修改的Bambu Studio——它通过AGPLv3许可证获得了PrusaSlicer的代码,但并未提供源代码或源代码获取途径。这种情况一直持续到2022或2023年,在3D打印社区的压力下,Bambu Lab才被迫发布源代码,但和大多数首次发布一样,并非对应版本的真实源代码。

库恩调侃道:"不得不佩服违反 copyleft 许可证者的'创造力',他们常钻一些法官根本不会在意的空子。"此次事件中,Bambu Studio会弹出提示,要求用户下载"一些额外内容",提供"是"或"稍后询问"两个选项;用户最终会发现,只有点击"是",切片器的部分功能才能正常使用。下载的额外内容是两个由C++源代码编译而成的.so文件。从已发布的源代码中的dlopen()调用可以清楚看到,这些共享库文件会被动态加载到切片器中。

库恩表示,若按普通GPLv3许可证,Bambu Studio及其所有组件会被视为一个合并作品;而该公司的网络组件还违反了AGPLv3的相关限制。切片器中动态加载的部分是一个薄层,它通过网络调用Bambu Lab服务器上运行的大型3D应用程序,并传递一个"密钥"——其实是一个特定的用户代理字符串(User-Agent string),以此获取服务器上的额外功能。该公司声称,这个对所有客户端都相同的用户代理字符串,是符合数字千年版权法案(DMCA)的反规避机制。

但库恩指出,这恰恰是AGPLv3要防范的行为:"你不能把受AGPL许可证保护的应用程序的一部分放在自己的服务器上,然后将其私有化。"来自波兰的3D打印用户帕维乌·亚尔恰克(Paweł Jarczak)逆向解析了该用户代理字符串和网络代码,随后收到Bambu Lab的DMCA下架通知。"GitHub当然照做了,毕竟它归微软所有。"不过亚尔恰克仍在自己的切片器(OrcaSlicer)中维护相关代码,该代码被镜像到SFC的仓库,作为其baltobu项目的一部分,旨在规避Bambu Lab对AGPLv3的侵权行为。

丹佛·金格里奇

金格里奇补充道,Bambu Lab不仅违反了AGPLv3,还违反了GPLv2——部分型号3D打印机固件中使用了基于Buildroot的Linux系统及其他copyleft组件,但该公司未提供相应源代码或获取途径。他从Bambu Lab官网下载了300MB的固件镜像,但未找到源代码或获取说明。

他认为,Bambu Lab源自中国国内受硅谷模式启发的企业文化,这类企业通常能获得类似风投的大额投资。雄厚的资金让Bambu Lab得以在多方面赶超竞争对手,通过社交媒体等渠道大力推广产品,并在Reddit等论坛上控制舆论。该公司也采取了一些硅谷企业惯用的捷径——"在发展过程中违反copyleft许可证"。

金格里奇认为,这一情况为"夺回我们通过他们选择的许可证应享有的控制权"提供了"绝佳机遇"。Bambu Lab本可以投入资金"从零开始重新开发",但它没有这么做;毕竟现有的高质量自由开源软件"需要很长时间才能复制"。

金格里奇表示,面对侵权指控,Bambu Lab采取了常见的"有种就起诉我们"的态度——起诉当然是一种选择,但不同的解决方式耗时不同:让社区参与逆向工程并替换专有组件,所需时间可能远短于诉讼。库恩补充道,侵权公司从不会直接说"来起诉我们",只会停止回应。

社区参与

卡伦·桑德勒

桑德勒指出,这起侵权事件的一大意义在于,它吸引的新成员数量超过了SFC多年来处理的任何其他事件。此前对copyleft或FOSS一无所知的人,如今对此充满热情;他们"意识到这些许可证赋予了我们权利,而我们可以有所作为"。她表示,通常SFC讨论这类问题时,听众仅限于现场参会者或观看会议录像的人,"受众范围狭窄,我们很难解释其中的潜力"。但3D打印社区真正接过了接力棒:"多位YouTube博主发布了深度解析视频",Reddit等平台的评论者也"兴奋地表示:'原来这些许可证是这个意思,我们应该更充分地利用它们!'"

演讲结束后留有十多分钟的观众提问时间,第一个问题是:"怎样才能让Bambu Lab遵守AGPL?"金格里奇表示,有多种途径,比如参考SFC起诉Vizio(Vizio现归沃尔玛所有)的案例;由于copyleft许可证同时具备合同属性,该诉讼基于合同法展开。Vizio/沃尔玛与开发GPLv2和LGPLv2.1代码的软件开发者之间存在合同关系,SFC(以及任何购买Vizio电视的人)是该合同的"第三方受益人",因此SFC提起诉讼,要求获得合同规定的权利。

库恩表示,这种合同维权是常规做法,但据他们所知,尚未用于GPL系列许可证的维权。更传统的途径是以代码版权所有者的身份起诉,这也是SFC过去采用的方式。此外还有其他机制,比如利用包含"知识产权"条款的各类贸易协定作为工具。尽管知识产权规则可能令人反感,但这符合copyleft的初衷:"利用这类规则,反其道而行之,捍卫软件自由。"

库恩提到,SFC针对3D打印侵权事件发起的筹款活动,最终远超25万美元的高目标——"我们原本以为这个目标几乎不可能实现"。桑德勒说:"我们设定这个数字,是认为有了这笔钱就能做一些有意义的事,尽管当时觉得很可能达不到。""结果我们远超目标,而且大部分捐款都是小额捐赠,这太令人振奋了。"库恩指出,SFC现在可以聘请一名全职诉讼律师,他鼓励参会者帮忙宣传此事。

桑德勒表示,很多人以为GPL许可证是"神奇的魔法粉"——只要选择了这个许可证,人们就会自动遵守,问题也能迎刃而解。显然并非如此,参会者们纷纷摇头表示认同。"如果没人监督问责,没人站出来说'等等,你这么做不对',就永远不会有人遵守规则。"

她认为,维权方式多种多样,需要发挥创造力。SFC正试图"展示促使公司做正确事情的不同途径"。她呼吁所有人,购买设备后都要索要所有组件的完整对应源代码——这能表明消费者对这些权利有需求。如果厂商不提供源代码,发布表达不满的YouTube视频或在Reddit上发帖,也是一种维权方式。

另一个问题是,诉讼是否是有效的维权工具。金格里奇提到,针对Linksys的维权行动促使其发布源代码,而这成为OpenWrt项目的首个提交记录。这类行动催生的项目"帮助我们夺回对设备的控制权,让设备按我们的意愿运行,而非厂商的意愿"。

桑德勒补充道,企业内部的法务人员常对她表示感谢,因为诉讼让他们的工作变得容易很多。如果违反许可证无需承担后果,企业法务很难推动合规。企业管理层想知道违反许可证的成本,"没有诉讼,就无法给出答案"。

最后一个问题是如何从根源上解决许可证侵权问题,这可以从多个角度解读。库恩表示,解决全球社会腐败问题难度极大;桑德勒补充说,改革资本主义同样如此。金格里奇认为,根本问题在于权力失衡,而FOSS和更大范围的维修权运动正是在对抗这种失衡。桑德勒总结道,这些运动的目标是通过创造一个更美好的世界——改善产品、技术和立法——来从根源上解决问题;这需要人们积极参与,同时帮助非技术人员关注这些议题。当然,这显然也是一项艰巨的任务。

[感谢LWN的出行赞助商Linux基金会,为我前往温哥华参加FOSSY大会提供支持。]

本文索引项
会议 自由开源软件年度大会/2026