FSFLA: Linux kernel is "open core"
Posted Nov 11, 2010 13:54 UTC (Thu) by dwmw2
In reply to: FSFLA: Linux kernel is "open core"
Parent article: FSFLA: Linux kernel is "open core"
"What I'm telling you is that your kernel can't tell that this is your case, it can't tell whether there's any non-Free firmware in the devices that are present in the system, but it does know about devices that require non-Free firmware
Kind of true and yet still so
Yeah, the kernel can't tell whether my hard drive has non-free firmware, or whether my Prism2 PCMCIA wireless card does, etc.
But we know they do, we even detect certain revisions or features of the firmware and behave accordingly.
And the kernel can't tell whether a given firmware which it asks for with request_firmware() is free or not, either. The developer might have a-priori knowledge, just as they do in the firmware-in-flash case, but why's that any different? In addition, in the case of a loadable firmware it's actually possible that it could be replaced by a free reimplementation, even if there was only a non-free version available when the driver was first written.
"I can understand that you don't agree with the notion that freedom-respecting programs shouldn't induce users into non-Free traps, but I don't think it's such a hard notion to understand either."
You are mistaken; I understand that completely and I even sympathise to a certain extent¹. I just think that you're going about it the wrong way.
You're pushing a policy decision into the kernel where it doesn't belong, when the kernel doesn't even have access to the information it would need to enforce that policy.
I even understand, syntactically and semantically, your argument against doing this in the technically-appropriate place; in the userspace firmware loader where the request could be silently ignored without the user ever knowing or being "induced" to do anything. But I think it's entirely specious.
¹ when I say I sympathise
"to a certain extent", I mean only until I reach the realisation that your
"no inducement" policy really seems to translate into silent failure without letting the user know why something isn't working. If there's anything that really annoys me, it's crappy error handling where the user has to jump through hoops and rebuild things to debug and work out why they didn't work the first time. And that's what you seem to be advocating.
And then I realise that the long-term effect of what you're trying to do would actually induce users to favour the "Tivoised" devices which have firmware built-in on flash, over the devices where it's easier to replace the firmware because it's loaded through the OS. And by that time I really don't have much sympathy left for your position at all.
to post comments)