Comprehensive Response to Bambu's AGPLv3 Violations
Comprehensive Response to Bambu’s AGPLv3 Violations
关于 Bambu 违反 AGPLv3 协议的全面回应
Software Freedom Conservancy (“SFC”) announces a new initiative regarding the software right to repair for users and consumers of 3D printers manufactured by Bambu Lab. After recent news of violations of the Affero General Public License, version 3 (“AGPLv3”), SFC staff began a comprehensive AGPLv3 compliance investigation of both the userspace software and firmware on Bambu’s devices. While the investigation is ongoing, two specific AGPLv3 violations have been confirmed.
软件自由保护组织(SFC)宣布了一项关于 Bambu Lab 制造的 3D 打印机用户及消费者软件维修权的新倡议。在近期获悉其违反《Affero 通用公共许可证》第 3 版(AGPLv3)的消息后,SFC 工作人员已开始对 Bambu 设备的用户空间软件和固件进行全面的 AGPLv3 合规性调查。尽管调查仍在进行中,但目前已确认存在两项具体的 AGPLv3 违规行为。
libbambu_networking Violation Confirmed
已确认 libbambu_networking 违规
First, Bambu does not provide the complete, Corresponding Source Code (“CCS”) for their Slicer software. (The Slicer is used in 3D printing to take a digital design model (i.e., the STL file) and “slice” that file into many horizontal 2D layers for transmission to the printer itself.) Bambu has publicly stated for four years that Bambu’s slicer (called “Bambu Studio”) is a modified version of their competitor’s AGPLv3’d slicer (“PrusaSlicer”). (PrusaSlicer — in turn — is a modified version of “Slic3r” — originally authored by Alessandro Ranellucci.) While some source code for Bambu Studio can be found on Bambu’s Github organizational account, Bambu (in effect) admits publicly that they have violated the AGPLv3 by combining Bambu Studio with a proprietary library — which they distribute to the user via an interactive prompt in the UI.
首先,Bambu 未能为其切片软件提供完整的“对应源代码”(CCS)。(切片软件在 3D 打印中用于将数字设计模型(即 STL 文件)“切片”成许多水平的 2D 层,以便传输给打印机。)Bambu 四年来一直公开宣称其切片软件(名为“Bambu Studio”)是其竞争对手基于 AGPLv3 协议的切片软件(“PrusaSlicer”)的修改版本。(而 PrusaSlicer 本身又是 Alessandro Ranellucci 最初编写的“Slic3r”的修改版。)尽管在 Bambu 的 Github 组织账户中可以找到 Bambu Studio 的部分源代码,但 Bambu 实际上已公开承认,他们通过将 Bambu Studio 与一个私有库结合,并通过 UI 中的交互式提示分发给用户,从而违反了 AGPLv3 协议。
As such, Bambu’s failure to provide CCS and Installation Information for the libraries known as libbambu_networking.so, bambu_networking.dll, and libbambu_networking.dylib constitutes an egregious and ongoing violation of AGPLv3.
因此,Bambu 未能为名为 libbambu_networking.so、bambu_networking.dll 和 libbambu_networking.dylib 的库提供 CCS 和安装信息,构成了对 AGPLv3 的严重且持续的违规。
Additional Violation via Bambu’s Aggressive, “Chilling Effect” Recent Actions
Bambu 近期激进的“寒蝉效应”行为构成的额外违规
Keeping their networking library proprietary is not the only way that Bambu violated AGPLv3. A software developer and Bambu Lab user (Paweł Jarczak) released another mechanism to integrate with Bambu Studio’s server side components that did not require replacing or modifying the dynamically linked libraries. Instead, Paweł made changes to a different AGPLv3’d slicer (Orca Slicer) by merely examining the (incomplete) source code for Bambu Studio. Those Orca Slicer modifications allowed users to replace Bambu Studio and instead combine Orca Slicer via intimate data communication with Bambu Studio’s currently-source-unavailable parts that run on Bambu Lab’s servers. Bambu demanded that Paweł remove the fork of OrcaSlicer with these changes from Github. Bambu falsely claims that their terms of service override the AGPLv3 (along with other specious claims). Bambu’s scare tactics against Paweł constitute a violation of AGPLv3§10¶3 — which states the matter quite simply: You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License.
保持其网络库的私有性并非 Bambu 违反 AGPLv3 的唯一方式。一位软件开发者兼 Bambu Lab 用户(Paweł Jarczak)发布了另一种与 Bambu Studio 服务器端组件集成的机制,该机制无需替换或修改动态链接库。相反,Paweł 仅通过检查 Bambu Studio 的(不完整)源代码,对另一个基于 AGPLv3 的切片软件(Orca Slicer)进行了修改。这些 Orca Slicer 的修改允许用户替换 Bambu Studio,并通过紧密的数据通信将 Orca Slicer 与 Bambu Lab 服务器上运行的、目前未开源的 Bambu Studio 组件结合使用。Bambu 要求 Paweł 从 Github 上删除包含这些更改的 Orca Slicer 分支。Bambu 错误地声称其服务条款优先于 AGPLv3(以及其他虚假主张)。Bambu 对 Paweł 的恐吓手段构成了对 AGPLv3 第 10 条第 3 款的违反——该条款简单明了地规定:你不得对本许可授予或确认的权利的行使施加任何进一步的限制。
SFC’s Comprehensive Approach to Address These Violations
SFC 解决这些违规行为的全面方案
Bambu has behaved badly for years and made multiple, provably false public statements regarding the AGPLv3 and its requirements. The recent aggressive behavior toward Paweł Jarczak was a last straw for us: we have decided to launch a multi-pronged effort that will assist consumers and users in the short-term, and also work toward a long-term strategy to improve the software right to repair for all 3D printer consumers. SFC launches today our baltobu project. This project contains repositories as follows: baltobu’s reverse-networking repository hosts a project to reverse-engineer libbambu_networking.so, bambu_networking.dll, and libbambu_networking.dylib. We also have encouraged volunteers in our Use the Source community to participate in this process.
Bambu 多年来表现恶劣,并就 AGPLv3 及其要求发表了多次可证伪的公开声明。近期针对 Paweł Jarczak 的激进行为成了压垮我们的最后一根稻草:我们决定发起一项多管齐下的行动,旨在短期内协助消费者和用户,并致力于制定长期战略,以改善所有 3D 打印机消费者的软件维修权。SFC 今日启动了我们的 baltobu 项目。该项目包含以下仓库:baltobu 的 reverse-networking 仓库托管了一个对 libbambu_networking.so、bambu_networking.dll 和 libbambu_networking.dylib 进行逆向工程的项目。我们也鼓励“使用源代码”(Use the Source)社区的志愿者参与到这一过程中。