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 considersubscribing to LWN. Thank you
for visiting LWN.net!
AtFOSSY 2026, several people from theSoftware Freedom Conservancy(SFC),
which organizes the conference, gave a presentation about anongoing
violationof theAffero 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?'”.
Some time ago,3D
printingwas 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 isPrusaSlicer. It came
about because a friend of Ranellucci’s, Josef Prusa, saw 3D printing
as not only just a business opportunity, but “afree-softwarebusiness 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.
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.
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 specificUser-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 aDMCAanti-circumvention mechanism.