I'm slightly confused on licensing terms when trying to juggle OctoPi licenses, Octoprint licenses, and what I need to do with my plugin that is designed as the user interface for an "appliance"-style piece of hardware running OctoPi internally.
My product consists of a stock OctoPi (GPLv3) distribution with the following modifications:
Guysoft's auto-hotspot module for CustomPiOS (also GPLv3, and technically falls under the "copies portions of itself" into the product)
A custom module that downloads and deploys the Cura Legacy plugin, and also deploys my custom Octoprint plugin.
I intend to produce kits based around the Pi that provide a simple interface for basic operation of the 3d printer. What I'm struggling with is what I need to provide to comply with all the licensing.
For my plugin as a standalone, am I right in thinking this code would need to be AGPL-licensed due to being run out of Octoprint? The GPL FAQ says
If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins.
The real question comes when I release the combination of OctoPi, auto-hotspot, CuraLegacy plugin, and my plugin as GPL. Do I then have to rehost the sources of every one of these products for handing out when someone asks for my source? Given that auto-hotspot and OctoPi are programs that don't actually end up in their entirety on the final program, do I need to include their sources or just the code generated by running the CustomPiOS build script?