Linus Puts Kibosh On Banning Binary Kernel Modules 494
microbee writes "On LKML's periodic GPL vs. binary kernel module discussion, Andrew Morton hinted that he favors refusing to load binary modules in 12 months. Greg Kroah-Hartman then posted a patch to do exactly that. Surprisingly Linus chimed in and called it 'stupid' and a 'political agenda,' and even compared it with the RIAA's tactics. Later in the same thread Greg withdrew his patch and apologized for not having thought it through."
Re:Linus was wrong on one point (Score:1, Interesting)
I think he was wrong at simply
It's either false modesty or ignorance [not using the word as an insult]. There are enough people who worship at the altar of Torvolds that no matter what he says, someone will listen. His work has affected a lot of lives to their benefit (directly or indirectly), so it does make a lot of sense.
And, although I dislike his OS (I use another OSS OS that gurantees at least 1 troll vote whenever I mention it), I do very much agree with his other statements in that article as well.
Linus should have just went with BSD license (Score:2, Interesting)
If Linus doesn't think that the terms of the license should be uphold because of his convictions, maybe he should have went with a different license in the first place? I think that in retrospect his beliefs are closer to the BSD license than to GPL. That's ok, he's a technically minded engineer. He doesn't have to have an agenda, even if that agenda is keeping freedom. I am generally opposed to practicalism as it focuses on short term, but I can certainly understand that different people have differing opinions.
One reason is why I'm opposed to the patch is given by Linus though: the closed-source people would just move their proprietary stuff into userspace and communicate with the kernel by a gpl-ed shell in kernelspace. It wouldn't solve the moral problem ("free/open code"), these companies will only open source their drivers when they think it is advantegous for them. A kernel modification will certainly not force them.
They have a point, but.... (Score:5, Interesting)
But.... banning them instantly pisses off every single company that is barely putting out a hardware driver for Linux already (nvidia for example) A ban will not make these people go "oh,ok... we'll release the source code." they will simply flip off all Linux users and tell them to pound sand.
Exactly (Score:5, Interesting)
Actually reading TFA (Score:3, Interesting)
This particular way of blocking proprietary drivers has been withdrawn, but the idea seems to still have support, or at least be open for debate.
Re:Look at it from the dev's POV (Score:3, Interesting)
I don't understand -- if he sincerely thinks there are genuine violations of his copyright, he can get a lawyer and do something about it. It's not like there's any shortage of legal representaion available to a linux kernel developer. Locking out all binary modules hardly seems like an appropriate solution.
Re:BSD (Score:4, Interesting)
Clearly Linus does like the GPL restricting those who would distribute code (whereas BSD causes no restrictions). The point Linus is trying to make is that we have to distinguish between limitations to distribution and limitations to the end user. The proposed patch would mostly have limited the end-user (making it annoying for them to run binary modules). Linus is saying that we shouldn't try to limit the freedom of the end-user with technical restrictions. But (as quoted above) he clearly does like the fact that the GPL forces people who "take the code" to "behave according to the rules."
Hence Linus would not be happy with a BSD license.
Re:BSD (Score:3, Interesting)
Re:BSD (Score:3, Interesting)
question... why not LGPL the kernel then? (Score:3, Interesting)
but if Linus wants to allow this why not put Linux under a license with a weaker copyleft, like the LGPL?
at the current situation i think the kernel devs are right when they feel the GPL is violated.
cies breijs.
Re:Backpatching (Score:4, Interesting)
The point is the message that this brings across. At the moment people are pretty lax about binary dirvers. A ban on them in the vanilla kernel will go a long way in telling the driver vendors to make their specs free or get out of Linux land. Free drivers would be awesome, but I don't know if Linux is strong enough to actually influence the vendors at this point so we might end up with nothing. Plus, implementing this at the code level seems like the wrong place to be doing it. As Linus said, the license ought to control the distribution not the usage.
Re:Exactly (Score:3, Interesting)
but in this case, he's not upset that there is a lack of hardware to run on his linux box. he's saying that he'd be upset if the kernel maintainers prevented him from using hardware that does run on linux.
why the hell should he have to try and find hardware that runs on linux when the hardware he presently owns already does run...just not if they merge said patch into the tree.
for him, switching from linux to windows is not a statement about what hardware run on his box...its about what hardware his box would allow him to run.
dude.
Re:Not surprising at all (Score:5, Interesting)
Well, FSF's sense of "long-term" perspective has given them HURD. Linus's "lack" of perspective gives me Working Software Right Now(tm). In the end, that's all businesses really care about.
Re:And of course Linus is right... (Score:3, Interesting)
Seriously, this is more a question that a statement. What is the harm to Linux? Whenever I build a Windows machine I find that some drivers are available in the OS due to Microsoft's contracts with hardware vendors, Microsoft has made many of it's own drivers, and some of the drivers must be hand loaded. I'm not sure I understand the problem with this being workable on Linux.
I understand that it would be difficult to keep up with all these vendors, but that doesn't neccessarily mean we have the right to make them open their proprietary code. Open Source has always been about the community doing for itself what proprietary software vendors wouldn't. I'm not sure I got the memo where we decided that it was about forcing others to not be proprietary. The one is giving, where the other is taking. I feel better about giving.
TW
Re:Exactly (Score:3, Interesting)
Because lots of lawyers consider such support illegal? If the linux license allowed such things then no kernel developer would oppose to propietary drivers, in the same way they don't oppose to running propietary userspace programs
Re:Greg's patch was brilliant (Score:3, Interesting)
Re:And of course Linus is right... (Score:3, Interesting)
Say you buy an ATI Radeon 917183712. You install the proprietary drivers in x.org 11.92, and they run fine. Then, the Radeon 32648956125 comes out, and new "unified" drivers are released. Only thing wrong: the Radeon 917183712 is still on the market and is still actively distributed, and will remain so for the forseeable future in embedded chipsets (servers and laptops), however, ATI elects to drop support for the Radeon 917183712 in the driver to encourage (force upgrades) to the brand-new Radeon 32648956125 if you want to run x.org 12.78
OK so the model and version numbers in the above are insane, but this is EXACTLY what ATI has done time and again. They drop support for product which is STILL IN THE CHANNEL (let alone not even obsolete) in their drivers. If the drivers were open source, this would not be an issue and you can run x.org 7.0, 7.1, or 15.0 regardless of whether or not ATI bothers to update it, because the x.org team will keep the famework around the driver updated.
Re:Exactly (Score:3, Interesting)
Re:And of course Linus is right... (Score:2, Interesting)
Buy a desktop with integrated Intel graphics, slap in an "ADD2" card for DVI LCDs, and you have a fully open-source graphics system.
It works well for me - maybe not cutting edge video performance, but its not bad - way better than vesa or ati or nv open drivers.
- Mike
Re:Exactly (Score:3, Interesting)
I don't mind running proprietary code in Linux. I run quite a lot of it, actually... I'm using the nVidia drivers right now, and I'm writing this in Opera. There are a few other programs I use that are non-open.
So what do I get from running Linux instead of Windows? For one thing, I'm not giving money to Microsoft. I bought a computer with no OS, and I'm not running Office. For another, I get stability. Sure, Windows has gotten better. A LOT better, really. And linux is, in my experience, getting worse in some ways. But still, I find that Linux is a lot more stable.
And what about spyware? Sure, in Windows I can run FireFox or Opera, and make sure I've got good virus and malware scanners, and run AdAware or something like it once a week, but in Linux, I don't mostly have to worry. Are there exploits for problems in linux? Hell yeah! Are people actively attacking them on a massive basis? Well... not that I've heard. Certainly not as much as they're attacking Windows.
I also like the user environment better. I get better control over what my system does, and I can drop down and use the command line when I want to, since I think it's better for some things. Furthermore, I don't really like any of the Windows SSH clients I've tried. There's nothing WRONG with them, I just don't like the way they look. Konsole, however, suits me perfectly. And since a lot of my job requires running SSH sessions to three or four different systems at once, I'd really rather have a system that I like the look of. Sure, I suppose I could run KDE in X.org/Cygwin, but why would I want to?
So, to put it more briefly: By not running windows, I get choice, and some level of security.
Vista (Score:4, Interesting)
I believe there is a restriction in 64-bit vista that prevents unsigned drivers.
Nope. There is a restriction in all versions of Vista against using unsigned kernel mode drivers. However, the new Windows Driver Model makes it possible for 99% of drivers (minus graphics drivers) to run in usermode.
So, you can't run unsigned kernel mode drivers. But, unlike XP, you don't have to run kernel mode drivers - they all run in userspace. Interesting, since this will cut heavily into the profits Microsoft makes from driver signing, but it make the OS a billion times more stable - usermode drivers can't bluescreen. (This is also why there's "hardware compatibility" problems with Vista right now - although the user-mode drivers are easier to write, not everyone has ported their drivers yet.)
Comment removed (Score:3, Interesting)
Re:And of course Linus is right... (Score:5, Interesting)
Re:Exactly (Score:2, Interesting)
While I won't abandoning Linux for such a reason, many companies, including the one I work for (which has about 50% Windows and 50% GNU/Linux) might. VMWare, for instance, is an important application for us and is one that requires binary kernel modules to function. All of our VMWare boxes could end up on Windows (God forbid) if this were to happen, or at the very least VMware would fork the kernel for their version of Linux. It is unlikely that such a move would force VMWare's hand and that they would release their code in a GPL compatible way to be included in the kernel.
I for one agree with Linus. I think the kernel module system is basically a binary interface to the kernel. You aren't linking or run-time linking with the kernel code in the traditional sense. I admit it is very grey-area indeed, as there could be an argument for exactly that with shared-object libraries. But I think we should all agree that at least it isn't the whole-sale selling out of the kernel to allow this grey-area.
The principled part of me agrees with you, but there are many users of the kernel that weren't here for the early and painful days (when they had to walk both ways to school, up-hill, in the snow, barefoot, you pansies). The community is clearly torn between the RMS types who value the promotion of freedom of free software (such as GNU/Linux) over the promotion of the technology, and those like Linus who err on the pragmatic side for the purpose of promoting the technology.
I think there is room for both types in our community.
Re:Torvalds needs to get over himself. (Score:2, Interesting)
I may be going out on a limb here and may not understand completely how Vmware works, but from what I can see from installing it just last night [recently wiped and installed Gentoo over SUSE 9.1] it searches for a module and if it cannot find one that works, it compiles one?
Please correct me if I am wrong. Half of this comment is a statement and half is a question.
it was just an example (Score:3, Interesting)
In all cases the usual reason given by the companies for not providing a drivers is that they do not want to make the drivers open source and thus expose the inner workings and maybe trade secrets to the general public.
With wireless drivers there is the additional issue of legal requirements: a driver must not allow, for example, to drive the radio with more than the allowed power.
Unless LINUX finds a way for companies to provide closed drivers, I do not see too bright a future when it comes to support common hardware devices.
A similar problem exists when it comes to handling media, but thats a different topic.
Re:Exactly (Score:3, Interesting)
Right, because we don't think the following things are important:
(The above points are ripped straight out of ESR's The Art of UNIX Programming [catb.org], which was well-worth the $40 for the dead-tree version)