@mjg59 A lot of hardware has to embed non free firmware because incorrect firmware could cause physical damage to the device, and also because there's not really much other firmware it can run.
Most of the embedded firmware hidden out of sight and often not even upgradeable is tiny tiny embedded sequencing and the like or a deeply embedded 8051 running a 40 byte program because it was simpler to paste that in that write custom logic for it