So, yes, making a GPL request will work for the very few components still under GPL, if a vendor releases a binary patch. But for most things outside of the kernel, patch diffing comes back into play, just like on every closed-source OS.
I would understand in a modular system like an operating system: one can argue that the kernel is a single component.
But if you're buying an appliance, the OS is effectively one single unit: all linked together.
Why does a binary executable and a binary image seem to operate differently in this space - both are inscrutable?
If your appliance runs linux it has separate components just like desktop linux.
You want to do as little as possible in kernel space, and depending on the appliance there isn't even any need for it.
So, like desktop linux, you can have closed source binaries on top of the kernel.
Why is it if I build a static binary with GPL code and distribute it I must open source my changes; but if you do the same as a whole OS it’s not necessary.
Feels like it should all be fine or none of it is fine somehow.