> So it's OK to have this closed, undebuggable, unfixable crap as long as you aren't asked about it?
No, it's not ok at all, and it surprises me that you're bringing up this straw man again. We've already covered it, both in this discussion, and in our personal conversations.
What is ok is for a program (even the kernel) to interface and work with the environment in which the user started it. If the user decided to run the kernel on a machine that has a crappy non-Free BIOS, well, too bad, it can lament for the user but still do the best it can to work, even without telling the user anything about it.
However, the moment the kernel runs request_firmware(), it's asking for something. If this something is known to be non-Free Software, it's not OK for the kernel to ask for it, even though it would be ok (but unfortunate) for the user to ask the kernel to use it and for the kernel to then use it.
> It doesn't care whether it's using the Broadcom b43 firmware or the OpenFWWF version, for example
Except that, indeed, it does. It doesn't just use different pathnames to ask for one or the other, it also tests properties of the user-supplied file to figure out which one it got.
If it didn't have to tell the difference, then Linux-libre would make the request and just take whatever the user gave it, for it would be indistinguishable from an inducement perspective, i.e., the kernel would not be inducing the user to give up her freedom. From the point of view of the kernel, it would be just as indistinguishable as a hardware device that is implemented entirely as hardware circuits or driven by a piece of software stored in ROM or non-volatile RAM, in that no inducement is involved.