Debian Removes Binary-only Firmware From Kernel
mbanck writes "The Debian Linux kernel maintainer has announced that he will remove firmware from GPL'd drivers which obviously lack source code in its preferred form (i.e. something more appropriate than a hexdump inside a char[]), in accordance with the release manager's decision. The alternatives are user-space loading of the firmware via hotplug's request_firmware() API or making the vendors aware of the issue. How do the other distributions handle this?"
One of the drivers I use - the tg3 Gigabit Ethernet driver - is affected by this. The driver currently contains non-free firmware that is uploaded to the card in a couple of cases.
An interesting thing about this driver is that it appears to work (to the extent that most people need) without the firmware. There has been some attempt on the linux-kernel mailing list to make the firmware part of the kernel optional. That way Debian can just turn that option off and presumably remove the associated firmware from their kernel. Anyone who needs the bug fixes/features provided by the firmware can use a non-Debian kernel.
Not everyone's in favour of this idea though. There's more about it on the mailing list if anyone's interested.
Meep meep
Correct me if I'm wrong.
There are currently some vendors whose hardware require firmware to be uploaded to them (for example, Broadcom NICs), and these vendors have esentially embedded the binary for the firmware into the kernel source.
Since the firmware is most likely not GPL, and the kernel source is GPL, we've got a GPL violation on our hands.
So the suggested fix is to have these vendors pull the firmware out into its own file, and rewrite that part of the kernel source to pull in the firmware dynamically.
Doesn't really seem like that big of a deal, unless I'm missing something?
In some ways this is what Linux needs. Darwin's system, where kernel extensions are packaged up with XML files that describe capabilities, requirements, etc, strikes me as a good model to follow.
As far as Debian's choice with the kernel as-is, I honestly don't think they have much of a choice. There are licensing issues with including binary-only code in the kernel, I see nowhere in the GPL that gives a get-out if that binary is supposed to be run on a different CPU. Right now the practice is tolerated, but it probably shouldn't be.
You are not alone. This is not normal. None of this is normal.
Ah, debian we love you for it though.
Yes, we do.
This is an example of a rare thing called "Integrity": sticking to your principles, even when it's inconvenient, or painful.
Lots of people are going to call Debian foolish and narrow-minded, but it's the same foolish and narrow-minded sense of principle that started this whole Free Software movement, and it seems to me that with the burgeoning commercialization of Free Software, it's very important that we have some voices who maintain the "pure" vision. Not because the commercialization is bad, but because commerce is pragmatic and that pragmatism poses some risks to a movement whose foundation is idealism.
Ultimately, making Free Software a truly viable option for computing requires a mix of both idealism and pragmatism, and we do, indeed, love Debian for providing an idealistic counterbalance.
Oh, and it's a damned fine operating system, too :-)
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
I agree that this is going a little far.
The firmware code doesn't get executed by the CPU, and thus in a sense it doesn't get executed by Linux. Firmware is used by an off-board processor, and thus I don't see a GPL violation here.
Consider if a piece of hardware needed a Magic Number string to start up. No code, no logic, no meaning; just a magic number required to activate the device. Can't we consider the firmware code as just a magic number? After all, Linux doesn't interpret or execute it.
(\(\
(^.^)
(")")
*beware the cute-bunny virus
This could be a very good thing for linux. It could encourage vendors to provide updated firmware that can be installed from userspace, without requiring a kernel patch. It could encourage vendors to provide firmware at all designed for linux. For some other vendors it will surely encourage them to release the source, which will only lead to a massive hack-fest and fast improvement in capabilities of the firmware, which the company can negotiate to include in their windoze product. It seems to me separating firmware is win/win for both vendors and users, even if it is rocky while the separation is taking place.
-- Bob
1^2=1; (-1)^2=1; 1^2=(-1)^2; 1=-1; 1=0.
But, a point I was trying to make, what if the toolset required to generate isn't open? There could a dozen reasons for that from technical (the device's CPU is not supported by GCC) to political (tool used by vendor is closed - either by the vendor or by NDA).
Now were back to the discusion of device proliferation and hardware compatability. This point is already begin discussed quite well with one noteable exception.
What about vendors who lock their code into on-board EEROM chips? That class of vendor surely covers over 95% of them out there. Think about it CD-ROM drives, Video card 3D engines, Printers, Phones, Music Players. These all have on-board systems. But if the firmware is locked in the device for the most part, it's out of sight, out of mind. But, when you get right down to it, there's no difference between a hex-dump in a kernel file or code locked in on-board EEPROM.
The "Great Moment" that launched Richard Stallman's crusade to liberate software was when his trying to get a printer manufacturer to give him the source code to a buggy printer so he could fix those bugs. They said no. Not long after that incident and watching computer makers "steal" X11 for their own versions of UNIX, the GPL was born.
This is a boring sig
That's a damn good principle to stick to when you are based in the most litigious nation on Earth.
Just think 'non-US' and you'll realize that one of Debian's policies has always been to make sure not only that it works, but that it actually works legally. It only takes one C&D letter (or, if you don't fold to those, one court order/FBI visit) to fuck everything up and undo the countless man-hours that have gone into Debian.
For that matter, they are also trying to protect their end-users. IP law is a sketchy thing and we all have heard the SCO-babble about end-users being responsible for the IP within the software they use. If you remove legal issues before the software reaches the end-user... Well it's just good for everyone.
Except in this case the principle their sticking to is rabid legalism.
What? Debian's goal is to be a complete, *Free* operating system, where the definition of "Free" is the one put forward by RMS and the FSF, namely: Free to use, free to examine, free to modify and free to share. These binary-only firmware components are not Free. You may have freedom to use and share them, but you can't examine or modify them. Debian wants to be a Free operating system not Mostly Free, or Very Nearly Free.
What's "rabid" or "legalistic" about that?
It's pragmatism taken to an extreme.
That sentence parses just fine (no misspellings, even!) but it makes no sense. What are you trying to say? How can such an impractical decision be "pragmatism taken to an extreme"? What would that phrase mean anyway? Extremes, by definition, are not pragmatic!
It has nothing to do with FSF style "save the users from themselves" ideology.
Now you've switched to a different target, choosing to mischaracterize the FSF's position. FYI, the FSF has no intention of saving users from anyone, the FSF just wants to make it possible for people who want to to create, use, read, modify and distribute Free Software, with the assurance that the original author's wishes (that it be Free) will continue to be honored as long as the copyrights are in force. If anything, it's about saving developers from having their work misappropriated, not about saving users from anything.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
Q: "But why don't they include the accelerated NVidia driver?!? That would be useful!"
A: Because it's not Free.
Q: "But why don't they include qmail?!? That would be useful!"
A: Because it's not Free.
Q: "But why don't they include pine?!? That would be useful!"
A: Because it's not Free.
Despite that, every time Debian removes (or refuses to add) a piece of non-Free software, the "pragmists" queue up to swear that Debian is irrelevant because they don't care about market share, or that they're a bunch of extremists.
Understand this: Debian has a very explicit social contract with their users. If you continue to be surprised by their strict adherence, then either 1)you need to accept that they will always side with Freedom over pragmatism, or 2)you have a seriously warped worldview that causes you to be mystified by integrity. Either way, find something else to gripe about.
Debian is Free and increasingly popular among those of use who share that value. Every time they make a difficult decision like this, even at the expense of practicality, I respect them even more. Even if you hate Debian, you still benefit from their hard-line observation of their ideals every time you execute a bit of Free code that exists because they otherwise would have rejected it from their distributions.
I just don't why some people are still surprised each and every time. A real news article would be "Debian includes Qmail in 'main'". Now that would be a reason to criticize them. This is not.
Dewey, what part of this looks like authorities should be involved?
Yes, absurdity. It's not like anyone is ever going to accuse Linux developers of copyright infringement...