Why bambu_networking violates the AGPL in Bambu Studio

· systems open-source · Source ↗

TLDR

  • Bambu Studio’s closed bambu_networking plugin is dynamically loaded, version-coupled, and deeply wired into the AGPL codebase, making it a likely AGPL compliance violation.

Key Takeaways

  • bambu_networking is hardcoded by name and version (02.06.01.50) in AGPL source headers, not a generic plugin interface.
  • Bambu Studio resolves 108 symbols from the closed binary and passes C++ structs, callbacks, and a QueueOnMainFn that executes code on the main UI thread.
  • The AGPL code itself downloads, installs, versions, and OTA-updates the closed plugin, making it a managed runtime component.
  • Covered functionality includes login, MQTT, LAN/cloud print, MakerWorld, camera, filament sync, telemetry, and file transfer – not an optional add-on.
  • AGPL v3 requires corresponding source for dynamically linked subprograms designed for intimate data communication, which this architecture matches.

Hacker News Comment Review

  • Commenters flagged the document as likely AI-generated, urging skepticism about framing and completeness.
  • The core debate is whether the plugin-download structure is a genuine architectural boundary or a legal workaround: without the plugin, large parts of Bambu Studio are non-functional.
  • Prusa founder Josef Prusa has publicly called attention to the same situation, lending some independent credibility to the compliance concern.

Notable Comments

  • @Gigachad: “The networking code is not some 3rd party content that happens to be loaded. It’s an integral part of bambu studio” – cites non-functional app without plugin as evidence.
  • @nazgu1: Flags likely AI authorship of the source document, recommends skepticism.

Original | Discuss on HN