Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Linus Denounces NDISWrapper, Denies It GPL Status

CmdrTaco posted more than 6 years ago | from the he-has-spoken dept.

Linux 457

eldavojohn writes "On message boards, Linus Torvalds was explaining why NDISWrapper is not eligible to be released under the GPL even though the project claims to be. Linus remarked, "Ndiswrapper itself is *not* compatible with the GPL. Trying to claim that ndiswrapper somehow itself is GPL'd even though it then loads modules that aren't is stupid and pointless. Clearly it just re-exports those GPLONLY functions to code that is *not* GPL'd." This all sprung up with someone restricted NDISWrapper's access to GPL-only symbols thereby breaking the utility. Linus merely replied that "If it loads non-GPL modules, it shouldn't be able to use GPLONLY symbols." As you may know, NDISWrapper implements Windows kernel API and then loads Windows binaries for a number of devices and runs them natively to avoid the cost and complication of emulation."

cancel ×

457 comments

Sorry! There are no comments related to the filter you selected.

Hmm (2, Funny)

Anonymous Coward | more than 6 years ago | (#22651674)

This is all very interesting, but who or what is "GPL"???

Re:Hmm (1, Funny)

Anonymous Coward | more than 6 years ago | (#22651774)

That would be the Grand Polycarp Lodge, an ancient source of hermetic wisdom.
If you have to ask, just keep using Windows.
Your suffering will be minimized.

Re:Hmm (0)

Anonymous Coward | more than 6 years ago | (#22651842)

You be troll mon! Beware da voodoo!

Linus making friends fast (0, Redundant)

ruiner13 (527499) | more than 6 years ago | (#22651682)

Trying to claim that ndiswrapper somehow itself is GPL'd even though it then loads modules that aren't is stupid and pointless
Gee, Linus, tell us how you really feel...

Re:Linus making friends fast (1)

CowTipperGore (1081903) | more than 6 years ago | (#22651972)

Read some more of the thread:

.. and it doesn't export GPLONLY modules to them.

How stupid do you have to be to not understand that?

In other words: the next person who can't even be bothered to tell what symbols are involved and why they haven't asked whether those symbols could instead be relaxed, automaticaly will go into my "flamers" filter, and just stay there. Then you can complain as much as you like, and I'll never see it.

Re:Linus making friends fast (0, Troll)

Brian Gordon (987471) | more than 6 years ago | (#22652256)

This is stupid, people are trying to release the code of the project to the community and the restrictive terms of the GPL is preventing them. I know slashdot is heavily GPL-supportive, but a few more stories like these and maybe we'll see some more mainstream support for permissive licenses.

Re:Linus making friends fast (3, Insightful)

nuzak (959558) | more than 6 years ago | (#22652304)

Try the other way around. The NDISWrapper folks are trying to GPL something that Linus doesn't believe merits it. They're the ones trying to add the restrictions, and Linus isn't having it.

Re:Linus making friends fast (1)

nuzak (959558) | more than 6 years ago | (#22652436)

Feh .. clearly I don't quite understand what GPLONLY is about. Looks to me like he's trying to claim that a driver adaptor shim around non-GPL'd drivers can't qualify the kernel as GPL. I'm not entirely sure I buy that, assuming the driver has the purpose of opening up a driver's use (like NDISWrapper appears to do) rather than closing one off (like binary-blob drivers). But interpreting intent is a slippery slope that leads to GPLv3 and worse...

And despite his tone, it does look like he's willing to be convinced otherwise.

Re:Linus making friends fast (1)

Brian Gordon (987471) | more than 6 years ago | (#22652502)

Yeah and why do they have to pass a checklist of requirements to release their code freely? You should be freely available to release your code freely, and the first "freely" I mean in the sense of completely free, not GPL-free.

Re:Linus making friends fast (3, Interesting)

jim.hansson (1181963) | more than 6 years ago | (#22651996)

this is funny, most of the time I get the impression that Linus is NOT a "GPL natzi", but at times like this you could mistake him for RMS.
but it is his tree so if he says it is not GPL compatible then it's not GPL compatible.
for the record, I have to agree with Linus on this one (but thats me and who am i).

Re:Linus making friends fast (3, Informative)

Achromatic1978 (916097) | more than 6 years ago | (#22652346)

but it is his tree so if he says it is not GPL compatible then it's not GPL compatible

HUH??

No, the wording of the license and its interpretation by legally qualified people determines whether or not something is GPL compatible, not the whims and say-so of a person, be it Linus, RMS, or whomsoever.

Try understanding the issue. (5, Insightful)

gnutoo (1154137) | more than 6 years ago | (#22652176)

NDIS wrapper might itself be GPL but a kernel that uses it is not because the kernel is monolithic. Linus is actually giving everyone what they want.

What is this about GPLONLY symbols? [kernel.org] .

EXPORT_SYMBOL_GPL was added ... To clarify the ambiguous legal ground on which non-GPL (particularly proprietary) modules lie. [and] ... To allow choice for developers who wish, for their own reasons, to contribute code which cannot be used by proprietary modules. Just as a developer has the right to distribute code under a proprietary licence, so too may a developer distribute code under an anti-proprietary licence (i.e. strict GPL).

Loading a non GPL kernel module makes the whole kernel non GPL and hard to debug because it's a monolithic program. Check out the Linuxant controversy [wikipedia.org] of 2001.

Linus won't keep you from making and loading non free modules but he's not going to be responsible when changes break your module. If others would cooperate, this would not be an issue. The NDIS wrapper people will have to reimplement functions written by GPL strict coders. That kind of sucks for them but they can do it. If Linus were to piss off the GPL strict coders, NDIS wrapper still would not work because those coders would quit contributing. A project as large as the kernel demands give and take. GPLONLY was a nice compromise.

NDIS wrapper has never been a great idea. It puts you at the mercy of Microsoft bugs and malice all for the benefit of a $30 network card. The kind of card that needs NDIS wrapper is usually worst of class and should be shunned. It's brain dead much like a winmodem and the "firmware" game is intentional. The card maker wants to be Windows only so don't buy it. Sooner or later hardware vendors will have to come around.

Re:Linus making friends fast (2, Interesting)

gbjbaanb (229885) | more than 6 years ago | (#22652248)

This is the guy who criticised people who pointed out Bitkeeper was, erm.. less than optimal in the 'play nice' category and who wanted to keep it 'for pragmatic, non-religious' reasons.

To quote the Register, [theregister.co.uk]

In a post on the Real World Technologies discussion board appropriately titled "Hypocrisy the worst of human traits", Torvalds takes advantage of Tridgell's vow of silence on the matter. For the first third of his response, Torvalds gently tries to persuade us that ethics doesn't belong in the software business, taking a strictly utilitarian view. Or, as he puts it,

"So I think open source tends to become technically better over time (but it does take time), but I don't think it's a moral imperative." he writes.
What a pity the people involved in Open Source give my boss another reason to distrust the community and all their projects.

Re:Linus making friends fast (4, Insightful)

moranar (632206) | more than 6 years ago | (#22652432)

I don't think Linus ever had any doubts about whether Bitkeeper was proprietary or not. He simply stated that it was the best tool for the job.

Here, he claims "well, go ahead and use it, but don't call it GPL code because it isn't. Oh, and if you use it, I'm not responsible".

Hope your boss can now breath more easily.

Re:Linus making friends fast (2, Insightful)

A nonymous Coward (7548) | more than 6 years ago | (#22652500)

What a pity the people involved in Open Source give my boss another reason to distrust the community and all their projects.

Yeh, too bad he got a start with the Microsoft people and all the honesty they bring to the table.

/sarcasm (included because you sound like someone who will miss it otherwise)

You can't win this one, Linus (3, Insightful)

arth1 (260657) | more than 6 years ago | (#22651722)

As long as there are no usable alternatives for many common chipsets, you won't win this one, Linus. People are then going to mod the kernel source so ndiswrapper appears kosher, and all you'll get is a +nd version for all major distributions, and fewer people using relatively clean source.

Re:You can't win this one, Linus (4, Insightful)

corsec67 (627446) | more than 6 years ago | (#22651800)

I don't think that Linus is trying to say that people shouldn't be able to use NDISWrapper, just that if you use it, your kernel isn't a pure "gpl only" kernel.

IIRC, that matters to people trying to report a bug: if your kernel isn't GPLONLY, then you will have a much harder time trying to get anyone to do anything about a crash. I think that is correct, since with NDISWrapper you just loaded a big blob of who-knows-what into the kernel, which can't help stability.

Personally, I dislike wrappers like that, which I have to use for the flash plugin on my AMD64 computer. It allows companies to say "yeah, we support AMD64, just run our plugin in this wrapper", which fails quite often. Linux isn't only on i686, so why should we accept binary blobs of code for that processor?

Re:You can't win this one, Linus (1)

immcintosh (1089551) | more than 6 years ago | (#22651982)

As I understand it, Flash pretty much fails at 64bit on EVERY platform. Maybe not Macs (my knowledge of them is quite limited), but I definitely have memories of Windows Vista 64 having a hard time of it. Pretty much it's 32bit wrapper'd version or bust.

Re:You can't win this one, Linus (1)

corsec67 (627446) | more than 6 years ago | (#22652024)

Yep, and even with the wrapper it crashes about 25% of the time I try to use it.

That isn't always a bad thing, since browsing without flash is quite nice, almost all of the time.

Re:You can't win this one, Linus (0, Offtopic)

X0563511 (793323) | more than 6 years ago | (#22652276)

On that note, do you know how to get firefox to stop whining about missing plugins and popping up that little IE6-style bar at the top? Some kind of dummy plugin?

Re:You can't win this one, Linus (3, Informative)

betterunixthanunix (980855) | more than 6 years ago | (#22651840)

Thank you. I am an open source advocate, but the driver for my network card is a half-assed approach that doesn't connect to any access points, or do much else that can be called "useful." ndiswrapper is a bandage that can be used until the kernel team and third party module developers can produce something usable. Trying to get rid of it will only restrict Linux adoption.

Re:You can't win this one, Linus (2, Informative)

Knuckles (8964) | more than 6 years ago | (#22652424)

Nobody's trying to get rid of it, read the numerous other posts correcting that assumption. This is just about the kernel losing GPLONLY status if you load ndiswrapper, which is important for debugging purposes and other things.

Re:You can't win this one, Linus (3, Insightful)

nonsequitor (893813) | more than 6 years ago | (#22651872)

My sentiments exactly. You can break ndiswrapper AFTER Linux fully supports every wireless chipset that Windows has drivers for. Until then, please learn to live in the real world. Or create a new symbol other than _GPLONLY that ndiswrapper can use instead. Breaking things that work for pedantic reasons is childish and punitive.

Re:You can't win this one, Linus (4, Insightful)

A nonymous Coward (7548) | more than 6 years ago | (#22652532)

Or do the right thing in the first place and don't falsely label ndiswrapper as GPLONLY.

Re:You can't win this one, Linus (2, Insightful)

0racle (667029) | more than 6 years ago | (#22651888)

Since Linus' only concern is if his source is clean, I doubt he has a problem with that. The only 'winning' or 'loosing' he has to do are if his stuff is clean or not, if he is in violation of the GPL or not.

Re:You can't win this one, Linus (2, Informative)

pembo13 (770295) | more than 6 years ago | (#22652132)

The summary doesn't imply that he's trying to get ndiswrapper out. This is how rumours start.

Re:You can't win this one, Linus (1)

Hatta (162192) | more than 6 years ago | (#22652398)

This wouldn't be a problem if people would just buy hardware that is supported by the OS they wish to run it on.

Re:You can't win this one, Linus (3, Informative)

WindSword (596780) | more than 6 years ago | (#22652402)

Agree whole heartedly. If it weren't for NDIS, I wouldn't be typing this now. Pick another more deserving target, Linus.

Re:You can't win this one, Linus (1, Informative)

Kozar_The_Malignant (738483) | more than 6 years ago | (#22652414)

I'm trying to care, but it's not working. A few thoughts do come to mind:
  • Ndiswrapper works
  • People use it, because it works
  • There really isn't an alternative
  • People are going to keep using it
  • Linus is not a lawyer, and he should quit trying to be one

Re:You can't win this one, Linus (0)

Anonymous Coward | more than 6 years ago | (#22652474)

Only a judge can deny something of GPL.
I use ndiswrapper, and surprised by its stability and ease of use (in my case). It worked so well for a while now.

Linus has already changed his mind (5, Informative)

baadger (764884) | more than 6 years ago | (#22651728)

Quite frankly, my position on this has always been that the GPLv2 explicitly covers _derived_ works only, and that very obviously a Windows
driver isn't a derived work of the kernel. So as far as I'm concerned, ndiswrapper may be distasteful froma technical and support angle, but not against the license.

-- Linus, in this post [lkml.org]

Re:Linus has already changed his mind (5, Insightful)

baadger (764884) | more than 6 years ago | (#22651810)

Oh and if that wasn't clear enough...

IOW: I _personally_ don't think there are any license issues, but I do want to have the situation clear to people involved.
-- Linus, in the same post.

This is merely how Linus goes about discussion, do we really have to keep taking posts off of the LKML and blowing them all out of proportion?

Re:Linus has already changed his mind (1)

delt0r (999393) | more than 6 years ago | (#22652122)

This is /. What do you think?

Re:Linus has already changed his mind (3, Funny)

earnest murderer (888716) | more than 6 years ago | (#22652430)

This is /. What do you think?
I think this argument sounds a lot like a teenager explaining that using a rubber makes it something other than sex.

Re:Linus has already changed his mind (1)

Anonymous Coward | more than 6 years ago | (#22651832)

This is at the heart of the Free Software vs. Open Source debate.

Linus unfortunately is in the pragmatist Open Source camp. It often is a bit short sighted.

Re:Linus has already changed his mind (5, Informative)

Chris Mattern (191822) | more than 6 years ago | (#22651968)

No, Linus's position here is perfectly consistent. ndiswrapper itself can be covered by the GPL, but when you use ndiswrapper, your kernel is no longer GPLONLY, even though ndiswrapper is itself GPL, because ndiswrapper then loads and runs the Windows driver which is *not* GPL. The fact that ndiswrapper loads and runs non-GPL code doesn't make it non-GPL, but it certainly makes the kernel in which it is running not GPLONLY. If ndiswrapper loaded a GPL driver, the kernel would still be GPLONLY (which, in fact, it wouldn't be if ndiswrapper was not GPL). It's just that ndiswrapper's basic purpose means it'll never load a GPL driver.

Re:Linus has already changed his mind (0)

Anonymous Coward | more than 6 years ago | (#22652074)

But where the GPL license talks about derivative works it's only related to distribution. GPL lets me do anything I want with the code myself, so as long as the ndiswrapper is distributed without non-GPL code, how can anyone complain if I use it to load non-GPL code?

Re:Linus has already changed his mind (4, Informative)

SirTalon42 (751509) | more than 6 years ago | (#22652192)

Linus isn't saying you can't use ndiswarapper. What'll happen, though, is when you report a bug they'll see your kernel has been tainted by a random binary blob they can't touch, and your bug report will be much less useful to them and it'll probably be marked as being much lower priority unless it can be confirmed that the binary blob isn't causing the problems (i.e. re-create the problem without the blob, either by not loading the module or from another machine without the module to begin with).

Again, no ones complaining that you're using it to load non-GPL code.

Re:Linus has already changed his mind (1)

baadger (764884) | more than 6 years ago | (#22652130)

...which doesn't change the fact that this Slashdot news item is poorly reported and inciting a massive flame fest, which was the main target of my post.

My opinion: As others have pointed out you can load GPL'd NDIS drivers compiled to Windows DLL's with NDIS Wrapper, what the user chooses to do with it isn't covered by the GPL, provided they don't distribute non-compliant blobs with NDIS Wrapper as a package.

Re:Linus has already changed his mind (2, Insightful)

ray-auch (454705) | more than 6 years ago | (#22652356)

...which doesn't change the fact that this Slashdot news item is poorly reported and inciting a massive flame fest,

Er, this is /. - isn't having flame fests on poorly reported news the entire point ?

Re:Linus has already changed his mind (0)

Anonymous Coward | more than 6 years ago | (#22652164)

Please mod parent Insightful. This is the first post in this thread that explains Linus's position instead of just saying what is wrong or write with it.

Re:Linus has already changed his mind (1)

dpilot (134227) | more than 6 years ago | (#22652288)

So I presume my kernel is not GPLONLY, because I've loaded the nVidia driver.

Is this simply equivalent to saying it's tainted and the developers won't touch it with a 10 foot pole, which I already knew?
Or is there something else to GPLONLY?

Re:Linus has already changed his mind (0, Flamebait)

IAmTheDave (746256) | more than 6 years ago | (#22652574)

Linus' horse is getting pretty high these days. It's tiresome. It's like he's trying to rule a class that's no longer looking for a leader.

reductio time (1, Insightful)

Anonymous Coward | more than 6 years ago | (#22651730)

And as you may know, Linux loads NDISWrapper.

"Trying to claim that ndiswrapper somehow itself is GPL'd even though it then loads modules that aren't is stupid and pointless. If it loads non-GPL modules, it shouldn't be able to use GPLONLY symbols."

Someone explain how that is a different claim than the following:

Trying to claim that Linux somehow itself is GPL'd even though it then loads programs that aren't is stupid and pointless. If it loads non-GPL programs, it shouldn't be able to use GPLONLY symbols."

Re:reductio time (2, Insightful)

nuzak (959558) | more than 6 years ago | (#22651896)

The difference is module and program. One is considered part of the kernel, the other isn't.

Linus was a bit brusque about it but I do see his point. Of course if all the kernel symbols needed to make wireless drivers work are GPLONLY, then well, Linux has a bigger problem, doesn't it.

Re:reductio time (1)

Cairnarvon (901868) | more than 6 years ago | (#22652362)

The kernel loads ndiswrapper as a module too.

Re:reductio time (5, Insightful)

mabhatter654 (561290) | more than 6 years ago | (#22652076)

the difference is in how the kernel project uses the "GPL only" flag versus actual legality.

It's perfectly legal for NDIS to be GPL because all of the code they provide is open. That's the legal standard. That the USER loads non-GPL modules at runtime is a known loophole.

Lots of other projects use GPL for the same thing... Console emulators, word processing programs that read binary .docs, and so on. As NDIS doesn't DISTRIBUTE the program WITH the windows drivers (they don't own that code) it's perfectly fine for their "emulator" to be GPL same as an emulator for a Nintendo NES system.

Linus Uses the flag for people like Nvidia who it's NOT OK to use the GPL for their drivers because they own and distribute the binary code AND the wrapper in the same package. It's not legal for them to claim to be GPL. But in this case NDIS is only liable for the part they distribute and the user is responsible for how the program is used on the system. The license is fine it's just Linus is assuming that a "license flag" will cover all the programming options (so they can deny support) when that's not the case.

Mod parent up (1, Interesting)

Anonymous Coward | more than 6 years ago | (#22652514)

...is what I would say if I were registered and had karma. Parent is the only post you need to read in this discussion. Ndiswrapper complies fully with the text and technicalities of the GPL, Linus's assertion notwithstanding.

The real debate is why we still have the GPLONLY flag. It's clear that the developers intended it as a method to signal to modules which sections of the kernel code are just interfaces, and which are considered "part of the kernel" in terms of derived works, but that shouldn't start a technical arms race with module developers! In cases like this, such a restriction is less about technical enforcement of legal boundaries (of which ndiswrapper is on the correct side), and more about pushing Linus's or others' political ideologies.

Re:reductio time (2, Informative)

Just Some Guy (3352) | more than 6 years ago | (#22652312)

Trying to claim that Linux somehow itself is GPL'd even though it then loads programs that aren't is stupid and pointless. If it loads non-GPL programs, it shouldn't be able to use GPLONLY symbols.

Userspace programs don't link against the kernel. Additionally, from http://www.kernel.org/pub/linux/kernel/COPYING [kernel.org] :

NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the linux kernel) is copyrighted by me and others who actually wrote it.

Re:reductio time (1, Informative)

Anonymous Coward | more than 6 years ago | (#22652572)

Go to the source [kerneltrap.org] next time.

From: Linus Torvalds <torvalds@...>
Subject: Re: [PATCH 2.6.25] module: allow ndiswrapper to use GPL-only symbols
Date: Feb 29, 1:07 pm 2008
 
On Fri, 29 Feb 2008, Zan Lynx wrote:
>
> The Linux kernel itself will load proprietary modules. It does not as a
> general rule, but it will.
 
.. and it doesn't export GPLONLY modules to them.
 
How stupid do you have to be to not understand that?
 
        Linus
The argument isn't about whether or not NDISWrapper is GPLed, it's whether or not it should have access to the kernel functions marked for use by only by GPLed modules.

Fight, please! (-1, Troll)

Anonymous Coward | more than 6 years ago | (#22651766)

As a firm supporter of Mac OS X, anything (or any fight) which distracts the Linux community -- especially the stupid ones like this -- is good in my opinion!

Tit for Tat (0)

Anonymous Coward | more than 6 years ago | (#22651804)

This seems to be a bunch of tit-for-tat going on.

GPLONLY symbols eh? Is this a kind of reverse DRM for the kernel.

Only GPL Code can run, all GPL code must be signed, etc...

I am an unlucky owner of a Broadcom 43xx card, either get native drivers working, or shut up.

Look at OpenBSD for inspiration (5, Insightful)

Anonymous Coward | more than 6 years ago | (#22651824)

Before people flame Linus for whining, or trying to sabotage Linux users' ability to run drivers that they need, look at how OpenBSD handled this matter. They too rejected ndiswrapper, and ended up putting their energy towards reverse engineering wireless drivers instead. The results were positive, and in some cases the Linux folks ended up picking up their code too.

And, when you write an open driver, you can maintain it more effectively. You can check it for security problems. You can fix its bugs. With ndiswrapper, you are putting a completely unknown blob of code inside your kernel and trusting it. This is never a good idea when other alternatives exist!

So, use ndiswrapper if you feel that you absolutely must... But it shouldn't receive any official endorsement that would cause most users to be dependent on it. Kernel developers shouldn't think of the wireless driver issue as a "resolved" one. The ideal situation is to reverse engineer a free driver.

shim? (2, Interesting)

PenguinX (18932) | more than 6 years ago | (#22651836)

Isn't ndiswrapper just a shim, even if it's does very little translation? Businesses have been making proprietary to GPL shim's for ages, you know like Nvidia's driver. Why wouldn't the converse acceptable, or at least worthy of discussion?

-b

Re:shim? (1)

Anonymous Coward | more than 6 years ago | (#22652274)

loading the nvidia module has been setting the tainted flag since forever (hence, no GPLONLY). If this is to be consistent, the same should apply to ndiswrapper.

Re:shim? (1)

PenguinX (18932) | more than 6 years ago | (#22652308)

that's a good point, the only difference is one of distribution, in this case ndiswrapper is really just providing the shim not the binary itself.

Re:shim? (3, Informative)

Omnifarious (11933) | more than 6 years ago | (#22652548)

The nVidia driver is also not considered GPLONLY. Your kernel is considered 'tainted' if you use it. You will get no help or support from the kernel people if you have a kernel problem when your kernel is tainted.

Linus wants ndiswrapper to be in the same class. And he's right to. Maybe it's GPL, but it's whole purpose is to load stuff that isn't right into the kernel.

Linus is wrong on this one (0)

Anonymous Coward | more than 6 years ago | (#22651848)

The intent of GPLONLY is to force Linux device driver writers to choose between (a) not having access to GPL symbols, or (b) making their driver GPLed

That does NOT apply in this case. NDISwrapper makes GPL symbols available to WINDOWS drivers. Drivers that were never written for Linux, drivers Microsoft probably wishes wouldn't run on Linux, drivers whose writers neither care about GPL symbols nor are forced to make Solomon's choice of (a) or (b) above.

It can load GPL-licensed Windows drivers (5, Insightful)

Drinking Bleach (975757) | more than 6 years ago | (#22651858)

As ridiculous as it may sound, it's theoretically possible for a Windows driver to be licensed under the GPL. Thus, no legal troubles when loaded by ndiswrapper :)

Re:It can load GPL-licensed Windows drivers (4, Interesting)

baadger (764884) | more than 6 years ago | (#22652018)

Amusing observation.

I bet the number of GPL'd NDIS drivers for Windows can be counted on one toe. I myself started writing an NDIS 6 driver for a chipset that has no native Vista drivers (although the NDIS 5 XP driver works on Vista x86) but have recently lost interest, despite almost completing basic functionality, because I realised I will never be able to use it under Vista x64 due to the OS's draconian driver signing policy..which cannot be disabled.

Re:It can load GPL-licensed Windows drivers (5, Insightful)

srmq (123358) | more than 6 years ago | (#22652208)

If a Windows driver was available under the GPL, it would certainly be ported in no time to GNU/Linux, defeating the need of ndiswrapper.

.... right .... (2, Interesting)

nbvb (32836) | more than 6 years ago | (#22651876)

And this is the year of the Linux desktop, right?

I've been hearing that for 10+ years now, and this is a prime example of where the Linux folks miss the boat.

Do you really think my parents give a rolling fig about GPL vs. non-GPL code, who's exporting who's symbols or any of that? They just want their damned wireless Internet to work... ... and that's why they have a Mac. Seriously - nice concept, the whole Linux thing, but it just isn't going to be for the masses. Sorry to tell you that.

Time to re-arm and focus on the enterprise - you stand a shot there. But even there - it needs work. Stability, for one. A Red Hat box that is out of date the day we deploy it does nobody any good. A real patch management strategy would be nice.

Binary compatibility for another. I can pick up an HP-UX PA-RISC 9 binary, drop it on an HP-UX 11.31 Itanium system and it _just runs_. Same holds true for Sun -- drop a SunOS 4 binary on a SunOS 5.10 (yes, that's Solaris 10) system, and it _just runs_.

Once Linux can do that - without recompiling, without having to resolve mutually exclusive dependencies - you just might give enterprise Unix a run for the money. Oh, and you'll have to scale up to 128+ processors too. Again - HPUX and Solaris both do that fine.

year of the Linux desktop (1)

Presto Vivace (882157) | more than 6 years ago | (#22652086)

Linux has never struck me as practical, from a user point of view and even less as a business model. Yet I cannot help but notice that every year adoption continues to grow and every year more Linux based software is produced. Obviously I am missing something. Also, I can't see announcing software is compliant with GPL, or any other standard, if the governing body has not certified it so, so once again I am missing something. But that is just me.

Re:.... right .... (1)

JonJ (907502) | more than 6 years ago | (#22652146)

Man, your entire post sound like you're stuck back in '95 or something.

Re:.... right .... (1)

Paralizer (792155) | more than 6 years ago | (#22652168)

We've all heard this rant before before. No, Linux is not for everyone unfortunately. However neither is Windows, nor Mac, nor Unix, nor BSD, etc. It all comes down to what you want your computer to do and what those operating systems offer.

So your argument makes assumptions I don't see anyone here making.

Re:.... right .... (1)

A beautiful mind (821714) | more than 6 years ago | (#22652298)

Do you really think my parents give a rolling fig about GPL vs. non-GPL code, who's exporting who's symbols or any of that? They just want their damned wireless Internet to work... ... and that's why they have a Mac. Seriously - nice concept, the whole Linux thing, but it just isn't going to be for the masses. Sorry to tell you that.
Do you really think kernel hackers give a rolling fig about your parents, who's displaying ignorance or any of that? They just want their damned kernel to work and work well...in the next 20 years. And that is why more and more people use their kernel. Seriously - nice concept, the whole ignorance and instant gratification thing, but it just isn't going to be working on the long term. Sorry to tell you that.

Re:.... right .... (1)

ronark (803478) | more than 6 years ago | (#22652542)

I dare say, ignorance and instant gratification have been working quite successfully for thousands of years. Take that long term.

Re:.... right .... (3, Insightful)

iabervon (1971) | more than 6 years ago | (#22652330)

Good thing desktop users are unlikely to install a new non-distro kernel between February 28th, when Linus posted that, and March 4th, when he looked more carefully at what ndiswrapper is doing and determined that it's not re-exporting functions to non-GPL code, but rather using them to implement an API that's not a derived work of the kernel. Linus saying something dumb on a Thursday afternoon which he corrects on a Tuesday shouldn't be news on Wednesday, especially as it's a discussion about a kernel that hasn't been released yet, won't be for a couple of weeks, and probably won't be provided by distributions for a couple of months.

Re:.... right .... (1)

Just Some Guy (3352) | more than 6 years ago | (#22652386)

Do you really think my parents give a rolling fig about GPL vs. non-GPL code, who's exporting who's symbols or any of that?

First, your parents bore me. I'm not a kernel dev but even I'm sick of hearing about how uninvolved third parties may or may not feel about legal issues they don't understand. Second, should they come to depend on Linux, they'll care a whole awful lot if parts of their system have to be disabled for those same legal issues. You seem to be asserting that short-term convenience is better than long-term practicality, which makes me care even less about your opinion.

I'd have to disagree with his logic (2, Interesting)

MarkusQ (450076) | more than 6 years ago | (#22651882)

Trying to claim that ndiswrapper somehow itself is GPL'd even though it then loads modules that aren't is stupid and pointless.

There may be a valid argument for saying that ndiswrapper can't be GPL'd, but this isn't it. In what context would this sort of reasoning be considered sound?

  • Trying to claim that a cows somehow itself is a mammal even though it then eats things that aren't is stupid and pointless.
  • Trying to claim that 5 somehow itself is an integer even though it then can be multiplied by fractions that aren't is stupid and pointless.
  • Trying to claim that Apache somehow itself is open source even though it then serves content files that aren't is stupid and pointless.

...and so on. The claim may be valid but this argument certainly can't be used to establish it.

--MarkusQ

Re:I'd have to disagree with his logic (1, Redundant)

Too Much Noise (755847) | more than 6 years ago | (#22652446)

His point (if you read the thread) is that loading ndiswrapper by itself might be fine as far as GPL is concerned, but the moment you load a binary windows driver in ndiswrapper the combination is no longer GPL and should mark the kernel as tainted. Since this is the very purpose of ndiswrapper, the fact that the wrapper sans driver is GPL is not very relevant. Yes, there might be an anomaly of GPL windows drivers - but then you'd have the source code to port it to Linux, making it a very short-lived anomaly.

The way I see it, this impacts crashes. Tainted kernels are harder to debug for crashes due to closed-source binary blobs. Ndiswrapper+windriver has said blobs, hence it would make sense to mark the kernel as tainted (as in maintainers of GPLONLY symbols not too willing to debug a crash when a binary-only blob uses them). But I'm not a kernel dev so feel free to educate me if my understanding is wrong.

Re:I'd have to disagree with his logic (0)

Anonymous Coward | more than 6 years ago | (#22652492)

i dont think hes trying to say ndis is not GPL, but that the kernel then cant be considered GPLONLY when it is using nongpl drivers.

Re:I'd have to disagree with his logic (1)

F-3582 (996772) | more than 6 years ago | (#22652520)

But that's the point of the GPL. You aren't allowed to link it to GPL-incompatible code. If you want this, then you'll have to release it under LGPL terms which permits such things. This is the same reason why MAME will never be built against Qt, simply because the MAME license is not compatible to the GPL. Trolltech, however, can grant exceptions to certain licenses, although I don't know which clause permits them to do so.

Doesn't make sense (2, Insightful)

man_of_mr_e (217855) | more than 6 years ago | (#22651890)

I'm sorry, Linus. But that argument makes no sense.

The GPL is a distribution license. NdisWrappers doesn't distribute any binary code that isn't licensed under the GPL, and the code is available. It's up to the end user to use their own binary drivers, and such use isn't covered under the GPLv2.

I see nothing that prohibits the distribution of NdisWrappers based on the GPLv2, regardless of what that code does when it executes on the users machine.

Re:Doesn't make sense (1)

zeromorph (1009305) | more than 6 years ago | (#22652458)

Maybe he uses GPL in the sense of the current version of GPL, like you probably use the word English in the sense of the current standard of English, dost thou not?

But you are right, the argument is more polemic than substantial.

I think Linus wrong on this (0)

Anonymous Coward | more than 6 years ago | (#22651922)

The entire "linking requires the GPL" argument is based on the idea of a derivative under copyright. If someone links statically, then they've clearly created a derivative work, and are bound by copyright. The argument gets more complicated if someone links dynamically, but the basic idea is that you're a derivative under copyright law for the same reason that someone using the Mickey Mouse character in their own work is infringing on Disney's copyright.

The Linux kernel is trying to formalize their understanding of what in the kernel is bog-standard Unix, and therefore not bound by the Linux copyright, versus what is special to Linux and therefore usage of it binds you with the Linux copyright. Nobody can agree on whether they are drawing the line appropriately, but there is value in this attempt.

However Windows drivers linking to NDISwrapper is an interesting special case. There is here simply no question that Windows drivers do not derive from Linux' copyright in any way, shape or form. In fact if any copyright derivative argument can be made, they infringe on Microsoft's copyright. I'm not a lawyer, nor have I looked into this, but if there is any legal question about how GPLed NDISwrapper is, it would be a question of whether or not they were infringing on Microsoft's copyright. I think they are are OK, because there is a long history of saying that it is fair use to reverse engineer APIs.

So that means that the entire argument upon which linking is tied to copyright infringement doesn't apply in the case of NDISwrapper. Given that the authors have released their code under the GPL, there is no reason to doubt that NDISwrapper is properly GPLed code. And therefore it should be allowed access to the Linux kernel internals.

Re:I think Linus wrong on this (2, Insightful)

cfulmer (3166) | more than 6 years ago | (#22652186)

I'm not even sure that linking statically creates a derivative work, as much as it creates a compilation. It's more similar to including a poem in a book of poems than it is to changing the poem itself. A derivative work involves changing or recasting the original -- static linking doesn't do this. The reason that you can't (w/o permission) distribute a program with an embedded library is more basic -- you're violating the distribution right of the library (and, presumably, the duplication right also.)

It's not a completely clear area of law. But, it seems wrong that using an interface exported by another piece of code (whether via a procedure call, a remote object invocation or just sending an appropriately formatted text message to a socket) creates a derivative work.

usability (0)

Anonymous Coward | more than 6 years ago | (#22651946)

I'm sorry, but how the fuck do you read slashdot comments as they once were? first they switched from the very usable nested/flat/etc. links, then a frustrating web 2.0 implementation with about 1% the usability, now all I get is one fucking of all the 3 or 4 I used to have at my fingertips. maybe it's my ad blocking software, but this is truly retarded. why not convert all ASCII appearing on the site to hex character codes and make people convert it back? that'd be taking things as they are going now one step further

Can you be any more childish? (-1)

BitZtream (692029) | more than 6 years ago | (#22651954)

Okay, so I'm not a linux user, I prefer Windows on the desktop and BSD for my servers so I fully admit to not understanding the deep down details here ...

With that said ... GPLONLY symbols? Are you fucking kidding me? So, to use these functions, you have to be GPL'd code? And GPL'd code isn't allowed to use non-GPL'd code even though its just loading another object ...

This sort of retarded crap is why you won't see Linux taking over the world, its far easier to just go buy Windows and let Microsoft be the fall guy if somethings done illegally than to use Linux and find out your entire infrastructure has to be replaced a few years down the road because of some retarded developer who thinks everything should play by his rules. At least Microsoft wants people to buy their crap so they have some incentive to make what is preceived to be a safe investment in technology.

Next time your off bitching about how Microsoft has secret APIs and how OS X has secret APIs and Linux is land of the free, take a good look at GPLONLY and wake the hell up.

Re:Can you be any more childish? (1)

inode_buddha (576844) | more than 6 years ago | (#22652124)

Well, yeah basically. It's been that way for years, mainly for legal reasons.

Re:Can you be any more childish? (2, Interesting)

corychristison (951993) | more than 6 years ago | (#22652190)

OpenBSD rejected NDISWrapper first, due to their "anti-binary blob" policy.

That and Linus changed his mind shortly after this was posted to Kernel Trap. Read a few comments up.

Re:Can you be any more childish? (1)

RiotingPacifist (1228016) | more than 6 years ago | (#22652376)

This sort of retarded crap is why you won't see Linux taking over the world, its far easier to just go buy Windows and let Microsoft be the fall guy if somethings done illegally than to use Linux and find out your entire infrastructure has to be replaced a few years down the road because of some retarded developer who thinks everything should play by his rules. At least Microsoft wants people to buy their crap so they have some incentive to make what is perceived to be a safe investment in technology.

The rest of your post may have some validity but this part is just FUD. Unless you've made a distro then licensing doesn't even come into play. On the contrary if your business built a system based around Microsoft java virtual machine, when Microsoft got caught stealing code then your employees would be unable to use it.

Now I'm confused. (0)

Anonymous Coward | more than 6 years ago | (#22651958)

I thought this guy was the god on all things open source, and that it didn't matter what he said that it was always taken as the law of the land. Hmm, strange, aren't you all usually kissing is boots or whatever.

Maybe (1)

inode_buddha (576844) | more than 6 years ago | (#22651986)

Maybe the cost and complication of windows emulation is actually the way to go, given todays processor speeds, multi-cores, and virtualization. I don't like it myself, and the situation sucks. But Linus' reasoning is correct IMHO. Problem is, he's an engineer and these are lawyers. I'm sure he'd rather deal with something else.

Totally OT but I've had to rebuild a few kernels to get the ACX-100 (texas instruments) wireless going.

And this licensing bit is necessary why? (1, Interesting)

hedwards (940851) | more than 6 years ago | (#22651990)

Not to start a holy war here, but this is just arrogance. Things like this make me not want to have anything to do with GPL software.

I understand that it's not a good thing to have mysterious binary glomps everywhere and that it would be better to have proper drivers and such than to have to use these sorts of wrappers. But realistically the only way that most manufacturers and software outfits are going to take users of OSI sanctioned environments seriously is if we can show them the cash flow. Which is significantly easier if you can point to a contingent of their own customers that are already using their software or hardware.

Is it really a ZOMG Linux users might be able to use a Windows driver situation? Or can people just set aside their own personal pettiness and realize that open source OSes typically have had to spend a lot of time and energy writing and maintaining drivers. Some companies aren't going to come around no matter how many installations there are. But it's rather hard to proselytize when an important bit of hardware doesn't have an appropriate driver. If most Windows drivers of a type can be made to work with an appropriate wrapper, that means that developers can focus on only rewriting the drivers which have bugs or aren't performing well. I'm sure the performance wouldn't be as good as it would've been with native drivers, but having the hardware available at all is better than none.

Ultimately it does just come down to money, if your distro/OS of choice can show the manufacturer a meaningful amount of business at some point there's enough profit there that they're going to want to tap into it. At the end of the day you've got to choose, no cost or access to quality commercial software. Even if they don't do so actively, they're more likely to be mindful about not doing things that unnecessarily break wine compatibility similar problems.

I may have missed the memo, but FreeBSD has had project evil for quite a while now, and I don't recall having seen any evidence that the OS is worse for having that option.

So what about GPL virtualization? (2, Insightful)

joshv (13017) | more than 6 years ago | (#22651998)

So will GPL'd virtualization projects be similarly excluded? It seems to me they are the functional equivalent of NDISWrapper.

Re:So what about GPL virtualization? (0)

Anonymous Coward | more than 6 years ago | (#22652102)

Well... Virtualization works by having the guest OS trap into the monitor. So it's kind of like an operating system in that regard. So if we say that the GPL applies there it also has to apply to OSes. (But I don't think it applies there. The metaphor breaks down. The guest OS can't see the host OS or monitor directly at all.)

Start a fund to retain a lawyer for Linus? (0)

Schraegstrichpunkt (931443) | more than 6 years ago | (#22652022)

Regardless of my opinion of ndiswrapper (we would be better off without it), Linus certainly seems to have a really, um...unique view of how copyright law works. First with GPLv3 and now this. Shall we start a fund to hire a lawyer to keep Linus educated about the law?

Summary completely mistaken (5, Informative)

tarm (583789) | more than 6 years ago | (#22652030)

Summary is missing a HUGE portion of what actually happened. The discussion continued [gmane.org] . After the discussion, Linus applied a patch to ALLOW access to GPL_ONLY symbols (for those who care, it's git commit 9b37ccfc637be27d9a652fcedc35e6e782c3aa78).

It's fixed in 2.6.24-rc4 (5, Informative)

Englabenny (625607) | more than 6 years ago | (#22652044)

Look at the second entry from the top in the changelog:

http://kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.25-rc4 [kernel.org]

The battle is over, the discussion is at end and Linus has already signed off a change to restore Ndiswrapper functionality.

In other news (0, Redundant)

iamacat (583406) | more than 6 years ago | (#22652088)

Linux kernel is denied GPL status because it just re-exports GPLONLY symbols to thousands of non-GPL applications such as Steam games, VMware, Opera, Apache*, Perl...

* Open Source != GPL

Meanwhile in an underground compound in Washington (0, Flamebait)

dread (3500) | more than 6 years ago | (#22652106)

Yeah, this sort of thing really makes Linux look like a true contender.
I have got to say that with this type of thing going on inside the open source crowd, the closed source people have absolutely nothing to fear. Because nobody wants to deal with a crazy zealot. They want a "sure thing, we can fix that" attitude, and if they can't have that then at least not a lecture.

Re:Meanwhile in an underground compound in Washing (1)

bogie (31020) | more than 6 years ago | (#22652538)

"Because nobody wants to deal with a crazy zealot."

Right.
http://www.youtube.com/watch?v=KMU0tzLwhbE [youtube.com]

Somehow I don't see any businesses caring one bit. Businesses don't care if Linus is a loon. They care that Red Hat, Novell, or whomever their reseller is supports the product they bought. End of story.
Btw Linux hasn't had to try and look like "a true contender" for a decade. Where have you been?

I'll side with Linus on this one (2, Insightful)

laing (303349) | more than 6 years ago | (#22652120)

If ndiswrapper loads proprietary binary-only drivers and provides an API translation between Windows & Linux, then when ndiswrapper itself gets loaded as a kernel module, the kernel's "taint" flag should be set. The purpose of the taint flag is clear and it is quite applicable in this case. I don't think that Linus is saying the ndiswrapper authors cannot release their code under the GPL, what he's saying is that the run-time environment is not "pure GPL".

for those who lack understanding... (5, Informative)

Edgewize (262271) | more than 6 years ago | (#22652148)

The stance isn't as crazy as the context-free summary makes it out to be. Linus isn't talking about the license for the ndiswrapper code. He's talking about access to kernel functions which have been marked as "GPLONLY". These are functions which are intentionally not exported to non-GPL code. Linus is saying that allowing ndiswrapper to use them is equivalent to allowing calls from non-GPL windows binary drivers. Which is true.

The debate then is whether or not this should be considered a problem. The contributors who added many of the GPLONLY functions may have different opinions on the topic. Linus hints that the contributors for the USB functions would prefer a strict interpretation and deny ndiswrapper access to the GPLONLY kernel-level functions, because there is a perfectly good user-space API. But everyone involved agrees that ndiswrapper is will never live in user-space, because there's no programmer who would do it and it's a crazy idea anyway. Anyway you slice it, it's clear that ndiswrapper will get fixed one way or another, and nobody is accusing the ndiswrapper project of misusing the GPL.

In summmary, it's a tempest in a teapot: someone accidentally broke ndiswrapper, kernel API discussion ensues, Slashdot posts inflammatory summary, life goes on.

bullshit (2, Informative)

nguy (1207026) | more than 6 years ago | (#22652210)

The ndiswrapper developers can release their code under any license they like, including the GPL; Linus has nothing to say about that. Furthermore, as long as Linux is under the GPL, Linus has no say over what I link into my kernel. If I want to link code under non-GPL compatible licenses into my kernel, that's my good right, under the GPL.

Linus possibly has a say over whether distributors can simultaneously distribute the Linux kernel and ndiswrapper as pre-packaged binaries. But even there, I don't see a problem: ndiswrapper itself is under the GPL and complies with the GPL. The fact that it allows end users to link code under non-GPL compliant licenses into the kernel doesn't change that.

While I think it would be nice if we didn't have to use ndiswrapper, and while one can argue either way about the desirability of its existence, now that it exists, Linus needs to honor the letter of the GPL and not try to redefine the terms after the fact. If he wants to, he can always relicense his code under different licenses in the future.

Calm down, this is only about reporting bugs (2, Insightful)

ink (4325) | more than 6 years ago | (#22652234)

The only time GPLONLY is used is when submitting kernel crashes. Linus (and other developers) doesn't want to get backtraces for code that cannot be debugged, because it's in a Windows-only blob. You can still use ndiswrapper, just like you can use the Nvidia drivers -- the only caveat being that you cannot send a kernel hacker a dump.

Re:Calm down, this is only about reporting bugs (0)

Anonymous Coward | more than 6 years ago | (#22652454)

No, that is what "TAINTED" is for, and ndiswrapper marks the kernel as tainted as soon as it loads a Windows driver. "GPLONLY" is for exactly what the article said: limiting certain kernel functions such that they can only be called from GPL module code.

And in today's lesson... (2, Interesting)

KillerBob (217953) | more than 6 years ago | (#22652260)

we learn that in spite of his contributions to the open source community, Linus does not have the right to deny GPL status to anything. (yeah yeah, I know, it's a misleading headine... this *is* Slashdot after all) It's a software license. If the software developpers decide to release under the GPL or LGPL, then it's GPL software. Period. Whether or not the software is a shim for a binary blob that itself may or may not be proprietary, like NDISWrapper, is irrelevant. NDISWrapper, itself, is *not* closed source.

It's kinda like the Quake III engine. That's been released as open source, and there's an awful lot of games out there that make use of it. But it still relies on a binary blob that is itself rarely released as free. That doesn't make the engine itself any less free/open.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?