Following yesterday's Linux 6.18 kernel release, GNU Linux-libre 6.18-gnu is out today as the latest release of this free software purist kernel that will drop/block drivers from loading microcode/firmware considered non-free-software and other restrictions in the name of not pushing binary blobs even when needed for hardware support/functionality on otherwise open-source drivers.
With Linux 6.18 there are more upstream kernel drivers dependent upon binary-only firmware/microcode. Among the drivers called out this cycle are the open-source NVIDIA Nova-Core Rust driver as well as the modern Intel Xe driver. Nova-Core is exclusively designed around the NVIDIA GPU System Processor (GSP) usage and thus without its firmware the driver is inoperable. Similarly, with the newer Intel Xe driver depending upon the GuC micro-controller without its firmware the support is also rendered useless.
Apologies, when I said free hardware I meant design as well as somewhat blending the term with free firmware. But either way the difference they draw isn't really all that different when you think about it. It's sort of irrelevant whether or not the firmware can be easily updated, what really matters is where the firmware is being executed. If it's running on the device then it can be isolated by the host system, if it's running on the host then it's not really firmware but rather part of the driver. The semantics don't change just because the firmware is "easily updatable." Having it be uploaded by the driver provides security benefits in that it can be patched by the manufacturer after the fact and having firmware in ROM which can't be patched doesn't guarantee it's more secure or even less complex in design. I guess I just see it as a somewhat arbitrary line and I personally don't agree with it
They're not saying devices shouldn't be programmable- they're saying if they are, users need to have the right to control the software that runs on said device.
For the FSF it's not about what's more "secure" or less complex, but rather whether there's freedom to be had. In the one case, having rights to view and modify the source gives the user additional freedoms they otherwise don't have, e.g. to apply security patches as you point out. In the other case, it doesn't, because even if they could view and modify the source, they can't make changes to their device with that ability even in principle. Note that, in general, the law does not prohibit users from modifying hardware that they own, so that's not an issue of freedom. But software is.
Having a circuit diagram for a chip you own is cool, but it doesn't allow you to change an IC- you don't have the practical ability to do that. Likewise if the "firmware" is permanent- viewing the "source" is maybe technically interesting but grants you zero additional abilities. If it's defective, it's the same as buying a defective IC. Tough luck.
You can choose not to care about the additional freedom you get if you're allowed to view and modify firmware for programmable devices you own, and that's fine. It's typically not meaningfully important for me either. But it's absolutely not an arbitrary line.
Why do you say it matters where the firmware is being executed? Is it less important to control less powerful computers you own? Why should the code suddenly be unimportant if it's not executing on your main processor?
That may not be their goal but that is what they are saying. The position of the FSF is that a device whose closed source firmware cannot be upgraded is superior to one that can be upgraded but for which only closed firmware exists. So, if you are buying proprietary hardware (and you are in 2025), you should prefer the closed hardware which is not programmable.
It is a stance that only makes sense if you care more about the simplicity of your message than the implications of your position.
They are directly creating demand for less open systems that provide less freedom. It is dumb.
The solution is simply to have a sane definition of “free software” that does not include firmware.
There should be a Free Hardware Foundation that calls for hardware to be free. They can demand that everything be completely open which most of us would support and may even be possible now that we have RISC-V. Their list of “approved” hardware could be essentially blank. That said they could participate in creating some. Of course, it would likely be worse at first. You know, like Free Software was bootstrapped.
The FHF could object to all non-free hardware while still acknowledging that programmability is a positive step that at least has the potential to be more open. The FHF could sponsor or endorse free firmware efforts.
That clarity would allow the rest of us, even the FSF fundamentalists, to make sane choices.
This is exactly my sentiment on the matter too. Firmware is not software in practice although it is in theory. Proprietary firmware that can be upgraded is better than firmware burned into a ROM although the FSF disagrees. I personally run nearly 100% FOSS...S as in software, I have no open firmware, I wish I did...but it just isn't realistic at this point in time.
100%.
There is a reason even the purists fall back on “hardware is out of scope”.
But calling firmware software drives worse outcomes. Will they do the same thing with RISC-V?
Is a RISC-V board better than an ARM board even if both have proprietary schematics and/or divers. In my view, clearly yes.
Every step towards open is positive.
The hypocrisy irks me somewhat as well. The FSF rather famously did not start by writing a kernel. It is why we have the GNU/Linux nonsense. The GNU utilities were first written to run on proprietary UNIX. And this made sense pragmatically as you have to start somewhere. But that was actually real “software” and yet RMS was ok with that. And today he tells people they cannot update the microcode in their Intel CPU.
According to his own definitions, the FSF should not have run a line of code on proprietary operating systems until the FSF had written its own kernel and drivers. But they enthusiastically did. Ok, so they did not write a kernel. How about the C library? Surely, they did not link to propriety C libraries. Or how about the compiler? Did they start with that? No, the first thing they wrote was a text editor (Emacs) and it was built with proprietary compilers, using proprietary C libraries, on proprietary operating systems. The C library came years later. Before that, all GNU software was linked with binary blobs (C library).
Fast-forward to today and you are supposed to condemn Debian for allowing binary blobs.
Not only dumb but massive hypocrisy.
From the article:
Basically, you're legally prohibited from copying software, but you're technically prohibited from copying ICs. Hardware isn't "out of scope", it's just not the same kind of thing as software- information can be copied for basically zero marginal cost, but hardware can't.
The FSF exists to fight legal encumbrances on the copying and modification of software because the technical details of hardware and software are totally different. Although, even in that same article, the FSF advocates for and recommends free hardware designs, which are more analogous to software. You can care about more than one thing. The FSF just particularly cares about software, including firmware, being free of unnecessary legal encumbrances related to copyright.