Linus Puts Kibosh On Banning Binary Kernel Modules
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."
"I'm so sorry Mr. Linus! Please forgive me! I was a bad wittle boy."
This week on LKML 24. Andrew and Linus get into it over politics, while Greg watches from the closet. Watch it Friday at 8, 7 central, 6 a mountain.
Seriously, there should be no "bans" of any code from Linux. That defeats the entire point. Banning people from loading their own kernal modules because YOU think there may be some weird legal issue is exactly the same as making your media player play only DRM files.
This should be a short topic, Linus' reply (which if you haven't read you should) should finish the entire conversation right here, it's a stupid and petty toys out of the pram act and I'm glad he shot it down.
Hopefully if it somehow does make it into the trunk, there will be very quickly versions with it removed releases as we go forward too because I don't think the wider community will have any truck with this at all.
Besides, what's to stop anyone from back-patching the kernel so that it does accept binary module loads? Freedom to change it; that's the GPL. Or did you think Red Hat and Novell wouldn't remove that particular feature?
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
I'm not sure what kernel list the poster has been reading. Linus is a pragmatist. He has constantly favored using the best tool for the job over religious fanaticism. There's no surprise here.
Interested in open source engine management for your Subaru?
This shouldn't be a part of the core kernel code. However, the companies providing commercial support may, of course, include such a restriction in their kernels. This would just be a step further from "we don't support your kernel if it is flagged as tainted." The user can remove them if they want, with the same consequences as removing those foil "WARRANTY VOID" stickers hiding the screw holes on electronics devices.
[
Linus was wrong on one point:
In fact, I had never understood his point until reading that post. As he points out, it clearly is hypocritical to object to the RIAA tactics (which I do) on the one hand and then propose using exactly the same sort of technological barriers to fair use on the other. If people object to binary only drivers, the sollution is for those people to refuse to use them, not for them to try to game the system to prevent other people from using them.
--MarkusQ
But the fact is that there is a large number of copyright holders for the Linux kernel, not just Linus himself. Not all of these copyright holders accept binary kernel modules, and thus they should be considered illegal to distribute with the kernel.
However, refusing users to shimmy in a binary module themselves is wrong. The GPL clearly states that it only covers distribution, not usage, so users are perfectly entitled to do whatever they want to the kernel as long as they do not distribute it. Adding a check to refuse loading of binary modules would only lead to a fork of the kernel, which is unproductive and unhelpful.
If a binary kernel module contains absolutely no code from the Linux kernel in the form of headers or anything like that, the FSF would have a hard time claiming it is derivative work, thus it should be perfectly legal to distribute. The GPL may say otherwise, but this may be an over extension of the powers of a copyright holder.
This is the strange effect brought on by the following situation:
I believe posters are recognized by their sig. So I made one.
You have to choose exactly what level of free you want.
The GPL has clauses in it that seek to prevent people from making it non-free. That's fair enough, but it's a compromise. You could make the licence more free by removing these clauses. That would enable others to limit your freedom. Linus seems to tend towards offering more freedom to make Linux less free.
But does a no-binaries patch matter? Those who want to add binary-only modules are free to customise the kernel to allow this. I hope this patch remains available. choice is good.
Before people start bashing those who proposed this, think of the devs who put so much of their time and effort into getting us Linux. And note that the proposal arose from a technical issue, not from a 'everything must be Free' stance. From the last thread /. links to, part of Greg's retraction:
It's just that I'm so damn tired of this whole thing. I'm tired of
people thinking they have a right to violate my copyright all the time.
I'm tired of people and companies somehow treating our license in ways
that are blatantly wrong and feeling fine about it. Because we are a
loose band of a lot of individuals, and not a company or legal entity,
it seems to give companies the chutzpah to feel that they can get away
with violating our license.
So when someone like Andrew gives me the opportunity to put a stop to
all of the crap that I have to put up with each and every day with a
tiny 2 line patch, I jumped in and took it. I need to sit back and
remember to see the bigger picture some times, so I apologize to
everyone here.
And yes, it is crap that I deal with every day due to the lovely grey
area that is Linux kernel module licensing these days. I have customers
that demand we support them despite them mixing three and more different
closed source kernel modules at once and getting upset that I have no
way to help them out. I have loony video tweakers that hand edit kernel
oopses to try to hide the fact that they are using a binary module
bigger than the sum of the whole kernel and demand that our group fix
their suspend/resume issue for them. I see executives who say one thing
to the community and then turn around and overrule them just because
someone made a horrible purchasing decision on the brand of laptop wifi
card that they purchased. I see lawyers who have their hands tied by
attorney-client rules and can not speak out in public for how they
really feel about licenses and how to interpret them.
Please think of the coders, and the shit they have to put up with while making your free operating system the next time you start clamoring for these closed source binary blobs.
The bottom line here, that Linus and so many other often ignored people are pushing, is that the GPL, and all other *copy*right licenses, are only licenses that effects distribution.
/. reader knows, almost any license discussion degenerates into the idiots that think being GPL means you CAN'T do what you want. As Linus so well pointed out, the RIAA sux, why do we have to?
Putting artificial measures into the Linux kernel that affect users of Linux, even when they're building their own kernels is BAD. Technology rules, ok?
Even RMS would recognise that the GPL is about freedom to do WTF you want with it once you've got it, but if you want to offer it to others, you damn well better give them those same freedoms.
Unfortunately, as any longtime
--Q
I understand why those that want to ban binary only modules. It causes hell for everyone on the kernel dev team.
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.
Do not look at laser with remaining good eye.
"Let's put it this way: if you need to ask a lawyer whether
what you do is "right" or not, you are morally corrupt.
Let's not go there. We don't base our morality on law."
-- Linus Torvalds
Apparently our morality is simple pragmatism?
For every problem, there is at least one solution that is simple, neat, and wrong.
I'm already in a situation where most distributions don't even install because the nv drivers they try to load at default won't work on my Geforce 6800. Even the latest vesa drivers seem unbearably slow. If this patch got into the tree, I'd switch to windows the exact same day.
How do you kill that which has no life?
If Nvidia doesn't release their source because it's not "derived" from the linux kernel (they only use a GPL kernel interface to bridge it to their driver), then why TF do they have a seperate driver download for linux? Why don't they didn't they just build a kernel interface to their windows driver? When their driver stops working with newer kernels and they patch it to work again, isn't that patch "derived" from the linux kernel, otherwise where esle would the patch be derived from?
What Linus is saying may not exclude the possibility of a single kernel dev suing Nvidia for GPL license violations or possible copyright infringent.
Just a thought,
BBH
Linus has kept focus, that linux was, is and will be about technology and I agree with him on that. It is about providing wealth of options for software users. Not twisting their hand in very specific way. GPL protects linux kernel. Using GPL to blugeon other people's practices into extreme ways that GPL can be interpreted is silly.
See there is new and old world. In the new world code is the law. In the old world it is legalese like licences, laws for real people from standpoint of non-technical point. To Linus GPL is only a way to protect kernel code, like a tool. Nothing political. Whereas for Mr Stallman it is his life and politics. For linus gnu toolkit and gcc, came with added protection of GPL. And gpl for him is exactly like a tool.
When you are a carpenter, you don't think of societal and humane implications of using auto-nailer to a hammer. Same with Linus, his codebase is what matters first. He is driving politics from within the kernel, you might say in very meritocratic way and not from GPL and how morally conflicting it is with GPL, to load binary drivers. GPL is a cover from blatant abuse of the kernel code.
Linus has kept focus since beginning of the project and I stand with him on that. He is a coder first, and likes to provide things and services for other fellow coders, not be meddeling in world of politics.
"If people take our code, they'd better behave according to our rules. But we shouldn't have to behave according to the RIAA rules just because we _listen_ to their music. Similarly, nobody should be forced to behave according to our rules just because they _use_ our system."
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.
Or is the GPL a magic copyright that should be extended indefinitely past an author's death?
What gives you the impression that copyright does not extend past the death of the author? It most certainly does.
In the United States, it is life of author plus 70 years (see How long copyright lasts).
So if you wanted to change the licence to BSD, you would need to contact the heirs of these dead people.
okay in theory one cannot link any binairy blob with the kernel and redistribute it, this is forbidden by the (strong copy-left of the) GPL.
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.
Woowwww
Do you know any other logical fallacies? You must lead a horrible life to have such an opinion.
Besides that, i agree with Linus, binary modules should not be banned. Because of the ability to use binary modules, a lot of commercial software are made available and that is A Good Thing (Tm)
If you mod me down, I *will* introduce you to my sister!
It's just a shame that all this is basically the result of a really fucked up kernel design.
The kernel right now is one big monolithic, undocumented blob of ever changing ugly interfaces that requires breaking the license if you want to add a closed source driver. There is no clear interface for any third-party work that doesn't involve the inclusion of core kernel code into closed-source modules. This design of course clashes with the reality of needing closed-source drivers for some tasks. Face it: nvidia, ATI and others are not going to open their driver sources just because a minority OS doesn't want to play with them anymore. It's really a miracle that they still are making drivers, because core interfaces are changing weekly, so instead of being little bitching whiners, be thankful for that gesture of goodwill.
What Linux IMO really needs is a stable, well-designed external interface for such drivers. I don't know how possible it would be to create something like that, but systems like QNX suggest that it actually works. But I guess that having such an interface and actual *gasp* documentation for it would be too much to ask, especially from people who apparently don't know about the terrific capability of C to include comments in the code. It does work for other things than just the license! So far, I've only been working with three or four little interfaces in the kernel, and and each one of those required at least a week of code exploration before I could even only get to a trial-and-error phase, just because to the fact that (1) there is no or just outdated documentation in the kernel package itself, (2) the code isn't commented, and (3) all tutorials on the web are aimed at kernel version 2.2.0.
Yes, I'm quite disgusted with OSS in general and especially Linux, but it's still less expensive than the other crap./p
Fight hunger. Filet a politician and send him to a 3rd world country of your choice.
Perhaps you should actually learn the history of Linux before you open your mouth and prove your ignorance to the world.
practice what you preach. Linus named it "Freax" -- it was his friend Ari Lemmke, the FTP admin where the code was hosted, that named it "Linux". calling him "the community" is a bit pushing it.
Stop Computers/Cars Analogies on S
Ari made up about half the Linux community at the time.
“Common sense is not so common.” — Voltaire
Besides that, i agree with Linus, binary modules should not be banned. Because of the ability to use binary modules, a lot of commercial software are made available and that is A Good Thing (Tm)
Linus's reasons, as appear in his message, are completely and utterly different from yours. To briefly summarize: first, this prevents USE of binary modules, but the GPL can only come into effect when you DISTRIBUTE something (via copyright law). Second, this will just annoy people, by shoving the kernel developers' opinions down their throat (any they can change the kernel source to allow binary modules anyhow). Third, it won't work, because a small GPLed "shim" can load a binary driver (as NVidia already do).
However, he hates binary drivers, and for good reason. I agree both with this and with his reasons, and disagree with yours.
We all know that the correct nomenclature should been "Gnu/Freax", and that is why it got renamed. :-P
[]'s Victor Bogado da Silva Lins
^[:wq
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.)
DATABASE WOW WOW
The only reason the parent gave was that he feels commercial software being made available for Linux is a good thing. Is this what you are disagreeing with?
I disagree that running commercial software is reason enough for having binary kernel modules. Now, commercial software is fine, if you want/need that sort of thing, but you should run it in userspace. Binary drivers in the kernel are something else altogether.
AFAIK most commercial software written for Linux does not need to run anything as a kernel module, so the connection between "having commercial software on Linux" and "binary drivers in the kernel" is fairly slim, anyhow. Please correct me if I am wrong.