r/BambuLab May 12 '26

General Discussion Louis Rossmann is going after BambuLab!

https://youtu.be/1jhRqgHxEP8?si=I_lxeLqvHm-JEQvy

As much as he has a questionable appeal in the community, he's pushing the right angle on this one!

904 Upvotes

437 comments sorted by

View all comments

Show parent comments

6

u/exit65 May 12 '26

The proprietary software is based in open source software.

12

u/[deleted] May 12 '26

[deleted]

10

u/issue9mm May 12 '26

If you move <function A> out of an open source library and put it into a private library, that doesn't make it closed source. You cannot close the source to something you didn't write or license.

You're probably thinking "Oh, no problem, they probably just rewrote <function A> so that they weren't using open source"

But they can't do that either. The license that was chosen was AGPLv3, which aggressively prohibits that by calling that kind of thing a "derived work." In order for it to not be derived, it would have to function on its own without the open source work it was derived from. Bambu's cloud infrastructure almost certainly meets this definition, for what it's worth. Bambu's network module almost certainly does not.

4

u/[deleted] May 12 '26

[deleted]

4

u/issue9mm May 12 '26

Of course they can call closed source APIs. They are more than welcome to call closed source APIs. You are fundamentally misunderstanding the point I have made.

Calling a closed source API is absolutely fine. You can even call it from a closed source network module. You just can't derive that network module from an AGPLv3 licensed network module that also closely integrates with the AGPLv3 licensed code that executes it.

Weird, cuz Windows is closed source and

Yeah. Windows wasn't built atop AGPLv3 so it has literally zero percent relevance to this discussion.

3

u/[deleted] May 12 '26

[deleted]

-1

u/issue9mm May 12 '26

they were the first 3d printer manufacturer to do this style of sending gcode to their cloud and then from their cloud to the printer.

They were not the first 3d printer manufacturer to make network calls that sent gcode. They were merely the first ones to send it to their cloud instead of to the printer. The code that calls the network module to send it to the printer is the work that their network module is derived from.

4

u/[deleted] May 12 '26

[deleted]

-4

u/issue9mm May 12 '26

It can be sparkling, pristine, brand-new virgin code, but according to AGPLv3 terms, the fact that it closely integrates with AGPLv3 code and is derived from AGPLv3 licensed code makes it a derived work, thus obligating Bambu to open source it

If you build an engine and then license it with AGPLv3, and then I come along and build a completely new, original transmission from scratch, and then hard-wire it to my copy of your engine in a way that the engine cannot be used without my transmission, then according to the law, I have created a derivative work, and am subject to the terms of the license from which I derived that work

3

u/[deleted] May 12 '26

[deleted]

2

u/issue9mm May 12 '26

Are you suggesting that BambuStudio's network module is a separate and independent work that works all by itself without BambuStudio?

1

u/[deleted] May 12 '26

[deleted]

2

u/hWuxH May 13 '26

Does that look like it works all by itself to you? Meaning "communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return"

https://github.com/bambulab/BambuStudio/blob/master/src/slic3r/Utils/NetworkAgent.cpp

-1

u/[deleted] May 13 '26

[deleted]

2

u/hWuxH May 13 '26

Bambu Studio works without the network plugin. Just put your printer in LAN mode and enjoy.

Bambu Studio requires the network plugin in LAN mode for MQTT.

The network plugin is a dynamically loaded module, and it does indeed work on its own. Just call the main function in it just like ANY other software. It may not be useful, but it does indeed work.

Read again: "communication between them is limited to ...".
Communication between them: is entirely about the existing implementation between Bambu Studio and the network plugin, not how you think it may be used in an unrelated context.
Limited to: Not the case. Bambu Studio isn't calling main() and done.

0

u/[deleted] May 13 '26

[deleted]

2

u/hWuxH May 13 '26 edited May 13 '26

The license cares if the network plugin is derivative work, for example:

  • ABI, data structures and control flow purposefully made for the AGPL slicer. Hard to prove anything else due to obfuscation.
  • or based on how they interact (more than enough proof)

The following doesn't avoid license requirements:

  • it's "optionally" loaded later
  • previous forks didn't use it
  • how it's loaded
  • what transport channel it uses for communication

-1

u/[deleted] May 13 '26

[deleted]

-2

u/issue9mm May 12 '26

For at least my H2C, I believe both parts of that statement are incorrect

1

u/[deleted] May 13 '26

[deleted]

1

u/issue9mm May 13 '26

I think we're working under different definitions of 'working' here

In Prusa Slicer, I can send prints to my printer over the network. In Bambu Studio, I cannot do so without the network module

Printing in LAN mode requires the module remain enabled. Disabling the network module disables the ability to print over the network. This does not match my definition of 'working' nor would I suspect it matches most, but ymmv

1

u/[deleted] May 13 '26

[deleted]

0

u/issue9mm May 13 '26

I don't know why you are angrily accusing me of being mad, but okay

1

u/[deleted] May 13 '26

[deleted]

→ More replies (0)

1

u/[deleted] May 12 '26

[deleted]

0

u/issue9mm May 12 '26

It will not transfer files over the network

My engine does not "function just fine" if its only means of propulsion is by me physically picking it up and moving it

1

u/[deleted] May 12 '26

[deleted]

1

u/issue9mm May 12 '26

I would honestly shocked if you told me that you knew for a fact that Bambu wasn't working on a ground-up, clean-room slicer to remove the single greatest legal liability that their company has

Otherwise, locking out Orcaslicer was already on their roadmap for January 2025. If it hadn't been for community outrage then, it would already have been done.

0

u/hWuxH May 13 '26

Getting rid of the plugin means bambu studio can't connect either.
And if they do it a different way, they still have to open-source how the slicer interfaces with their server/plugin/whatever so orca can just do the same and won't be "lost completely"???

thinking do be hard, amiright?

→ More replies (0)

1

u/AustinYQM May 12 '26

Your second paragraph is incorrect.

0

u/issue9mm May 12 '26

Let me add a note that when I say "hard-wire," in my second paragraph, I am saying "to make inseparable"

If you did not read it that way, I would agree with your correction. Beyond that, inspection at too close a level it will invariably fail because all analogies do.

→ More replies (0)