Slashdot Log In
Proprietary Blobs and the Pursuit of a Free Kernel
Posted by
Soulskill
on Fri Nov 28, 2008 10:09 PM
from the free-as-in-beerspeech dept.
from the free-as-in-beerspeech dept.
jammag writes "Ever since the GNewSense team pointed out that the Linux kernel contains proprietary firmware blobs, the question of whether a given distro is truly free software has gotten messier, notes Linux pundit Bruce Byfield. The FSF changed the definition of a free distribution, and a search for how to respond to this new definition is now well underway. Who wins and what solutions are implemented could have a major effect on the future of free and open source software. Debian has its own solution (by allowing users to choose their download), as do Ubuntu and Fedora (they include the offending firmware by default but make it possible to remove it). Meanwhile, the debate over firmware rages on. What resolves this issue?"
Related Stories
[+]
Hardware: Atheros Hardware Abstraction Layer Source Is Released 117 comments
chrb writes "With the recent discussion here on proprietary blobs in the Linux kernel, it's nice to see that today Sam Leffler has released the source for the Atheros Hardware Abstraction Layer under the ISC license, which is both GPL and BSD compatible. The Atheros chipset is used in many laptops, so this is another important step towards running a completely free distribution."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
1 Answer: (Score:5, Insightful)
Learn from the OpenBSD team
Re:1 Answer: (Score:5, Funny)
Learn from the OpenBSD team
We should tell the users to go fsck themselves?
Parent
Re:1 Answer: (Score:5, Funny)
Parent
Supporting the freedom for my hardware to not work (Score:5, Insightful)
Once again, the FSF takes a noble goal to a loony extreme.
If the device manufacturers had put the firmware in ROM (flash/EEPROM/whatever) attached to the peripheral rather than downloaded by the driver, does that really change anything? You haven't given the user any more or less freedom; you've just redistributed what lives where and probably increased hardware costs (and made firmware upgrades less simple). However, then those releases could support the device and be fully "free" according to this new FSF decision.
Quite frankly, I'm a pragmatist who admires all the great freedom in Linux (and that's why I choose to use it) and supports hardware manufacturers who release their specs (hence the reason I now have an ATI graphics card). That said, at the end of the day, I want a distro that makes my hardware work without a ton of fucking around because somebody philosophically disagreed with a driver. I also respect those who would rather not use such things.
Therefore, my hope is that the Ubuntu/Fedora will not change their approach. This is one of those dealbreakers on a distro for me.
Re:Supporting the freedom for my hardware to not w (Score:5, Insightful)
I'm inclined to agree, but, apparently, there are hardware manufacturers who sue anyone who distributes their binary blobs without permission, but are quite happy to give Ubuntu and Debian and Redhat permission.. Freedom is not having to ask permission.
Parent
Mod parent up (Score:5, Insightful)
I agree w/ parent.
For me the issue is not, do I get the source code or not? Binary blobs are fine. If someone does not want to give the source that is OK w/ me.
But, if I do not have the right to hack it (whatever form it is) or do not have the right to redistribute my hack, then then it is not free and should not be included in a "free" distribution.
Parent
Re:Supporting the freedom for my hardware to not w (Score:5, Interesting)
Is it any more free than having a distro that's free but not having the freedom to run it on your hardware because it's completely useless?
Having a distro like that serves at least one practical purpose: I can use it to evaluate a given set of hardware for compatibility. That can inform future purchasing decisions.
For instance, having used Linux, I now know that I will never knowingly buy a Broadcom wireless card -- or, very likely, anything from Broadcom -- even for devices I don't plan to run Linux on.
This is just taking that one step further.
it's not like I could buy a complete set of open hardware
Actually, under certain, limited circumstances, you can. I believe the OpenMoko Freerunner was such a device.
Parent
Re:Supporting the freedom for my hardware to not w (Score:5, Insightful)
Very limited circumstances, but to continue with the rest of my sentence: How is being forced to use the OpenMoko Freerunner, a phone which I had no interest in using superior than using whatever phone I want, but having to deal with software I may not agree with morally? Until all platforms are 100% open and firmware support is universal you'll always be cutting corner at one end or the other. I guess they are the FSF not the Freedom Foundation though, so I guess I've answered my own question about their stance.
Parent
Re:Supporting the freedom for my hardware to not w (Score:5, Insightful)
These limits to your choices are not a sacrifice for your freedom. As freedom in your example means to be able to make your choices according to your requirements, not the availability of the choices that will fulfil all your requirements.
Here we are talking about freedom on another level, and it is how unrestrained you are in your work with the computer system, and the aim is to create a system in which you don't get any forced restrictions, which can be abused. Being disallowed or prevented to do these things with software is an example of a real freedom restriction.
The hardware is removing part of your freedom. At that moment you aren't affected much by this, as neither this is abused, nor it is limiting anything important that you could do. Still, in the long term, if the issue is overlooked, it might lead to many trouble. And it is already creating issues with creating free systems. So doing something about the issue is good in the end.
It doesn't mean restricting you from using the said hardware, just putting this hardware at a little disadvantage, which will draw the line on what is acceptable, and will push the things in the direction that you get more freedom with the hardware in the future.
The aim to create a free phone is also a step in the right direction. While not really that usable, and therefore not helping anyone, it is taking us in the right direction.
Parent
Re:Supporting the freedom for my hardware to not w (Score:5, Insightful)
Parent
Re:Supporting the freedom for my hardware to not w (Score:5, Insightful)
I've never had problems with Xinerama and nVidia but yeah I suppose S3 could be problematic.
Personally I think I'll stick to Intel for the moment.
I'm not a gamer and as long as it handles KDE 4's compositing, then I'm happy.
Their drivers are stunning and they are completely open.
2.6.28 and 2.6.29 have some really neat stuff for Intel cards.
Parent
Re:Supporting the freedom for my hardware to not w (Score:5, Insightful)
and what loony extreme would that be? moral/logical consistency?
a "free distribution" by definition needs to be "free" in the FOSS sense. they're simply modifying the definition to elaborate on an issue that had been overlooked up until now.
no one is forcing you to use a free distribution. and the FSF hasn't condemned the Fedora project for taking the pragmatic approach. but it would hypocritical for them to overlook the issue of proprietary firmware blobs in their definition of free distributions after the issue has been raised by members of the community.
i'm a pragmatist too. i run Windows XP because the programs i use for work are Windows-only. but i'm not going to bitch about FSF not including my Windows XP Professional distribution in their definition of a free system just because someone "philosophically disagreed" with an OS.
Parent
Re:Supporting the freedom for my hardware to not w (Score:5, Interesting)
Parent
Re:Two New Software Freedoms (Score:5, Insightful)
-2: The Freedom to run any hardware, for any purpose
That has no business as a 'software' freedom, since it explictly affects only hardware. Good 0 Freedom for a Free Hardware Manifesto, though.
-1: The Freedom to run proprietary software, to run any hardware.
Except that propietary software conflicts with every other freedom, and as such the manifesto would contradict itself.
I don't understand why people don't want others have the freedom to install proprietary software on Linux system. I use both Linux and Windows. I enjoy running the latest and greatest games with the fastest video and sound cards.
Who? Stallman doesn't, he thinks running propietary software is inmoral, but he's fighting that the way a true freedom fighter would: by convincing you of it with arguments, not by force. You're still free to make an entire distro centered around NVidia's propietary drivers, you're still free to use GCC to compile propietary software, and you're still free to use GNU Emacs to write it. Your freedom hasn't been affected, you're just being warned about the consequences of doing so.
If Stallman had his way, there would be a huge disincentive to have working drivers. I require that my computer works with the hardware I bought for it.
Yeah, so? Freedom doesn't mean "everybody plays nice with my own wishes". They allow propietary drivers already, no reason why they should incentive them.
However, Stallman's philosophy that "A free system distribution must not assist users in obtaining any nonfree information for practical use, or encourage them to do so" is ridiculous. Why should this be so? How does this promote freedom?
How does this counter freedom? the information is not being censored, it is not being eliminated, it is simply being, well, not advertised.
Stallman can't see the forest from the trees.
Funny, but that's exactly what I'd say about you. You're not only willing to diminish your own freedom for a simple sound card, but you demand (not ask, demand) the help of Free Software developers in doing so.
Parent
Re:Two New Software Freedoms (Score:5, Insightful)
Given that an operating system consists mostly of a bunch of drivers attached together with a kernel, there are good reasons to prevent distribution of closed drivers mixed with GPL ones. I don't think it is legal, not without stretching the meaning of the GPL.
Consider the following scenario:
Intel develops new closed undocumented architecture with a 16 core cpu. Similarly to current network or video cards, you need a proprietary driver to enable the super accelerated multicoreness. In order to allow the use of the newer faster cpu's, Linux vendors do what they did with the other proprietary drivers, label these drivers as "not part of the kernel" put them in a wrapper and ship their version of Linux with the proprietary drivers which, for now, intel is giving away for free as a binary blob. For a while everybody is happy and content. The new 16 cores chips becomes the norm. There are even 32 core chips on the market and the 64 cores chips are soon to be released all of which rely on proprietary drivers.
Suddenly, we hear that a large company, Lintelsoft, started by ex MS executives, makes a deal with Intel, a very lucrative deal for Intel, to license the drivers. Intel then says they won't give away the drivers anymore but you are free to buy the brand new Lintel Linux distribution. This distribution, which sells for 699$ a piece is all GPL'd except for those drivers that have become so prevalent that you need them in order for computers to run at a reasonable speed.
Open source programmers scramble to write free replacement drivers that work on their Gnubian distribution but only manage to make drivers that can run the multi core cpu's at 1/20th the speed as Intel won't release documentation or specifications. Linux is rendered mostly useless except for the Lintel distro, (which is also available for free and with sourcecode as Lintelora, excluding the proprietary driver sources of course) You can always plug in the Gnubian drivers in the free Lintelora project and get a working computer but it will only run at 1/20th the speed of the commercial 699$ a pop version and isn't powerful enough to run the new Mozilaurus browser smoothly.
In this scenario, Lintelsoft would have effectively stolen Linux from the open source community, making profit with other people's source code and breaking all versions that are free.
How can we let anyone close up an obviously derived work based on some wrappers?
Notice that, even today I sometimes need to pay to get a fully working Linux from certain vendors, like Mandriva. (if i don't pay, 3d acceleration wont work.) I expect that kind of twisting of the law by commercial vendors. It surprises me that even Ubuntu is including proprietary video drivers nowadays.
What's worst is that legally in order to maintain copyrights you need to make reasonable efforts at protecting those rights. Legally if the open source community waits until the binary drivers become problematic before acting, proprietary vendors will be able to argue legitimately that closed source code has been allowed in the kernel by the open source community for a long time now: The law says that you are not legally allowed to suddenly change your mind about interpretations to suit current needs thus the open source community would be screwed.
Parent
holy war batman! (Score:5, Insightful)
Oh god, here we go again with another sequel to "Defining Free Software: The Neverending Story"...
It's just like people who argue the United States is a democracy. Then some joker has to stand up and correct them and say it's actually a federated republic. And then someone has to mention that it's a capitalistic federated republic. And then the grizzly-haired guy in back stands up and he says it can't be capitalism because we've got things like the Security and Exchange Commission, and rules and regulations, and the FCC, and the FDA, and and and -- why my god there's an awful lot of socialism here. And then someone has to point out that what we're really talking about is whether something is mostly a free market, because nothing out there is truly one thing or another-- And then the liberal arts major stands up and everybody laughs at him before he can say anything.
I'm going out for a smoke... I already know how this ends. Mr. Rogers wins (in a blood stained sweater).
How about when there is no alternative? (Score:5, Insightful)
Sometimes there are simply no good alternatives to binary blobs available. Case in point, the nvidia closed source graphics drivers. As it stands nvidia currently produce the best graphics drivers available for linux hands down. The intel open source drivers don't even come close and both open source and closed source ATI drivers are a joke.
The nvidia driver is the only linux graphics driver which supports:
a) The full opengl spec, in hardware. The intel drivers fall back to software for some opengl calls and don't support frame buffer objects at all.
b) A proper memory manager which enables, among other things, framebuffer objects and true redirected direct rendering, none of this AIGLX bullshit.
c) Any kind of opengl or compositing on multiple monitors
d) Reliable video and opengl vsync
e) Working video decode acceleration for modern high definition h264 video.
f) Proper colour/gamma adjustment for the X screen
g) Overscan adjustment for dvi to hdmi adapters
It also has by far the fastest opengl performance, is the most stable and just generally works the best out of all the linux graphics drivers. If you want decent graphics performance on linux, forget the open source drivers, go with nvidia. I'm sure anybody who has struggled getting dual monitors to work properly with any other driver will agree with me.
I know this might be a hit to my karma, but one area in which open source really isn't up to par is graphics drivers. I'd love good open source drivers for display hardware as much as anybody but for the moment nvidia's closed source drivers just wipe the floor with everything else. If you're going to complain to anybody, complain to ATI for not putting enough effort into their open source driver, although recently this has been improving with additions like DRI2 and GEM.
So before becoming evangelical and denouncing closed source modules as evil, try improving the open source modules so that they come close to the same stability and functionality.
Sam
Re:How about when there is no alternative? (Score:5, Insightful)
If that's true, then you can't accomplish your task using only free software. You apparently care more about "Overscan adjustment for dvi to hdmi adapters" than about using 100% free software - and that's your choice - but not everyone agrees with you. Even for people who do agree with you, there's still some value in *knowing* when you're using binary blobs.
Parent
Non-free blobs are a problem, but... (Score:5, Insightful)
I've been watching the non-free blobs issue for awhile (particularly over here at Sun, where in JDK we call them "plugs"), and it's a good discussion to have.
However, looking at the new "Free Distro Guidelines" above, I'm struck by a particular section which seems extreme:
A free system distribution must not assist users in obtaining any nonfree information for practical use, or encourage them to do so. There should be no repositories or ports for nonfree software. Programs in the system should not suggest installing nonfree plugins, documentation, and so on.
and later:
All the documentation in a free system distribution must be released under an appropriate free license. Additionally, it must take care not to recommend nonfree software. [...] What would be unacceptable is for the documentation to give people instructions for installing a nonfree program on the system, or mention conveniences they might gain by doing so.
That's just ludicrous. Frankly, it's just a (very) small step away from requiring that you don't (or can't) run any non-free app on your "free" OS. That single clause has just blown any notion of a "free" (in any sense of trying to protect the end-user's freedoms, which is the FSF's major ideological foundation) distribution. I don't know who the manic that wrote that section is, but it's going to cause immeasurable harm to the Free Software movement.
If we go by that clause, NONE of the distros are free. You'd have to cut out a huge chunk of the Ubuntu distro, remove the entire non-free Debian archive, and I'm not even sure how to get it out of Fedora.
Honestly, the addition of those clauses take it from an entirely reasonable "Please use Free Software, and this distro contains only Free Softare" to a "Free Software! Free Software! (la-la-la there-is-no-non-Free la-la-la)" freakazoidal world.
The rest of the proposal is OK, with minor quibbles, but that clause is a show-stopper. Get rid of it right away. Or lose any credibility that the FSF has.
-Erik
Re:Non-free blobs are a problem, but... (Score:5, Insightful)
Except that, by saying "you can't talk about proprietary software", you're taking away freedom. It's called censorship.
Proponents of free / libre software shouldn't act like they're afraid of proprietary software. It just makes us look stupid and weak. The grandparent poster is exactly right. It's the same with the GPLv2 vs. GPLv3 wars - GPLv3 is "necessary" because of TiVO? Because of lard-arses who want to watch TV? Fuck that.
Freedom includes freedom of speech. If a free distro wants to include instructions on how to install a proprietary OS alongside it, that doesn't make them suddenly "non-free". Or are we now against "information wants to be free" this week?
Parent
Re:Non-free blobs are a problem, but... (Score:5, Interesting)
I can't believe a totally illogical comment like yours is "+5, insightful". There's no censorship to not recommending a distro as "free" software when said distro itself recommends non-free software. It's only a matter of policy for whom and what the FSF wants to recommend. That's no more censorship than if Amnesty stated they would not recommend a political party that recommends torture. OH BUT THAT'S AN ATTACK ON FREEDUM OF SPEACH! No, it's not, idiot.
Fuck, this site is so full of morons that it makes me sick.
Parent
Who cares *where* the non-free firmware is? (Score:5, Insightful)
I've always wondered why I, as a Freedom-loving-user, should prefer a device which has its non-free firmware embedded in a ROM or Flash chip rather than as a file on a CD or FTP server with my linux distribution.
Because, let's be clear: *where* the non-free firmware is being stored is usually the choice you have.
100% Free hardware would clearly be better, but there's precious little of that around...
So: why is it evil to have the firmware distributed on CD? Why should I care even one itsy-little-bit where it's stored?
Please define "firmware blob" (Score:5, Insightful)
If they mean a piece of firmware for download to a specific hardware device, then that is rarely in the *kernel*. Usually it is held in a separate file on disk, that is downloaded to the device at boot time. If it is in a separate file, the binary firmware blob is then not a part of the kernel, so the point is moot. The little bit of loading code that opens and reads the file and blasts it to the hardware is part of the kernel - and is most likely already part of the open source code.
If they mean a part of the kernel with no open source, then it is kernel code and please stop calling it firmware.
It still isn't free (Score:5, Insightful)
until you have the code for every PGA, the microcode for every processor, the schematics of every logic element. These all embody code of some sort. Where do you draw the line?
Re:I am typing this from Gnewsense (Score:5, Informative)
Parent