Skip to content
HN On Hacker News ↗

An ongoing 3D-printer AGPL violation

▲ 489 points 232 comments by Velocifyer 1w ago HN discussion ↗

Pangram verdict · v3.3

We believe that this entire text is human-written.

0 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 1 of 1
SEGMENTS · AI 0 of 1
WORD COUNT 1,651
PEAK AI % 0% · §1
Analyzed
Aug 26
backend: pangram/v3.3
Segments scanned
1 windows
avg 1651 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 1,651 words · 1 segments analyzed

Human AI-generated
§1 Human · 0%

Welcome to LWN.net The following subscription-only content has been made available to you by an LWN subscriber. Thousands of subscribers depend on LWN for the best news from the Linux and free software communities. If you enjoy this article, please consider accepting the trial offer on the right. Thank you for visiting LWN.net! Free trial subscription Try LWN for free for 1 month: no payment or credit card required. Activate your trial subscription now and see why thousands of readers subscribe to LWN.net. At FOSSY 2026, several people from the Software Freedom Conservancy (SFC), which organizes the conference, gave a presentation about an ongoing violation of the Affero General Public License version 3 (AGPLv3). Bradley Kühn, Karen Sandler, and Denver Gingerich spoke about different aspects of the violation, which is in regard to 3D-printer software from Bambu Lab, and what is being done to try to provide users with alternatives. One aspect that is particularly interesting is that the circumvention that the company is employing is precisely what the AGPL was written to prevent. Kühn began the session by noting that he has been an activist in the free and open-source software (FOSS) communities for over 30 years and that "this moment in history [...] has more activism opportunities than I have seen in my career". In the past, he and his colleagues have been triaging disasters of various sorts but over the past six to eight months they have been triaging opportunities instead. Sandler added that the opportunities being offered are difficult; "it's not like people are saying 'would you like this money or that money?'". The opportunities he is describing are not really about money, Kühn said, but provide ways "for activists to get stuff done and to engage people". Over the past six months or so, SFC has successfully engaged with "an entire community of enthusiasts", which only had a passing familiarity with FOSS, on a multitude of freedom-centric topics: "free software, free culture, free creation". That is exciting, but he was getting ahead of himself because that is where the story ends, so he wanted to go back to the beginning. Backstory Some time ago, 3D printing was invented, which is something that he watched from afar; a breadboard fire when he was an undergraduate convinced him that he should be a software-only person. He is a fan of the 3D-printing culture, and enjoys the talks that come from it, but he does not participate. As part of the license-violation investigation, he and Gingerich did a crash course in the history of 3D-printing, though Gingerich already had much of the background. Kühn related some of what he learned, including that the hobbyist 3D-printing field started out as a curiosity. People who wanted a 3D printer had to build one themselves, since there were no already assembled devices on the market. Some of those who built the early printers went on to found companies that now sell 3D printers, which is a key element in the development of the community. Like Linux, 3D printers started as a hobby and remained "a hobby for a long-enough period of time that the hobby culture could not be immediately eradicated by venture capitalists". The "wonderful thing" about 3D printing is that the people developing the software needed to run the devices looked to the free-software community and "thought twice" before they started picking licenses for their code. An important piece of the tooling needed to use these devices is a program known as a "slicer", which turns a 3D model—some slicers also help build these models—into thin 2D slices that can be converted into the language that the printer hardware understands. He likens that language to assembly language, which is an oversimplification, but helps provide a conceptual framework for him. A longtime free-software enthusiast, Alessandro Ranellucci, created a slicer, which he called "Slic3r". Kühn said that his only criticism of Ranellucci was his choice of the name, which makes it hard to distinguish between the program and the overall type of program in a talk, so Kühn used "slicer with three" to distinguish them. The two spoke over a video chat and Ranellucci said that he chose the AGPLv3 for Slic3r to try to avoid the mess with Bambu Lab: "I anticipated all this, because my biggest worry was that someone was going to do 'Slic3r as a service'". While there are 3D printers that use other slicers, it is difficult to find one that is not best used with some fork of Slic3r, Kühn said. There are around 18 active forks, but the most well-known is PrusaSlicer. It came about because a friend of Ranellucci's, Josef Prusa, saw 3D printing as not only just a business opportunity, but "a free-software business opportunity". Prusa built a company based on providing customers with printer plans, free software, free firmware, and so on, Kühn said; that company was the dominant player in the market for a time. At the same time, a parallel market in 3D printers for manufacturing was developing. These were printers that took up a whole room and cost hundreds of thousands of dollars. Meanwhile, though, the hobbyist printers that cost $500-3000 were "becoming really, really, really good", especially toward the top end of that range. Enter Bambu That was the state of the market in 2019 and pre-COVID 2020. During COVID, lots of people picked up hobbies, including 3D printing; that attracted a Chinese company, Bambu Lab, to the market. Kühn said that the company is rumored to have ties to the Chinese government, though that has not been confirmed. It decided to start from scratch and make 3D printers; by 2025, the company controlled 38-48% (depending on the analyst report) of the market for $500-3000 printers. In part, that is because the market for room-sized industrial printers is dying and that customers have realized that they can be replaced with fleets of much cheaper, better, and more reliable printers from companies like Bambu Lab; the company has been targeting that market, along with the hobbyist market, thus its success. Bambu Lab needed a slicer, of course, so it started shipping a modified PrusaSlicer (as Bambu Studio), which it was able to get via the AGPLv3, but without shipping any source code or an offer to provide it. That continued up through 2022 or 2023, Kühn said, until the pressure from the 3D-printing community effectively forced Bambu Lab to make a source release, which was, as is almost always the case for a first release, not the actual corresponding source code. "You've got to be amused by the ingenuity of copyleft violators", Kühn said; they often rely on mechanisms that an actual judge is not going to care about. In this case, Bambu Studio would pop up a request to download "a little more stuff" with the classic choices of "Yes" or "Ask me later"; users eventually figure out that some functionality in the slicer does not work until they click "Yes". The extras that are downloaded are two .so files built from C++ source. Those shared-library files are dynamically loaded into the slicer—as can plainly be seen from the dlopen() calls in the source code that was released. Kühn said that Bambu Studio and all of its components would be considered a combined work under the regular GPLv3, but the company has a network-based component that runs up against the restrictions in the AGPLv3 as well. The dynamically loaded part of the slicer is a thin layer that calls out over the network to an extensive 3D application running on Bambu Lab servers; it passes a "key", which is just a specific User-Agent string, that allows access to the extra functionality on the servers. The company claims that the User-Agent, which is the same for all of the clients, is a DMCA anti-circumvention mechanism. But, he said, that is exactly what the AGPLv3 is meant to prevent: "You can't put part of your Affero-GPLed application on your web server and keep it proprietary". A 3D-printing user from Poland, Paweł Jarczak, reverse-engineered the User-Agent string and network code, which resulted in a DMCA takedown notice from Bambu Lab. "GitHub, of course, honored it, because Microsoft." Jarczak is still maintaining the code in his slicer (OrcaSlicer), which is being mirrored on an SFC repository as part of its baltobu project that is aimed at working around the Bambu Lab AGPLv3 violations. Gingerich noted that Bambu Lab is not only violating AGPLv3, but is also violating GPLv2 by not providing the source for a Buildroot-based Linux (and other copyleft components) used in the firmware of some 3D-printer models. He downloaded the 300MB firmware image from the Bambu Lab web site, but was unable to find the source or an offer to provide it. He said that Bambu Lab comes from a silicon-valley-inspired culture that is being built in China, which includes large venture-capital-like investments into companies. Bambu Lab has deep pockets, which allowed it to leapfrog its competitors in various ways, market its products extensively through social media and the like, and to exert control over the message about its products on forums like Reddit. The company took some of the same shortcuts that silicon-valley companies have taken by "violating copyleft licenses on the way". Gingerich thinks this situation provides "a very good opportunity" to "take back the control that we are owed by the licenses that they chose to use". Bambu Lab could have spent its investment on "reimplementing things from scratch", but it chose not to; there is a large body of high quality free and open-source software available that "takes a long time to replicate". Bambu Lab has effectively taken the common "then, sue us" approach to these violations, which is certainly an option, Gingerich said. But various ways to remedy these kinds of problems have different timelines; getting the community involved in reverse-engineering and replacing the proprietary