We need straight anti-trust unbundling. You should not be allowed to abuse your market position as a hardware manufacturer to push your network-connected software by tying them together as one product. At a minimum, the software should have to be developed by a separate business unit, using only documentation that's been published for everyone. (and yes, having been an embedded hardware/software designer, including for things like power electronics, I'm quite aware of the implications)
Hardware and software needs a hard separation honestly.
I think that firmware shouldn't ever be bound by license, meanwhile software should be bound by it but mandated to be updatable/replacable by user - even with custom one.
Then let manufacturers pick where they set the boundary - do they add extra complexity of updating and replacing software to the component? or do they go for licenseless firmware?