The sad truth is that the Linux distributions recommended by the FSF have approximately zero users.
I agree, but I also think this depends heavily on who you ask. Stallman for example would rather have poorer functionality than compromise his personal (extremist) ethical principles.
There are a lot of folks who use laptops without wifi because the blobs are non free, so they're using ancient ThinkPads plugged into Ethernet.
Much depends on your personal computing needs.
Stallman is open to pragmatism now and again. For example, on this very topic:
https://www.gnu.org/philosophy/free-hardware-designs.en.html
> We can envision a future in which our personal fabricators can make chips, and our robots can assemble and solder them together with transformers, switches, keys, displays, fans and so on. In that future we will all make our own computers (and fabricators and robots), and we will all be able to take advantage of modified designs made by those who know hardware. The arguments for rejecting nonfree software will then apply to nonfree hardware designs too.
> That future is years away, at least. In the meantime, there is no need to reject hardware with nonfree designs on principle.
Not a single thing I've ever read about him has indicated this to be even remotely true. We're talking about the guy who used a Lemote Loongson-based laptop in text mode for years and isn't capable of uploading HTML to his own website (he has to rely on volunteers to do this for him, per his own website).
All that in the pursuit of ideological purity.
Eg I intentionally got an old ath9k PCI-E wifi card for my Debian 11 router because it works without proprietary firmware, unlike newer ath10k etc cards.
it makes it easy to get working
...and it also carefully attempts to lock you in using packages that can't¹ be disabled.
just saying it is a slippery slope.
[1] well with effort you can
https://www.baeldung.com/linux/snap-remove-disable
https://gist.github.com/jfeilbach/f4d0b19df82e04bea8f10cdd59...
The software needs hardware to run, and the whole point of the software is to make the hardware useful. If you can't use the hardware, what's the point of the software?
In my book, freedom is a function of usefulness. No amount of redistributable source code has any value to me if I can't run it.
Enabling the use of hardware I already own is not a compromise, it's a solution. It's what operating systems exist for. Debian is fulfilling its primary function. I'm glad that this necessity was finally recognised.
By being forced to install non-free BLOBs to be able to use "our" devices we actually admit that we're not the ones who actually control "our" computers. That's admitting full defeat! You're not the owner of "your" devices.
Given that computers are now kind of "brain extensions" this means you're not in control of a substantial part of yourself.
This has quite some implications! And I'm not even thinking about such things like future computer devices connected directly to human brains…
I had more than once, back when I first installed Debian in the late 1900s and early 2000s, and I believe my experience wasn't unique.
Back then, not requiring any loadable firmware was common; the hardware either didn't require firmware, or came with the full firmware in a ROM chip in the device itself. And that explains the issue: Debian is an old distribution, coming from these times when not having non-free firmware (or even any firmware at all) in the distribution was viable, and often fully usable.
On the other hand, firmware is a convoluted issue. It was always present, but became increasingly visible over the years. While I'm a strong Free Software supporter, firmware is one of the hardest parts to convert, because of the IP it entails and trade secrets it embodies.
At the same time, you have a good point, these decisions are difficult and need to be very carefully weighted. Debian and RedHat are the two distributions that everybody else always ends up following so a major departure from established policy there has potentially huge impact downstream.
How is that different from the "if you want to run linux don't buy a winmodem" that we said convincingly twenty years ago ? Would you have approved that linux 2.0 added binary blobs to the kernel in order to correctly work with the hardware that you had invested in (some random winmodem) ?
But they don't have to choose Debian.
If Debian had maintained a strict "Free" stance, people could still use their troublesome hardware out-of-the-box simply by picking another distro that did include non-Free firmware in the installer. There are plenty of them. Like, 99% of all other distros.
Not all distros have to be everything to everyone. It's OK to have a niche.
When thought with a clear and unbiased mind, Debian did the absolute best they can do.
Add firmware, be open about it, install only when necessary, allow people to opt out when they know what they are doing.
This isn’t Debian’s niche though. Like many distros, Debian came with the free repos configured by default, but its had non-free packages available forever and they already had a non-free installation iso hidden away. The line had been crossed forever ago. Now it’s just a friendlier experience.
This is a good thing.
Point 1 of the Social Contract[0] is literally "Debian will remain 100% Free"
Please explain how championing Software Freedom would not be Debian's niche.
Because you wouldn't be pushing those users to an alternative linux distro, you'd be pushing them to Apple and Windows and that's far more damaging to FOSS than to include some firmware blobs. The issue was debated at considerable length, I've followed the debate (because I use Debian and Debian derived distros on all of my machines, including laptops, servers and desktops) and I'm happy to see this outcome because it shows a certain level of maturity. The world isn't easily defined in terms of black and white. Debian is doing a great job and this minor concession is only going to strengthen its position as the FOSS distro of choice because more people will end up being able to use it successfully.
Note that far more people care about whether or not a distro works on their machine than whatever narrow reading of 'The Word' causes it to malfunction. Builders are few, consumers are many and I'd much rather see Debian succeed in the long term than die on the hill of FOSS purism.
The Linux-libre people even removed the warning that the CPU is vulnerable to spectre/meltdown if you don't update the microcode. But ... your CPU already comes with that microcode out of the factory, just a different version of it. How is running an older known to be buggy microcode better?
As far as I know, Debian does not distribute proprietary EEPROM firmware updates at all, as these are generally not required to use the hardware (and, depending on the device and update in question, may or may not be recommended for most users).
In other words, the difference is practical, not ideological.
My point was that the entire position just doesn't make any sense: either you reject all non-free software no matter how it's loaded (which means there are very few computers you can actually use), or you just use your hardware with "non-free firmware" that would be baked in anyway and stop worrying about the entire thing.
If you want the maintain the status quo you support the hardware that has the most users, if you want to change it you also support the hardware you want them to use.
The relevant documentation is here: https://wiki.debian.org/PortsDocs/New
Also, the rules for becoming an official port is here: https://ftp-master.debian.org/archive-criteria.html
When RISC-V satisfies the relevant criteria, they can become official.
Also, maintaining a port is tremendous amount of work. Debian users only see the tip of the iceberg. There's so much beneath that.
Is RISC-V the be-all, end-all? No, but it could help them get a lot closer than they're likely to get with any of the proprietary ISAs.
This is just like Debian generally does not write new useful software to put into Debian, and instead depend on outside, “upstream” authors to write software. Some other organizations, like FSF and its GNU project, will have advocacy roles, and do have the incentives to write new software and to help porting to new architectures. It is there that the motivations for this work must be found. Of course, individual people can be involved in more than one organization, and many Debian people happen to be enthusiastic advocates, and will in fact often do this work. But the reason for them doing this work is not, mostly, rooted in them being a part of Debian.
Therefore, and this is my point, if you want this work to be done, you can’t exhort Debian to do it. It will not work. Ask instead why someone else, whom you think should be motivated to do the work, does not do it.
Yes, but my point is, they weren’t doing that work just because they were Debian contributors; they had their own additional reason for doing it. They were not assigned the work by Debian central command. Therefore, asking Debian why Debian does not do some work or other is usually the wrong way to get something done.
That said, the community of contributors are what makes up the Debian project, so in a sense it is Debian deciding to do things when Debian does things :)
If they conflict with RISC-V's own space, the chip can't use RISC-V trademarks.
And, of course, the RISC-V Consortium will never adopt proprietary extensions, as that goes against its core values.
Everything else matters as much as FSF point of view on something being free or not.
So that we do not have to rely on anybody's goodwill.
Just like many open core products that really need the full deal for being usable in a proper way.
Expecting otherwise is whishful thinking, or academia/maker community focus.
The plan is to have it ready for Debian 13: https://lists.debian.org/debian-devel-announce/2023/06/msg00...
Including but making it optional was an excellent decision. Those who need will get what they want, those who don't will have the same result as with Bullseye.
And if I'm not mistaken, this isn't about kernel blobs (which run on the CPU as kernel code), only code that gets loaded on devices (including CPU microcode).
The legal system sometimes has definitions of copying that aren't that straightforward. I've seen in a copyright context judges talk about a computer loading software into RAM being copying.
Intel microcode comes with a license: https://bugs.gentoo.org/664134
IANAL, but this is a general concept of exhaustion of IP rights when the IP is sold as a part of physical medium, see (28) and article 4 of EU copyright directive 2001/29.
> The legal system sometimes has definitions of copying that aren't that straightforward. I've seen in a copyright context judges talk about a computer loading software into RAM being copying
This is handled in (33) of the directive:
"The exclusive right of reproduction should be subject to an exception to allow certain acts of temporary reproduction, which are transient or incidental reproductions, forming an integral and essential part of a technological process and carried out for the sole purpose of enabling either efficient transmission in a network between third parties by an intermediary, or a lawful use of a work or other subject-matter to be made."
If it can go wrong it will, and if software isn't free then its owners will do things that the users really do not like. In this case, if they can fix bugs they can reduce functionality post-hoc. That is consequential. It is better to have freedom or certainty as to what a device does.
As a practical example, I have never heard anyone considering the freedomness of firmware in eMMC flash memory chips. But the talk "eMMC hacking, or: how I fixed long-dead Galaxy S3 phones" from CCC reveals that actually, Samsung eMMC chips have an undocumented debug interface to read/write the RAM of the firmware running on the ARM core inside the eMMC chip.
As far as I'm aware, nothing has recently changed in this regard. It's more of a reflection on the mentality of young members, those who tend to treat software as if it's in a vacuum, separate from all the social and moral concerns of the meatspace.
If you have firmware/software/whatever in a device, which is updateable (as opposed to mask-rom or hard logic), I'd much rather have it transparently managed by an OS I can control, than some EEPROM with often proprietary, inscrutable, I-ask-you-nicely-please-update-your-firmware update mechanism.
IMO, the difference is - with OS provided firmware (and preferably no writable storage), I can be sure my device is running the same SW as the rest of the world. With dozens of EEPROMs in my device, I can never be sure what is running on it.
Firmware that is legally not redistributable is a non-trivial, though perhaps less bothersome issue. Firmware that requires manufaturer's signature is bothersome but I would still prefer it over inscrutable hidden firmware.
An important change appears to be the inclusion of non-free firmware by default in the official install image for the first time, as a result of this vote: https://www.debian.org/vote/2022/vote_003
Intriguing. I feel a little torn on this. One the one hand, I appreciate being able to install Debian from an official image onto a bothersome device. On the other, I can't help but feel we're losing something when even a purist distribution like Debian is forced to concede in the fight against proprietary blobs.
Edit: dropped the word 'kernel' from 'proprietary blobs', as rightly picked up by kind commenters below.