Slashdot Mirror


Linus Denounces NDISWrapper, Denies It GPL Status

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."

457 comments

  1. Hmm by Anonymous Coward · · Score: 0, Funny

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

    1. Re:Hmm by Anonymous Coward · · Score: 1, Funny

      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.

    2. Re:Hmm by Hal_Porter · · Score: 1

      If you have to ask, just keep using Windows.
      Your suffering will be minimized.

      Is it bad that when I saw this I thought

      ShowWindow ( hWndSuffering, SW_MINIMIZED );
      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  2. Linus making friends fast by ruiner13 · · Score: 0, Redundant

    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...
    --

    today is spelling optional day.

    1. Re:Linus making friends fast by CowTipperGore · · Score: 1
      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.
    2. Re:Linus making friends fast by jim.hansson · · Score: 3, Interesting

      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).

      --
      preview button, my computer does't have any preview button
    3. Re:Linus making friends fast by gbjbaanb · · Score: 2, Interesting
      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,

      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.

    4. Re:Linus making friends fast by Brian+Gordon · · Score: 0, Troll

      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.

    5. Re:Linus making friends fast by nuzak · · Score: 3, Insightful

      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.

      --
      Done with slashdot, done with nerds, getting a life.
    6. Re:Linus making friends fast by Achromatic1978 · · Score: 3, Informative

      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.

    7. Re:Linus making friends fast by moranar · · Score: 4, Insightful

      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.

      --
      "I think it would be a good idea!"
      Gandhi, about Internet Security
    8. Re:Linus making friends fast by nuzak · · Score: 1

      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.

      --
      Done with slashdot, done with nerds, getting a life.
    9. Re:Linus making friends fast by A+nonymous+Coward · · Score: 2, Insightful

      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)

    10. Re:Linus making friends fast by Brian+Gordon · · Score: 1

      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.

    11. Re:Linus making friends fast by somersault · · Score: 3, Insightful

      Isn't it rather obvious? What happens if someone tries to GPL code that needs non-free libraries - or worse, contains code that has been copied or reverse engineered from another program without the author's consent, or that uses an incompatible license?

      --
      which is totally what she said
    12. Re:Linus making friends fast by orasio · · Score: 1

      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. You are missing the point. They can release the code as completely free. Public domain if they want. There is no checklist. There is a checklist if you want to release your code under the GPL, but you don't seem to be talking about that, just "release their code freely".

      And as a prize for ou efforts, I'll bite. When you mean "completely free", what do you mean? Do you think there is such a thing as absoulute freedom? I don't think so, myself, because I think that freedom involves more people than the developer and direct recipients of his software, and every actor that gets some freedom has the possibility of taking some freedom away from other actors, but I would like to see what _you_ mean by "completely free", and who you are taking into account (original developers, contributors, distributors, users) when you think about that "complete" freedom.
    13. Re:Linus making friends fast by dgatwood · · Score: 3, Insightful

      Agreed. This is precisely the reason why I regularly rail against the GPL as a license and think that all libraries should be under the LGPL. In effect, the kernel acts as a giant library. Any public interfaces to the kernel should be treated like a library and licensed appropriately, not under some idiotic license that doesn't allow linking non-GPLed code against it.

      Indeed, this is doubly true for a plug-in API. There should not be restrictions for who can write code to a public specification, period. There are far too many people who say that the GPL should have this right and still decry Microsoft for their shady, intentionally non-GPL-compatible licenses. That is the height of hypocrisy.

      More to the point, though, as long as something provides a public interface and uses only public interfaces, it is entirely the right of the author to decide how to license it, and if the author decides to license it under the GPL but provide a linking exception to allow closed source drivers to call it, that is the author's right. Linus himself said that he felt binary-only drivers should be allowed, so he took advantage of the right to provide a linking exception, and yet now he wants to deny it to others? What's wrong with this picture?

      Heck, it wouldn't even be wrong in my book if it directly exported GPLONLY symbols as-is. The purpose of the GPL was supposed to be that non-open source can't directly call into GPLed code to avoid compatibility problems if the open source code changed. Since this code is providing a layer of indirection, if the kernel changes, it can become a compatibility shim. As such, even a direct export indirection layer would be in the true spirit of the GPL, IMHO. But this isn't even doing that. This is providing a translation layer from one API to another. This is providing an emulation of an entirely different API and uses GPLed symbols to do so. That is absolutely in the spirit of the GPL, as the whole thing is already a translation layer. This doesn't allow the closed source driver developers access to GPLONLY symbols. It's not a workaround to dodge the GPL. It's an enabling tool that makes the overall Linux user experience better, and if someone's interpretation of the GPL causes such a tool to be effectively banned, then it is the GPL that needs to be changed, not the tool.

      IMHO, the GPL is a BAD license precisely because it causes fights like this to break out with regularity. Instead of providing the best service we can to the users of open source software (and thus promoting the power of open source over closed, proprietary solutions), we, the open source/free software community, end up fighting amongst ourselves over how to interpret a license written by Stallman out of spite for closed software vendors. Instead of supporting free software against proprietary solutions, we end up causing people to think of us as a bunch of loons who are dogmatic about an ideal no matter how much it hurts the users. That's not a good way to encourage adoption by anything but the most zealous free software extremists, and most of those folks already use Linux, so basically it isn't a good way to encourage adoption, period..

      Remember, every time the GPL is used to impede progress, proprietary software wins.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    14. Re:Linus making friends fast by MenTaLguY · · Score: 4, Interesting

      The demonstrated intent of the copyright holder does have some bearing on the interpretation of a license, however.

      --

      DNA just wants to be free...
    15. Re:Linus making friends fast by nuzak · · Score: 4, Insightful

      > IMHO, the GPL is a BAD license precisely because it causes fights like this to break out with regularity.

      I don't necessarily think it's a bad license, I just don't think it's a one-size-fits-all thing. When you bring together a group of intelligent, opinionated, and (in large part) socially awkward people, fights are going to break out. Now it's true that things like religion and licenses tend to act as amplifiers (thus why I don't buy the classic "people will kill each other anyway" argument about religion) but I think this is just a pretty isolated case of Linus having another tirade. Reportedly he's already backing off.

      --
      Done with slashdot, done with nerds, getting a life.
    16. Re:Linus making friends fast by Crispy+Critters · · Score: 2, Insightful
      "why do they have to pass a checklist of requirements to release their code freely?"

      The problem is that it is not "their code". They claim that the "project implements Windows kernel API and NDIS (Network Driver Interface Specification) API within Linux kernel." That means it is a derivative work of the kernel. That means that they don't own all the code themselves, and that they have to follow the license of the other code they are using. And Linus's interpretation of the GPL and kernel modules is a lot more permissive than what is probably legally correct.

    17. Re:Linus making friends fast by gbjbaanb · · Score: 1

      lol. I understand sarcasm, possibly because I'm not an American :-)

      My boss, just doesn't like OSS at all, if you can't buy it, it must be worthless and too risky to use is his attitude. Unfortunately, this attitude is too common in the business community, possibly ever since the adage "no-one ever got fired for buying IBM" was around.

    18. Re:Linus making friends fast by Crispy+Critters · · Score: 1
      "Any public interfaces to the kernel should be treated like a library and licensed appropriately"

      It depends how you define the public interfaces. Most people would say that the public interfaces are the system calls. And any program under any license can run on Linux and use the system calls.

      You have a completely different view of what is a public interface. Who gets to define which interfaces are public? If it is the code authors, then you can say that the kernel authors have decided that the interface in question is not public.

    19. Re:Linus making friends fast by TemporalBeing · · Score: 3, Insightful

      More to the point, though, as long as something provides a public interface and uses only public interfaces, it is entirely the right of the author to decide how to license it, and if the author decides to license it under the GPL but provide a linking exception to allow closed source drivers to call it, that is the author's right. Linus himself said that he felt binary-only drivers should be allowed, so he took advantage of the right to provide a linking exception, and yet now he wants to deny it to others? What's wrong with this picture?
      He's not denying access to it. The issue (from what I can tell) seems to be that he/others find the the NDISWrapper is not using the proper set of kernel functionality.

      As you point out "it is entirely the right of the author to decide how to license it" and "Linus himself said that he felt binary-only drivers should be allowed, so he took advantage of the right to provide a linking exception". That "linking" exception requires that a module properly declare whether its license is GPL or not. If not, then its access to the kernel is restricted; if it is, it is given access to most all the symbols - the GPLONLY symbols. This is for (a) compatibility, but also (b) stability. They didn't want binary drivers breaking the kernel.

      From the sounds of it, they don't agree with the NDISWrapper guys (or whoever is complaining) that NDISWrapper deserves the ability to access the GPLONLY symbols. Perhaps the way NDISWrapper functions is breaks compatibility with the GPL - by loading non-GPL code . I don't know the whole story, but I think I would have to side with the Linux guys on this one. It's their "linking" exception, and you have to play by the rules.

      Note: This is not a GPL issue with respect to the Linux kernel; if it's a GPL issue at all, it is with NDISWrapper not validly being able to use the GPL, and if that is the case, then they should not be allowed to access the GPLONLY symbols. The primary issue is a matter of playing by the rules the developers set - and that goes for GPL and non-GPL code alike, regardless of projects, commercialization, etc. (And no, I'm not claiming, implying, or otherwise stating the the Linux Kernel guys determine that for everyone. Look at the project authors and who has the right, the ability, to make such a rule. It'll change for every project.)
      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    20. Re:Linus making friends fast by jim.hansson · · Score: 1

      I stand corrected, what i was thinking was in his distribution of the kernel it is his choice if he wish to include NDISwrapper or not. and as IANAL what I say does not matter, but my opinion is that NDISWrapper should not have access to GPLONLY symbols.

      and as another poster here said maybe it would be good to dump NDISWrapper so we could start working on getting drivers under GPL license, is it so hard for people that read slashdot to only buy hardware that has open drivers?
      I have never ever needed to use NDISWrapper.

      --
      preview button, my computer does't have any preview button
    21. Re:Linus making friends fast by kelnos · · Score: 3, Insightful

      More to the point, though, as long as something provides a public interface and uses only public interfaces, it is entirely the right of the author to decide how to license it, and if the author decides to license it under the GPL but provide a linking exception to allow closed source drivers to call it, that is the author's right. Sure it is. But "GPL with linking exception" is not compatible with the GPL when going "downstream" with a derived work. If software package A is released under the GPL, and software package B is a derived work of software package B, it *must* be released under the GPL. It cannot be released under the "GPL with linking exception."

      Linus himself said that he felt binary-only drivers should be allowed, so he took advantage of the right to provide a linking exception, and yet now he wants to deny it to others? No he hasn't, and no he didn't. Go ahead and read the COPYING file in the root of the kernel source tree. There's a note at the top that clarifies that that "user programs that use kernel services by normal system calls" aren't considered a derived work of the kernel and therefore aren't required to be covered by the GPL. It says nothing about modules.

      What Linus himself *has* said in the past was that he considers binary modules ok *if* those modules weren't developed specifically for Linux. Take nvidia as an example: they have a binary driver core (possibly developed for Windows, possibly developed just as a generic driver core) which has an open-source shim to adapt it to the Linux kernel's specific interfaces. NDISWrapper could be thought of similarly, as an open-source shim to adapt Windows drivers to Linux's specific interfaces. However, this doesn't mean that NDISWrapper itself can be licensed under the GPL (of course, it can be licensed under "GPL with linking exception"), which is not compatible with Linux's GPLONLY symbols.

      Heck, it wouldn't even be wrong in my book if it directly exported GPLONLY symbols as-is. Sorry, but your book isn't relevant here. (I assume by "it" you mean NDISWrapper.) You don't own the copyright on the kernel, so you don't get to decide. While this stuff may not be tested in court, seems like the copyright holders are in the right here.

      The purpose of the GPL was supposed to be that non-open source can't directly call into GPLed code to avoid compatibility problems if the open source code changed. No, the purpose of the GPL is to allow anyone to freely modify and redistribute source code, but to require that the source code remain open. The GPL is about idealism (with a bit of pragmatism mixed in); it has nothing to do with "compatibility problems."

      It's not a workaround to dodge the GPL. Oh, I agree, it's not. NDISWrapper is a great (temporary!) tool to fill a void until manufacturers get their act together or people have the time and motivation to reverse-engineer the relevant chipsets. Can it be licensed under the GPL? No, it can't. It does things anathema to the GPL's purpose (linking to code with an incompatible license). Can it be licensed under the "GPL with linking exception"? Sure. Is "GPL with linking exception" compatible with the Linux kernel's license for a derived work? No, it's not.

      You're at the mercy of the copyright holders and the courts as to whether or not you're allowed to use NDISWrapper with Linux (and you are, it just can't use GPLONLY symbols!). Deal with it, or find some supported hardware or a different OS.

      Remember, every time the GPL is used to impede progress, proprietary software wins. You're implying that there's some sort of competition going on here. Your personal agenda for open source might be to rule the world, but that's not everyone's. And some people who do share your agenda would like to "win" without cutting corners and compromising on their ideals. Is that naive? Maybe. But just because you don't understand other people's motivations, it doesn't make them wrong.
      --
      Xfce: Lighter than some, heavier than others. Just right.
    22. Re:Linus making friends fast by dgatwood · · Score: 1

      The public interface provided to plug-ins (drivers) is clearly not and can never be limited to system calls. You wouldn't even have basic things like printf or copyin/copyout if you did that. That's the driver writers' equivalent to tying both hands and feet behind the developer's back and telling him/her to write a driver using only his/her tongue and an electrified keyboard.

      If the kernel authors decide an interface is not public, it should not be used outside that component of the kernel and maybe a little bit of other code that is closely integrated with that component. These are not functions that are private to a subsystem we're talking about.

      We're talking about calls that somebody has simply decided should be limited to drivers under licenses that they like for political reasons. Having a tainted flag is so you can quickly identify that a non-debuggable driver might be involved is useful, but the only valid reason to limit what functions a binary drivers can call is fear of future changes breaking those binary drivers. If the reason is fear of breaking binary drivers, an open source compatibility shim completely alleviates that. If a Windows driver stops working, people generally blame the shim, not some obscure function that it calls or data structure through which it iterates.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    23. Re:Linus making friends fast by dgatwood · · Score: 2, Informative

      He's not denying access to it. The issue (from what I can tell) seems to be that he/others find the the NDISWrapper is not using the proper set of kernel functionality.

      Read what I read again. I didn't say he was denying access to the driver. I said he was using his right to allow binary linking but denying the developers of the NDISWrapper code that same right. Sorry, poor choice of wording on my part.

      This code is not giving binary-only drivers access to GPLONLY symbols. It is strictly providing an emulation layer that happens to require some of those symbols in order to work correctly. Those are two completely different things. About the only valid reason to complain would be if the NDISWrapper code didn't set the tainted flag. If it doesn't, that's a one line fix.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    24. Re:Linus making friends fast by dgatwood · · Score: 3, Insightful

      Sure it is. But "GPL with linking exception" is not compatible with the GPL when going "downstream" with a derived work. If software package A is released under the GPL, and software package B is a derived work of software package B, it *must* be released under the GPL. It cannot be released under the "GPL with linking exception."

      NDISWrapper is not a derived work of the Linux kernel. That is a gross misuse of the term "derived work". Using headers and linking against something does not make it a derived work. That was, IMHO, decided way back in the early 80s with Galoob v Nintendo, though no GPL linking case has gone far enough in court to test this, AFAIK.

      You are correct that I can't take someone else's code and add a linking exception, but that's not what is being done here by any stretch of the imagination, and there are numerous cases where open source wrappers have been written as a border between proprietary and GPLed code. Again, to my knowledge, no cases about this have ever made it to court, in part because arguments that such linking is a GPL violation are relatively precarious, and in part because most companies that have found themselves getting threatened with a lawsuit have been small enough that they choose to settle out of court rather than risk a lengthy and expensive court battle.

      More to the point, you can argue that the GPLONLY limitations were intended to disallow linking by code that is licensed as GPL with a linking exception, but then you would also have to disallow any code within the Linux kernel itself that calls those functions unless those pieces of code are also marked with the GPLONLY restriction. That makes the GPLONLY functions substantially less useful to the point of being nearly worthless.

      What Linus himself *has* said in the past was that he considers binary modules ok *if* those modules weren't developed specifically for Linux.

      NDISWrapper is a module that loads binaries specifically developed for Windows, so there you go.

      No, the purpose of the GPL is to allow anyone to freely modify and redistribute source code, but to require that the source code remain open. The GPL is about idealism (with a bit of pragmatism mixed in); it has nothing to do with "compatibility problems."

      Funny, I saw Stallman give a speech, and he basically said that he started hating proprietary software specifically when a printer failed to work with a new computer setup. Had the driver been open, he could have fixed it. Had the OS been open, he could have fixed it to be compatible. Neither was, so he couldn't. While the goals of the GPL may have drifted from that original purpose these days, compatibility was a very important part of the reason the Free Software movement was created in the first place, and I think it is important that the movement not lose touch with its roots.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    25. Re:Linus making friends fast by Haeleth · · Score: 3, Insightful

      Indeed, this is doubly true for a plug-in API. There should not be restrictions for who can write code to a public specification, period. There are far too many people who say that the GPL should have this right and still decry Microsoft for their shady, intentionally non-GPL-compatible licenses. That is the height of hypocrisy.
      It's not hypocritical at all, because the two things are not remotely comparable.

      Microsoft is saying "here are some specifications for a document format, and here is a vague 'promise'. You might be able to use these specifications, but if you do, we might sue you, but we won't tell you how we'll actually decide that, or what parts of the specification we think we could sue you over."

      Linus is saying "here is an API for kernel modules, and here is the GNU GPL. You can use the whole specification if you place your code under a GPL-compatible license; otherwise you can use this, this, and this, but you cannot use this, this, or this. If that's not clear, ask us and we'll tell you whether we agree with what you're planning to do."

      Can you see the difference? Because if you can't, then I suggest you take a deep breath, step back, suppress your dislike of the GPL for a moment, and think about it. You don't have to agree that Linus is being reasonable. All I'm asking is that you recognise that what Microsoft is doing is not the same as what Linus is doing, and therefore that people who approve of either activity but disapprove of the other are not being hypocrites.

      (Lest you dismiss me as a mindless GPL fanboy, let me point out that when I've released software I've always made a point of choosing LGPL or MIT-style licenses for libraries, and in this instance I'm not at all convinced Linus is right. I just think the rhetoric needs toning down a bit. I'm sure you can argue against Linus' ideas without having to fling around blanket accusations of hypocrisy.)
    26. Re:Linus making friends fast by xtracto · · Score: 1

      My boss, just doesn't like OSS at all, if you can't buy it, it must be worthless and too risky to use is his attitude..

      In order to establish Open Source in any business you must have this mentality: "if it works for you, good, use it. If it does not work too bad". That, in case you want to "roll over" your own "sollution" using Open Source technologies. If as you said, you want to pay someone, you can always pay a consultancy which uses Open Source software or any other company which offers the "solution" you need (using open or closed source software).

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    27. Re:Linus making friends fast by m6ack · · Score: 3, Insightful

      People on this forum are not understanding what is being discussed. There are two issues -- licensing and Kernel tainting, and these actually are separate issues. Licensing: GPL only covers derived works. Making code that interfaces from a GPL'd software to a binary that is a windows derivative IS legal. Linus specifically made this point in his posts, and several times. Tainting: Tainting has two purposes... First, it tells the Kernel that a module is suspect. If someone reports a Kernel bug on a Tainted Kernel, then the Kernel maintainers have no visibility into the binary that may or may not causing an issue. Kernel maintainers then require removal of whatever is causing the tainting as a first step in tracking down a bug. The second purpose of tainting is to indicate to the outside world that if they used certain calls in a module, that that module would definitely indicate that it was a "derived work." Currently NDISWrapper taints the Kernel by itself if it loads a proprietary driver. All agree that this tainting is necessary -- especially for the first purpose. Linus wanted to know which symbols that NDISWrapper was using so that he could find out if those symbols really needed to be GPL_ONLY symbols. Additionally, there seemed to be some confusion if NDISWrapper was simply acting as a pass-thru vehicle for avoidance of the GPL -- and we found through the posts, and through the lists of exports, that it clearly was not. There was also discussion on if the exports could be removed from NDISWrapper or the exports could be made non-GPL_ONLY -- presumably, so that it didn't /have/ to do the funky chicken with tainting, or to make more people happy & reduce the chance of NDISWrapper being bullied again...

    28. Re:Linus making friends fast by IntlHarvester · · Score: 1, Insightful

      IMHO, the GPL is a BAD license precisely because it causes fights like this to break out with regularity.

      The thing to understand is that as soon as a GNU/Nut starts talking about "the spirit of the GPL", they are basically admitting that the GPL doesn't actually say what they want it to, and they're going into some zone of extra-legal fantasyland. The GPL is a legal license, nothing more, and it has no spirit

      Linus understands full well that there's nothing in the GPL which permits developers to add special "GPLONLY" symbols based on their personal feelings. From a legal standpoint, either the linking is legal or it ain't; the flag has nothing to do with it. Nor does the GPLONLY flag do anything to actually enforce the GPL or prevent vendors from shipping NDIS-enabled distros -- its simply used for support issues among the kernel devs (as is their right).

      So, its not really that the GPL is a bad license in itself, but the culture that has developed around it where everyone feels like they can play Pretend Lawyer and dictate "the spirit of the GPL" in whatever manner is available to them. This culture is pretty much directly the result of Richard Stallman playing a guru or moses figure where he inscrutably makes proclamations about "linking" and so on and has filtered down through Debian and the Linux Kernel and most other projects were people are too scared to piss off the ideologues doing the work. If the Free Software community were run by competent lawyers and not messiah complex figures, they wouldn't have any of these problems.

      --
      Business. Numbers. Money. People. Computer World.
    29. Re:Linus making friends fast by cheater512 · · Score: 2, Informative

      NDISWrapper deals with Window's binary blob drivers.
      That, under anyone's definition, means nothing GPLed can touch them.

      NDISWrapper tried calling its self GPL while exposing all of Linux's GPLed interfaces to the binary blobs.
      A very straight forward violation.

      Personally I never liked NDISWrapper.
      I use Linux to get away from Windows. I dont want their drivers running on my system.

      Many people use it even when there are superior native drivers.
      Its been portrayed as a quick fix so if your hardware doesnt work out of the box, just use NDISWrapper.

    30. Re:Linus making friends fast by dhasenan · · Score: 1

      What Linus is ignoring is that nobody's distributing a kernel with NDISWrapper and binary drivers using NDISWrapper. Now all that's left is copyright, and I have every right to make closed-source modifications to Linux, so long as I don't distribute those modifications.

      So Linus isn't allowing everything the license allows; he's just using his position for politics. Whether that's right or not, regular people are getting screwed.

    31. Re:Linus making friends fast by kelnos · · Score: 1

      NDISWrapper is not a derived work of the Linux kernel. That is a gross misuse of the term "derived work". Using headers and linking against something does not make it a derived work. Sure it is. Using Linux's module interface does indeed make it a derived work of the Linux kernel. If that doesn't, then what does?

      ... and there are numerous cases where open source wrappers have been written as a border between proprietary and GPLed code. To my knowledge, none of those use (or are allowed to use) GPLONLY symbols.

      More to the point, you can argue that the GPLONLY limitations were intended to disallow linking by code that is licensed as GPL with a linking exception, but then you would also have to disallow any code within the Linux kernel itself that calls those functions unless those pieces of code are also marked with the GPLONLY restriction. That makes the GPLONLY functions substantially less useful to the point of being nearly worthless. That just... makes no sense. A function marked with EXPORT_SYMBOL_GPL() is intended to only be called by code that is licensed under the GPLv2 (or rather, code that is licensed under a GPLv2-compatible license). The rest of the "code within the Linux kernel itself that calls those functions" are also GPLv2-compatibly-licensed. Where's the problem?

      What Linus himself *has* said in the past was that he considers binary modules ok *if* those modules weren't developed specifically for Linux. NDISWrapper is a module that loads binaries specifically developed for Windows, so there you go. And, again, those binary modules that Linus considers to be ok aren't allowed to use GPLONLY symbols. Excellent point about Stallman, though. His original vision was indeed born out of compatibility frustrations, but it seems to me to be a bit of a stretch to assert that the purpose of today's GPL is to maintain compatibility.
      --
      Xfce: Lighter than some, heavier than others. Just right.
    32. Re:Linus making friends fast by nuzak · · Score: 2, Interesting

      > Its been portrayed as a quick fix so if your hardware doesnt work out of the box, just use NDISWrapper.

      If it doesn't work out of the box, I don't much care that it's superior. I'm tired of "learning how the system works" for the 1000th time. Not all toil is virtuous.

      --
      Done with slashdot, done with nerds, getting a life.
    33. Re:Linus making friends fast by cheater512 · · Score: 1

      An example which I've personally encountered:

      The AT76c503a is a 802.11b usb wifi chipset.
      Until it was merged in to the kernel, you had to install it from a package (on Gentoo anyway).

      Once the package was installed, it worked out of the box and its quite a nice driver.
      No packet injection but it can do most other things.

      A little bit of Googling to figure out what driver you need vs using NDISWrapper?
      No contest there. Googling is fine.

      That driver is now merged in to the kernel btw so its now out of the box.

    34. Re:Linus making friends fast by Sancho · · Score: 3, Insightful

      I think that it's a horribly misunderstood license. While the concepts themselves are easy to understand, when you get into the nitty gritty details of interoperating with other software, things get sticky really quickly.

      BSD is so much easier, but you run the risk of someone doing more with your code (and getting paid for it) than you did, without getting anything out of it. Personally, that doesn't bother me all that much.

    35. Re:Linus making friends fast by RKBA · · Score: 1

      I keep hoping for a Linux distro that automatically loads all the proprietary and "illegal" codecs in existence so that I don't have to hunt for them all over the net and install them all individually. It could have a disclaimer like this:

      "I acknowledge that I am a crook, a thief, a pirate, and all manner of other evil, and that I eat little kittens for breakfast. Please download and install all the non-GPL programs and all utilities and codecs that our corrupt legal system deems 'illegal.'"
      Check: YES or NO

    36. Re:Linus making friends fast by dgatwood · · Score: 1

      To my knowledge, none of those use (or are allowed to use) GPLONLY symbols.

      I wasn't talking about the kernel.

      That just... makes no sense. A function marked with EXPORT_SYMBOL_GPL() is intended to only be called by code that is licensed under the GPLv2 (or rather, code that is licensed under a GPLv2-compatible license). The rest of the "code within the Linux kernel itself that calls those functions" are also GPLv2-compatibly-licensed. Where's the problem?

      It's a blatant double standard. Either GPL with a linking exception is or is not allowed to call code marked with EXPORT_SYMBOL_GPL. You can't have it both ways. Therefore, any code in the kernel that provides a linking exception---basically almost anything that exports a module interface---should not be allowed to call these functions unless this wrapper is also allowed to call them.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    37. Re:Linus making friends fast by dgatwood · · Score: 1

      ROTFLMAO. I disagree that the license doesn't have a spirit; any legal document had an intent behind it when it was written, and that's what we refer to when we use the term "spirit" in reference to a law, a license, etc. Beyond that, though, you make some excellent points. :-)

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    38. Re:Linus making friends fast by BillyBlaze · · Score: 1

      Yeah and why do they have to pass a checklist of requirements to release their code freely?

      Because it's not exactly their code - NDISWrapper uses kernel interfaces*, so it's derivative of Linus et al's code. That means the kernel developers get to tell them how they can release it, and they've said "GPLv2, no linking exception".

      *Not just the syscall interface which the kernel license says doesn't constitute a derivative work. It even uses those interfaces that the kernel specifically marks as constituting a derivative work.
    39. Re:Linus making friends fast by MightyMartian · · Score: 1

      I wasn't actually aware that Linus was the Supreme God of GPL.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    40. Re:Linus making friends fast by Brian+Gordon · · Score: 0

      How selfish of them.. seriously, that's no better at all than Microsoft's half-open licenses. Also, since non-GPL-compatible-licensed code runs on Linux I assume that it's fine to use the kernel indirectly, through filesystem APIs and frameworks or whatever. So is there a GPL'd library that makes kernel functions available to non-GPL code with just that extra layer of indirection? Would that work legally?

    41. Re:Linus making friends fast by jgoemat · · Score: 1

      The purpose of the GPL was supposed to be that non-open source can't directly call into GPLed code to avoid compatibility problems if the open source code changed.

      No, the purpose of the GPL is best explained in its preamble:

      The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users.
      If you allow linking of this sort then you allow people to possibly use GPL software under a different license. For instance, Microsoft would take whatever GPL code they wish from Linux, wrap it in a binary interface, and include it in their operating system as long as they released the source code for just those portions. You still couldn't use the GPL code without paying Microsoft for their non-free code.

      IMHO, the GPL is a BAD license precisely because it causes fights like this to break out with regularity.
      I think it's done a lot of good :)
    42. Re:Linus making friends fast by repvik · · Score: 1

      Yeah, good luck on asking the 1000+ people that have copyright on the kernel...

    43. Re:Linus making friends fast by drinkypoo · · Score: 1

      I'm pretty sure he knows precisely what is meant. I think that he, like me, thinks that it is a meaningless concept for a legal document, because the spirit in which you wrote it is largely irrelevant; words have specific legal meaning and what you might want them to mean is not important to anyone but you.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    44. Re:Linus making friends fast by MightyMartian · · Score: 1

      That may be fairly easy when you can piece together a desktop system, but for laptops, it's a lot tougher. Though more and more native drivers are appearing, it's not hard to find a laptop out there that uses some goofy proprietary WiFi hardware. I'm in something of a situation with an actual Broadcom NIC driver for my crappy little HP laptop. The WiFi is recognized, but not the Ethernet. If I have to use NDISWrapper to get my ethernet working, I'll do it. Guys like Linus can stand on principle if they like, my job entails actually getting things done, and not stomping my feet and having a tantrum because I have to use a shitty kludge like ndiswrapper to get some crappy Win-hardware working.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    45. Re:Linus making friends fast by ejtttje · · Score: 1

      Sure it is. Using Linux's module interface does indeed make it a derived work of the Linux kernel. If that doesn't, then what does? Making changes to an interface, or changes to a given implementation of an interface definitely makes it a derived work.
      However, I think you miss the point that many people (e.g. OP and myself too) consider the case of linking-against-header to NOT be a derived work. And of course many other people disagree, but this issue has not been decided in court, so neither side can claim a definitive opinion.

      The key argument here is that you are using a work, but that's not necessarily the same thing as deriving a work. The header defines a public interface, in other words a standard or a protocol. For example, if I GPL the text of a standard describing a network protocol, that does not mean that all implementations must be GPL. Or if a GPL program provides a command line or network/socket-based interface, I can use a non-GPL program to tell it what to do. Similarly, if my linker produces code that can interface with a GPL library, it's simply using a function call mechanism to do the same thing. If you want to complain about that, simply replace the direct function call with a remote procedure call serialized through a socket, and things get very blurry, yet the same functionality remains.

      Of course, statically linking or using headers with inline functions does mean the executable has GPL code in it, and thus must be GPL. But to me, purely dynamic linking means that there is a clear separation of GPL code, and a client executable is no longer a "derived" work.

    46. Re:Linus making friends fast by Sam+Ritchie · · Score: 1

      If it's a derivative work of the Linux kernel because it implements a Linux API, then by that rationale and the description you quoted, it's also a derivative work of the Windows kernel. Do Microsoft know about this?

      I can only imagine how the code must feel, conflicted over whether it's free-as-in-freedom or evil and proprietary. I see lots of therapy in its future.

      --
      This sig is false.
    47. Re:Linus making friends fast by kelnos · · Score: 1

      It's a blatant double standard. Either GPL with a linking exception is or is not allowed to call code marked with EXPORT_SYMBOL_GPL. You can't have it both ways. Therefore, any code in the kernel that provides a linking exception---basically almost anything that exports a module interface---should not be allowed to call these functions unless this wrapper is also allowed to call them. Not really. It's similar to the legal concept in DMCA/copyright of "significant non-infringing use." Clearly, the primary purpose of ndiswrapper is to load binary modules. If another part of the kernel or another kernel module is designed to load GPLed modules -- even if it's theoretically possible to load non-GPL modules, then I'd say letting it use GPLONLY symbols is ok. If the author of this hypothetical module wants to be able to use GPLONLY symbols, he should advertise the module license as GPL. If a user then goes and modifies the module to be able to load binary modules, that's not the fault of the author.

      Though again it's a matter of licensing -- if a module reports itself as "GPL with linking exception", I'd expect it to be denied access to GPLONLY modules, and I'm pretty sure that's how it works today. ndiswrapper was getting around this by claiming to be GPL in the past; now it looks like there's an explicit check for ndiswrapper in the kernel that will deny it access to GPLONLY symbols, even if it tells the kernel it's just plain old GPL.
      --
      Xfce: Lighter than some, heavier than others. Just right.
    48. Re:Linus making friends fast by kelnos · · Score: 1

      However, I think you miss the point that many people (e.g. OP and myself too) consider the case of linking-against-header to NOT be a derived work. And of course many other people disagree, but this issue has not been decided in court, so neither side can claim a definitive opinion. Ok, gotcha. At least I understand your point of view here, even if I don't agree.

      So are you saying that I can write a closed-source program and link it against a GPLed library? I'm only using the header files and using its public interface. That sounds wrong to me and essentially makes LGPL = GPL.
      --
      Xfce: Lighter than some, heavier than others. Just right.
    49. Re:Linus making friends fast by IntlHarvester · · Score: 1

      OK, if we're going to assume the GPL has a spirit, its a "copyleft" license that relies on copyright law for enforcement, and it says explicitly that is not a use license.

      This bothers some people who would like to use the GPL to implement specific EULA restrictions, and those generally are the people who are citing "the spirit of the GPL".

      --
      Business. Numbers. Money. People. Computer World.
    50. Re:Linus making friends fast by IntlHarvester · · Score: 1

      Not really. It's similar to the legal concept in DMCA/copyright of "significant non-infringing use.

      The problem is that there's no stated technical or legal criteria for a GPLONLY symbol. It appears to exist mainly to appease certain developers that are angry about end users loading binary modules.

      --
      Business. Numbers. Money. People. Computer World.
    51. Re:Linus making friends fast by IntlHarvester · · Score: 1

      Microsoft is saying "here are some specifications for a document format, and here is a vague 'promise'. You might be able to use these specifications, but if you do, we might sue you, but we won't tell you how we'll actually decide that, or what parts of the specification we think we could sue you over."

      AFAIK Microsoft has never threatened to sue a developer or made any copyright claims for using their published APIs. So unless you're talking about patents (legally entirely different), this is way off in the FUD zone.

      --
      Business. Numbers. Money. People. Computer World.
    52. Re:Linus making friends fast by ozmanjusri · · Score: 1
      you run the risk of someone doing more with your code (and getting paid for it) than you did, without getting anything out of it.

      The main danger with BSD is someone forking your project and extending it with proprietary but obvious additions. The original project then suffocates because it can't implement the now-protected IP.

      --
      "I've got more toys than Teruhisa Kitahara."
    53. Re:Linus making friends fast by doom · · Score: 1

      The thing to understand is that as soon as a GNU/Nut starts talking about "the spirit of the GPL", they are basically admitting that the GPL doesn't actually say what they want it to, and they're going into some zone of extra-legal fantasyland. The GPL is a legal license, nothing more, and it has no spirit

      I ain't no lawyer (thank god) but if you don't think that the intent of a contract matters when you go into court, I suspect that you ain't no lawyer either.

      The real trouble with all these issues is that programmers have trouble understanding that legal code is not computer code -- legal definitions are not always precise, and they often require judgement calls (which is why we have judges), and in the case of the GPL the question of what a "derived work" is can be a problem on occasion.

      (And if you ask me, the GPL is a pretty brilliant social institution, a really clever legal hack -- if you slashkids don't get the point, it's just because we haven't been seeing too many problems of late like the unix wars of the 80s... unless of course, you count OSX which looks a hell of a lot to me like the latest proprietary fork of the BSD code base.)

    54. Re:Linus making friends fast by IntlHarvester · · Score: 1

      Unfortunately I'm in that age bracket that remembers the Unix wars. However, there's an enormous tangible differences between trying to prevent some poor hack from using his NDIS driver and some large proprietary vendor using a closed blob to fork Linux.

      And Linux people should be a lot more confident in their economic model, because code-sharing between vendors seems to be beating forking.

      --
      Business. Numbers. Money. People. Computer World.
    55. Re:Linus making friends fast by einhverfr · · Score: 1

      Note: This is not a GPL issue with respect to the Linux kernel; if it's a GPL issue at all, it is with NDISWrapper not validly being able to use the GPL, and if that is the case, then they should not be allowed to access the GPLONLY symbols.

      Actually I read it as an issue of Linus saying that ndiswrapper shouldn't have access to these symbols, not a specific legal licensing issue. I don't see Linus making any claims about NDISWrapper's licensing.

      Since it is not a licensing issue, it seems to me that the easy way forward is for ndiswrapper to include a patch which restores this access and require that patch be included on the kerenels on which it runs. This just means that distros have to build their kernels with that patch. Sooner or later, pressure will build to get the functionality merged back into the main kernel.

      That seems the obvious, easy, and safe way forward.

      --

      LedgerSMB: Open source Accounting/ERP
    56. Re:Linus making friends fast by einhverfr · · Score: 1

      So by your idea, writing Windows-only GPL software should be....?

      --

      LedgerSMB: Open source Accounting/ERP
    57. Re:Linus making friends fast by einhverfr · · Score: 1
      I think in this case, I see no issues with ndiswrapper, even absent a linking exception.


      The NDIS drivers are not in any way based on the GPL code, and the NDISwrapper is not in any way based on any of those specific drivers. So I don't see what the issue is. It is the same issue which has been hashed out over and over in SCO v. IBM relating to whether JFS is a derivative of Sco's purported copyrights. The answer has clearly been "no" for much the same reason, even before Novel won the judgement relating to the copyrights.

      --

      LedgerSMB: Open source Accounting/ERP
    58. Re:Linus making friends fast by Fordiman · · Score: 1

      In short: The article headline and synopsis is false, probably misunderstood by the joker that submitted it. From a licensing standpoint, NDISWrapper is GPL'd code. However, it loads non-GPL code, and should thus be treated as such by the kernel - disallowing GPLONLY symbol and module calls. Reading farther down the thread, it seems that this isn't a real serious problem, as the workflow module has already been reimplemented, and either a relaxation of the USB module's restrictions, or a userspace side workaround would solve it quickly.

      In short, much ado about nothing. Move along.

      --
      110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
    59. Re:Linus making friends fast by dgatwood · · Score: 1

      Except that's not true at all. The intent behind a legal document can and often does have a significant bearing on how court cases are decided. Don't believe me? The entire SCO/Novell case (or was that the SCO/IBM case?) hinged on whether it was Novell's intent in the licensing process to transfer the UNIX copyrights to SCO or not. It is actually not at all uncommon for the spirit of an agreement to have an impact on how a court rules on a contract issue, particularly if the contract is vague about certain details.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    60. Re:Linus making friends fast by somersault · · Score: 1

      I think that as long as it's adhering to the license it can do whatever it wants - I don't know much about licenses so I don't know if that's allowed or not. I think that one of the main points in open source software is that anyone who wants to modify the software can do so, and so using platform specific libraries where crossplatform ones are available should be avoided, but if code makes use of some standard part of Windows then there's nothing wrong with it. I don't really see the problem with using GPL code to work with Windows drivers either, since the program itself doesn't have any non-GPL code, just the drivers it loads in, but again I've not studied the license. What license is WINE distributed under?

      --
      which is totally what she said
    61. Re:Linus making friends fast by IkeTo · · Score: 1

      > The purpose of the GPL was supposed to be that non-open source can't directly call into GPLed code to avoid
      > compatibility problems if the open source code changed.

      This has never been the purpose of GPL. GPL is a political license. It is written to oppose whoever trying to limit the freedom of users. It is built to partition the whole world of software into "free" and "non-free", and so that they cannot easily cooperate. The hope is that with a world of free software being inter-operable, each individual non-free software, even those large and evil ones, will fail to compete. And the few "license compatibility issue" is seen as technicalities that might make the license less desirable, but is a necessary evil and never so much to worth ditching the effort. In this sense, NDISwrapper is against the whole idea, so it has every reason to have been denied access to other GPL software.

      If you hate GPL for this (or whatever) reason, you are free not to use it. But don't expect you can ask projects using GPL to stop using it. They do so for a reason, many of them feel really unhappy if non-free software end up using them as a platform.

    62. Re:Linus making friends fast by VJ42 · · Score: 1

      Now it's true that things like religion and licenses tend to act as amplifiers (thus why I don't buy the classic "people will kill each other anyway" argument about religion) Surely the first part of you statement contradicts the second and implies that if it wasn't for religion people would be killing each other over GPL vs BSD or vi vs Emacs... ;p
      --
      If I have nothing to hide, you have no reason to search me
    63. Re:Linus making friends fast by Hal_Porter · · Score: 1

      I don't consider myself to be socially awkward. I have an instinctive love of precision which lesser minds confuse with pendantry and a contempt for the pointless social rituals of the bovine masses.

      Oh wait. Nevermind.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    64. Re:Linus making friends fast by Hal_Porter · · Score: 1

      Well yeah, that is their prerogative. And they've decided that only GPL code is allowed in the kernel.

      But if you do that you have to accept that companies with drivers that depend on third party code will not support Linux because they can't release that third party code under the GPL. As will companies that don't want to release the code because the consider it a trade secret. And good luck getting them to release hardware details either since they'll probably view driver source code and hardware register details as being equally sensitive.

      Given that most hardware companies don't bother with Mac support and Macs have a far higher market share and allow binary drivers, making things difficult for them like this seems to be highly self defeating.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    65. Re:Linus making friends fast by JasterBobaMereel · · Score: 1

      Public Domain is even easier, anyone can do anything they want and no arguments at all ....

      But that is not the point of either the BSD licence or the GPL ....the point of both of these is to stop people doing things you don't want, the list of things people cannot do are just different, and since this is a legal matter people will argue about the complex or borderline cases ...

      --
      Puteulanus fenestra mortis
    66. Re:Linus making friends fast by szo · · Score: 1

      I don't think you know what is the real problem here, so let me help: the GPLONLY symbol used to keep track of the loaded modules binary-only vs open source status. If you load a binary only module, the kernel becomes "tainted", and the kernel developers tell you to take a hike when it crashes and you go to them for help. They do it for a reason: they can't help you without the complete source of the running kernel and they don't have it if you loaded binary-only drivers. In our case, it doesn't really matter if modprobe loaded the binary-only code or ndiswrapper did, in the end we have binary-only code running in kernel space, if it does something wrong, the no-one can figure out what happened, only the author of the binary-only code. This is what Linus is talking about.

      Szo

      --
      Red Leader Standing By!
    67. Re:Linus making friends fast by IpalindromeI · · Score: 1

      NDISWrapper deals with Window's binary blob drivers.
      That, under anyone's definition, means nothing GPLed can touch them.


      It's not so clear-cut as that. Can a GPL program, say Open Office, "touch" Word documents?

      A Word document is file of binary data (ie, not strictly text). Open Office loads this binary file to perform some work: reading and writing a document.

      A Windows network driver is a file of binary data. NDISWrapper loads this binary file to perform some work: reading and writing network data.

      Why is the GPL available to one but not the other? NDISWrapper just loads the driver into memory and shuttles data back and forth between it and the kernel. I don't see any reason preventing it being GPL licensed.

      --

      --
      Promoting critical thinking since 1994.
    68. Re:Linus making friends fast by einhverfr · · Score: 1
      WINE used to be under the GPL, but due to other considerations was moved to the LGPL (not related to licensing, more related to promoting contributions).


      The basic thing is-- the GPL uses the term "based on" in several places. IANAL, but my reading of the current copyright law in the US suggests that "based on" has a very specific meaning which is quite different than the way RMS and Linus use it. "Based on" as in "this movie is based on the following book" implies transforming one work into another through a creative process. This is the same standard and definition of "derivative work" which is fundamentally different than a "collected" or "compiled" work under copyright law (linking seems to my mind to create the latter, not the former).

      --

      LedgerSMB: Open source Accounting/ERP
    69. Re:Linus making friends fast by cheater512 · · Score: 1
      We are talking about executable code here, not file formats.
      A GPLed program specifically cannot have non-GPLed code linked to it.

      NDISWrapper doesnt load a file. It executes it, linking it to its self.

      Here is a relevant quote from the GPL FAQ:

      It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them.

      If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means the plug-ins must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.


      In this case, the binary blob drivers are essentially plugins.
      They are dynamically linked to GPLed code and then executed.

      The GPL only applies to programs, not data which is why its fine to open .doc files and talk to non-free programs via fork, exec, TCP/IP, etc...

      As you can see, this is a very clear cut case.
  3. You can't win this one, Linus by arth1 · · Score: 3, Insightful

    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.

    1. Re:You can't win this one, Linus by corsec67 · · Score: 4, Insightful

      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?

      --
      If I have nothing to hide, don't search me
    2. Re:You can't win this one, Linus by betterunixthanunix · · Score: 3, Informative

      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.

      --
      Palm trees and 8
    3. Re:You can't win this one, Linus by nonsequitor · · Score: 3, Insightful

      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.

    4. Re:You can't win this one, Linus by 0racle · · Score: 2, Insightful

      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.

      --
      "I use a Mac because I'm just better than you are."
    5. Re:You can't win this one, Linus by immcintosh · · Score: 1

      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.

    6. Re:You can't win this one, Linus by corsec67 · · Score: 1

      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.

      --
      If I have nothing to hide, don't search me
    7. Re:You can't win this one, Linus by pembo13 · · Score: 2, Informative

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

      --
      "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    8. Re:You can't win this one, Linus by X0563511 · · Score: 0, Offtopic

      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?

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    9. Re:You can't win this one, Linus by Hatta · · Score: 1

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

      --
      Give me Classic Slashdot or give me death!
    10. Re:You can't win this one, Linus by WindSword · · Score: 3, Informative

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

    11. Re:You can't win this one, Linus by Kozar_The_Malignant · · Score: 1, Informative
      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
      --
      Some mornings it's hardly worth chewing through the restraints to get out of bed.
    12. Re:You can't win this one, Linus by Knuckles · · Score: 2, Informative

      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.

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    13. Re:You can't win this one, Linus by A+nonymous+Coward · · Score: 4, Insightful

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

    14. Re:You can't win this one, Linus by contrapunctus · · Score: 4, Insightful

      I know I'm displaying my ignorance, but I can't find a reliable list somewhere that has models numbers of things that work. And even if I find the model numbers, there are different versions with different chipsets of the same model and there is no guarantee that the model you get has the chipset you want.

      I bought 2 wireless cards this way and both needed wrappers and I went back to an ethernet cable and gave up on it.

      I remember 10 years ago I was begging people to tell me which motherboard to get for a specific distro and no one would say (multiple sites and boards).

      Don't insult me I know it's my fault but I know more that the average user does, and so if I had trouble I know they will.

    15. Re:You can't win this one, Linus by WhyDoYouWantToKnow · · Score: 2, Informative
      From Mozdev - http://plugindoc.mozdev.org/faqs/index.html:

      How do I stop Mozilla Firefox from prompting me to install a plugin? (for Windows)

      Open about:config, and set plugin.default_plugin_disabled to false. Then delete the file named npnul32.dll from your Mozilla Firefox plugins folder. You may have to enable showing hidden files to do this.

      How do I stop Mozilla Firefox from prompting me to install a plugin? (for Linux)

      1. Open about:config, and set plugin.default_plugin_disabled to false.
      2. Delete the libnullplugin.so from your Mozilla Firefox plugins directory. You may have to do this as root if you do not have write access to your Mozilla Firefox installation from your user account.

      --
      "Oh drat these computers, they're so naughty and so complex. I could pinch them."
      Marvin the Martian
    16. Re:You can't win this one, Linus by brunson · · Score: 2, Insightful

      There is an alternative to NDISWrapper, buying hardware produced by companies that support Linux. There are plenty of vendors that support development of open source linux drivers for their products, NDISWrapper rewards the ones that don't by expanding their market while they continue spending all their money developing Windows proprietary drivers.

      --
      09F911029D74E35BD84156C5635688C0
      Jesus loves you, I think you suck
    17. Re:You can't win this one, Linus by FPCat · · Score: 2, Insightful

      But by allowing vendors to say "We don't need to write a proper Linux driver, we can just use NDIS Wrapper" doesn't help:
      a) Motivate HW Vendors to publish documentation needed to write a stable, well performing Linux driver
      b) Motivate HW Vendors to produce and maintain a proper Linux driver.

      The reason kernel developers probably aren't supporting your card very well isn't because they are lazy, more likely they just don't have access to the required specs to support it properly.

      The real solution is to buy hardware from companies that support open source. (Disclaimer: I work for a company that has specific groups that do nothing but maintain kernel drivers and board support for our chips)

    18. Re:You can't win this one, Linus by muuh-gnu · · Score: 3, Insightful

      > I am an open source advocate

      Like in "Do as I say (use open source), but not as I do (use closed source drivers)"?

      > but the driver for my network card

      Get another card. Reward manufacturers supporting Open Source by supporting them.

      > Trying to get rid of it will only restrict Linux adoption.

      If you have to use closed source to just connect your Linux box to a network, then just fuck it and stay with Windows or buy a Mac. The whole point of GNU and Linux was to make a working _free_ system, not just to get you out of paying for a closed source one.

      If all "open source supporters" had your attitude, free software wouldnt have survived the 90s.

    19. Re:You can't win this one, Linus by Anonymous Coward · · Score: 0

      "Shut up", he explained.

      -- Ring Lardner

    20. Re:You can't win this one, Linus by interval1066 · · Score: 0

      Thoroughly agree. Of course that leaves the unsupported hardware users out in the cold. But it goes to show how valuable a little research is before you make that laptop purchase. Make sure your hardware is supported people!

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    21. Re:You can't win this one, Linus by Constantine+XVI · · Score: 1

      AFAIK, OSX is not fully 64-bit, and probably won't be until the G4s and Core (1) chips are phased out, which will likely be either 10.6 or 10.7, 10.8 being a longshot

      --
      "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
    22. Re:You can't win this one, Linus by onefriedrice · · Score: 1

      That's interesting. I have had absolutely no problems with Flash on Vista 64-bit or OS X. Before anyone asks, I run Vista for porting purposes.

      --
      This author takes full ownership and responsibility for the unpopular opinions outlined above.
    23. Re:You can't win this one, Linus by richlv · · Score: 5, Informative

      it's quite important to understand the issue, i think.
      it has been repeated in the thread several times already, but i'll try again (from my, outsider viewpoint, but i'd hope somewhat educated one :) ) - nobody is _breaking_ anything.

      short interpretation by me :
      kernel has a variable which denotes that it is gpl only - that is, the core and all loaded modules are gpled.
      this shows to people trying to debug things that they can debug everything and there are no binary modules that break shit in unexplainable ways.
      now, if a binary module is loaded, kernel notes in the variable that it is no more gpl only and breakages can be extremely hard to debug and impossible to fix. i guess you'll agree we don't want the kernel devs to waste time on such cases.

      now, ndiswrapper itself poses as gpl, thus it does not taint the kernel, but it then loads modules inside itself...

      so you get a tainted kernel that does not identify as one.

      and that is the only behaviour which is going to change.

      if i have misunderstood things miserably, correct me, thanks :)

      --
      Rich
    24. Re:You can't win this one, Linus by starm_ · · Score: 4, Insightful

      also if your kernel is not pure gpl IT IS ILLIGAL FOR YOU TO DISTRIBUTE IT. You are allowed to _use_ it like that but not distribute it. There are good reasons for that. 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 enable the use of the newer faster computers, 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 with the hardware. For a while everybody is happy and content. The new 16 cores chip becomes the new standard. 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 standard 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 their 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: You are not legally allowed to suddenly change your mind about interpretations to suit current needs.

    25. Re:You can't win this one, Linus by Darinbob · · Score: 1

      Breaking things that work for pedantic reasons is childish and punitive.

      I don't think it's for pedantic reasons. I think they're political andideological reasons. People want to make GPLONLY as a proof of the political correctness, not to make support and maintenance easier. If a proprietary binary blob manages to run on Linux, it's viewed as an encroachment by the forces of evil, rather than a way for people to manage to be productive or to promote more adoption of open source. Linus likes to think practically and pragmatically, which pisses off the people who want Linux to be a political tool.
    26. Re:You can't win this one, Linus by Anonymous Coward · · Score: 0

      It's hard to go wrong with Intel. Open source 3D drivers, open source wireless drivers. They even do a bit of in house software development that is subsequently released under the GPL, powertop comes to mind.

    27. Re:You can't win this one, Linus by nonsequitor · · Score: 4, Insightful

      It was a hack to make things work from what I understand, and I could be wrong. I agree it should register as a tainted kernel. However whoever 'fixed' the Linux kernel and broke ndiswrapper should have provided a mechanism which will continue to allow ndiswrapper to work, and show that the kernel is tainted. Breaking things and starting fights between development teams is the wrong way to go about it. Maybe that exists and the ndiswrapper team isn't using it, if that's the case then the ndiswrapper developers should change the wrapper to identify itself properly.

    28. Re:You can't win this one, Linus by corsec67 · · Score: 3, Insightful

      I agree with you, but the problem is that several companies are already doing something quite similar, and it is called TiVoization

      Fon, TiVo, and a few other companies distribute devices that run a linux kernel. To be compliant with GPLv2 they distribute their changes to the linux kernel, but the problem is that the hardware only runs a kernel that has been signed by the hardware manufacturer. That means that you can compile a new kernel using their changes, but can't load it onto the device.

      TCPA is something that Intel and Windows are trying to do that would do the same thing for general-purpose computers.

      That was one of the things that GPLv3 was trying to combat, but Linus doesn't want to use that license for the kernel, so there isn't much to prevent people from doing that in the future.

      --
      If I have nothing to hide, don't search me
    29. Re:You can't win this one, Linus by jrothwell97 · · Score: 1

      There does seem to be a lot of Linus-bashing going on lately.

      I'm going to side with him here - as it links with code that is not GPL, it can't be classed as GPL. However, I don't particularly like the GPL, as it insists on locking out non-GPL'd software. If anything, this is a flaw with the GPL, and not NDISWrapper or Linus.

      If anything, I wouldn't say the biggest danger to the free software world is Linus Torvalds. Or even Bill Gates or Steve Ballamer. I'd say it's RMS - I may expand on this later, but this is a prime example of how restrictive the GPL (which he endorsed) can be at times.

      --
      Those using pirated Tinysoft signatures(TM) are a real threat to society and should all be thrown in jail.
    30. Re:You can't win this one, Linus by Orrin+Bloquy · · Score: 1

      Since there really aren't too many instances of a 64-bit OS X running these days, it's kind of moot.

      --
      "Made up/misattributed quote that makes me look smart. I am on /. and I must look smart."
    31. Re:You can't win this one, Linus by misleb · · Score: 2, Interesting

      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.


      32bit vs. 64bit has always been nearly completely transparent to the user on Macs (remember the G5 is 64bit). So it is possible to design a system where the differences are hidden. But of course a lot of that transparency is due to Apple having control over the hardware and drivers. It also helps that building and distributing multi-architecture binaries on the OS X is trivial. You can have one binary that works natively on ppc32, ppc64, x86, and x86_64 with just a couple options selected in Xcode. Or gcc flags, if you're building stuff on the commandline.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    32. Re:You can't win this one, Linus by kelnos · · Score: 1

      How about breaking things that work because that thing that "works" violates the license under which the kernel is released? Torvalds has taken the stance that some binary modules are ok under certain circumstances, but that certain exported symbols should be available only to GPLed modules. It's been a while since I've read about this, but I believe the rationale was that those symbols are more "internal" and would make the module more of a derived work and thus subject to the GPL. Is it an exact science? No. But the copyright holders get to make the rules to some extent.

      If you don't like it, use another wireless chipset. Built-in wireless chipset that you can't change? Sorry, but that's not the kernel's problem. If you don't want to respect the software license, don't use the software. Same goes for Linux as for "pirated" copies of Windows.

      --
      Xfce: Lighter than some, heavier than others. Just right.
    33. Re:You can't win this one, Linus by nonsequitor · · Score: 2, Insightful

      The ndiswrapper source is GPL, however it loads binary blobs which were independently developed. ndiswrapper should have access to the symbols, but it should have a mechanism for indicating the kernel is tainted after loading a binary blob.

      Logically it follows that ndiswrapper is a derived work, BUT the binary blobs its loads are not. I don't see how this is at all productive and it IS quibbling over pedantics. Whether or not its their right to be pedantic and counter-productive does not negate the fact that they just hurt linux IMHO.

    34. Re:You can't win this one, Linus by dubious_1 · · Score: 3, Informative

      Did you actually bother to read the entire thread? Linus is not anti-NDISwrapper. He is at worst ambivalent toward it. He is however unwilling to violate the will of the developer's who released their work under the GPL if they in fact feel that NDISwrapper is not legitimately a GPL module.
      There is legitimate cause to believe that NDISwrapper cannot itself be licensed under the GPL if it links against non-GPL code. Since the GPLONLY flag defines symbols that are only exported to modules licensed under the GPL, this caused a problem. Linus was requiring that the owner of those symbols agree to NDISwrapper using them ( and preferably having them not defined as GPLONLY for consistency ). As the principal kernel god, he was right in flagging this problem.
      Of course he and many others in the Linux community would prefer that linux native drivers existed for these devices, but anyone who has spent any time reading his comments would agree that Linus is a pragmatist ( he is an engineer ), not an idealist. He does have an obligation to enforce the license that all of the kernel developers are releasing their work under.
      By the way, the end of the discussion seems to be Linus agreeing to roll back the change that broke the NDISwrapper. The hope is that if the change had been made intentionally to break NDISWrapper, then the submitter will resubmit the change and they discuss the reasons.

    35. Re:You can't win this one, Linus by LinuxDon · · Score: 1

      Quote: 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 don't believe you really have a point there. If I were to download and load a random GPL module in my kernel and it would crash, it's not like anyone will be running to fix it for me.
      So basically, you're on your own anyway. Therefore, I believe they're just overreacting concerning this NDISWrapper issue.

      And loading the NVidia driver also voids the GPL only status of the kernel, so why is this NDISWrapper thing such an issue?

    36. Re:You can't win this one, Linus by Tupper · · Score: 1

      Get another card. Reward manufacturers supporting Open Source by supporting them.
      What card should I but? I'd a laptop card or usb dongle with a driver in the kernel that just works. I'm not especially speed or price sensative.
    37. Re:You can't win this one, Linus by GreatBunzinni · · Score: 0

      Get another card. Reward manufacturers supporting Open Source by supporting them.

      Have you ever tried to get your hands on a wireless network card that is fully supported under linux? Currently, the best products available are at best the ones that run on those binary blob drivers. How exactly do you vote with your money if there isn't a single apt candidate out there?

      ndiswrapper isn't the first choice to run some hardware. It's the very last choice, which people are forced to take instead of being forced to not use anything.

      --
      Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
    38. Re:You can't win this one, Linus by weicco · · Score: 1, Insightful

      Linux is gplonly but ndiswrapper is non-gplonly because it can load non-gpl binary modules? Then why Linux is gplonly when it can load non-gplonly wrapper which can load non-gpl modules? What if I write ndiswrapperwrapper which is gplonly and it loads non-gplonly ndiswrapper...

      Don't take it seriously. I'm just having a little bit of fun here :)

      --
      You don't know what you don't know.
    39. Re:You can't win this one, Linus by sleepykit · · Score: 1

      This may be one reason, as as thought, for why more people haven't moved to Linux.

      --
      "When did I realize I was God? Well, I was praying and I suddenly realized I was talking to myself." ~ Jack Gurney
    40. Re:You can't win this one, Linus by Intron · · Score: 1

      How do I run this "GPL" solution on my Sparc-based Linux system? The card is PCI but the binary that gets loaded runs on Intel-only. So it's compatible hardware, and software that claims to be GPL, but the system is a doorstop. NDISwrapper is not a bandage, it is a Typhoid Mary allowing proprietary software to infect the kernel.

      --
      Intron: the portion of DNA which expresses nothing useful.
    41. Re:You can't win this one, Linus by the_B0fh · · Score: 1

      Why do people who have no idea what the hell they are talking about get modded insightful?

      Not marking it GPL does not stop things from working. It is simply NOT MARKED GPL.

      ndiswrapper is NOT broken.

      Wanting to make things better is not childish and punitive.

    42. Re:You can't win this one, Linus by Anonymous Coward · · Score: 0
      NDIS is GPLONLY. It's under the GPL, full source is available, and it does not turn around and export the symbols itself. It implements one API in terms of another API.


      This is not unlike the Linux user interface (which can be used by proprietary applications) which is implemented in terms of the kernel internals (many of which are GPLONLY).


      Loading a proprietary NDIS driver into NDISwrapper does taint the kernel, just as loading a proprietary kernel driver does.

    43. Re:You can't win this one, Linus by dfghjk · · Score: 1

      "Linux isn't only on i686, so why should we accept binary blobs of code for that processor?"

      I was with you up until that point. Those two things are unrelated.

    44. Re:You can't win this one, Linus by idontgno · · Score: 2, Interesting

      How do I run this "GPL" solution on my Sparc-based Linux system? The card is PCI but the binary that gets loaded runs on Intel-only. So it's compatible hardware, and software that claims to be GPL, but the system is a doorstop.

      So, you're hosed. That has nothing to do with me. NDISWrapper works for me. You solve your own problem, in ways that don't try to deny me my workaround.

      NDISwrapper is not a bandage, it is a Typhoid Mary allowing proprietary software to infect the kernel.

      Oh, get over yourself. It's a workaround. It solves nothing but a user's immediate problem: using hardware with no native support.

      "Buy supported hardware" is not always an answer. Yes, it's the best solution, but sometimes you have no choice except either use what you've got the best you can (including ugly kluges like NDISWrapper), or use nothing at all... and that's never a solution.

      Yeah, there are numerous pragmatic limitations to crap like NDISWrapper. Non-GPL taint warnings are there for a reason: to remind you that you may chase a problem into the dank impenetrable thicket of the proprietary driver... at which point you're SOL. Likewise if you need features the NDIS driver doesn't support.

      But in a few cases, the choice is between doing something distasteful and doing nothing at all. And that is neither a valid choice or an absolutely necessary one as long as everyone involved is honest and aware of the limitations and compromises involved.

      And calling NDISWrapper "Happy happy GPL joy" isn't either honest or mindful of the very real issues. But hyperbolizing it as a disease vector isn't either.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    45. Re:You can't win this one, Linus by tepples · · Score: 1

      There is an alternative to NDISWrapper, buying hardware produced by companies that support Linux.

      First, what is the public URL of a reliable list of hardware manufacturers that fully cooperate with the developers of Linux? Google seems to have failed several other people who have posted comments to this article.

      Second, beggars can't be choosers. A lot of people rely on in-kind donations of computer hardware, such as students in high school or university. What should they do to make sure that people donate hardware that is fully compatible with free software?

    46. Re:You can't win this one, Linus by corsec67 · · Score: 2, Insightful

      I was actually wrong with my original comment: the GPLONLY stuff is actually some functions that are only available to gpl modules, and this doesn't have anything to do with making the kernel tainted.

      As for loading a non-gpl module, that makes your kernel "tainted", and generally kernel maintainers will not even accept a bug report for something that has to do with a "tainted kernel".

      I didn't mean that the kernel maintainers would jump to fix the issue, but with a tainted kernel, like using the nvidia module, you generally can't submit kernel bug reports.

      And, as you say, NDISWrapper is quite similar to the nvidia wrapper.

      --
      If I have nothing to hide, don't search me
    47. Re:You can't win this one, Linus by idontgno · · Score: 4, Insightful

      I think you should know that you're engaging in the same kind of ideological wordmongering you accuse the other side of.

      Look, I'm a pragmatic open source user. I understand the ideology.I generally agree to it. But not because of its perceived social Rightness, but because it's a reliable source of Good Bits. Its ideology supports methodology which supports good stuff like working kernels.

      Upthread, I chastised a Free Software hyperbolist for being unrealistic and ignoring the practical side. Now I'm going to do the same in the other direction here.

      The taint flag is a disclaimer of warranty.

      What it comes down to is:

      If you use only this open source software, we the developers can troubleshoot it with you, because no matter where the bug lies, we can find it. But if you inject a piece of kernel code which is only known as a black box... all bets are off. At best, we might conceivably help you chase the problem down into this black box, at which point we can only shrug and walk away. But the very real worst-case scenario is that the closed-source module does things to unrelated parts of the kernel which simply cannot be traced because of their origin. The kernel is, after all, a single shared memory space running at a single common privilege level, so you're giving carte blanche to a piece of driver you can neither inspect or verify. And trying to debug that quagmire would be massively unproductive. Really, we'd rather not waste time which would be better spent working on the real open source code and solving problems we actually can solve. So, rather than make any promises in this situation, my NDISWrapping friend, we the kernel developers can only tell you "Y'all on your own, dog!"

      (BTW, that's not a real quote from any kernel developer I know of. It's just intended to express one good functional reason for kernel taintedness.)

      See, no hysteria, no missionary fervor, no revolutionary speeches or dialectical materialism or any of that. Just practical reasons based on a balance of costs and benefits.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    48. Re:You can't win this one, Linus by lpq · · Score: 1

      Why was someone who didn't read the article nor understand the issue marked insightful? Oh yeah, this is slashdot where it's insightful to not read base article or understand the issue.

      The NDISWrapper doesn't claim that loaded drivers are GLP-ONLY -- NDIS wrapper sets the tainted flag when loading non-GPL drivers. But it is NDISwrapper (a GPL-licenced loader) that is in question. NDISwrapper loads other modules (at least one of which IS GPL, though most are not).

      Torvalds is claiming that NDISwrapper -- a loader like firmware-loading, or BIOS-updating drivers should be tainted as non-GPL because it loads some non-GPL material.

      Tovalds deftly skipped over answering the issue of all the firmware-loading and updating drivers that are permitted to be called "GPL" even though the firmware they load is not.

      NDIS wrapper provides a "virtual" space to run Win-drivers in. If that makes it non-GPL, then shouldn't all of the linux-virtualization work that can be used to run Windows also be non-GPL tainted?

    49. Re:You can't win this one, Linus by sumdumass · · Score: 1

      I'm not convinced it isn't GPLONLY. Sure it links to non GPL componants but as long as this process is carried out by the end user and not distributed that way, then it doesn't violate a strict GPL meaning.

      What I'm getting at is that the GPL doesn't prohibit me from taking the linux kernel and integrating Windows XP with it to run both at the same time in the same memory space as an end user. I don't get this idea of breaking APIs that worse case scenario should mean I have to install something myself.

      Unless there is some prerequisite that says any use of an API or system call can only be accessed by a GPL compatible licensed software that I am not aware of, I don't see the problem. And if there is one, how does the GPLv3 licensed software get to use it on it's own? After all, it (GPLv3)is incompatible with GPLv2 only licenses.

      And another note. I though part of the robustness of the 2.6 kernel line was that it could perform some driver related functions just as well in userspace as kernel space. How does this fair for networking and other related tasks?

    50. Re:You can't win this one, Linus by Dadoo · · Score: 1

      I have a 64-bit laptop that runs Flash on Linux just fine. Admittedly, it uses the 32-bit version of Firefox, but does the 64-bit version really get you anything?

      --
      Sit, Ubuntu, sit. Good dog.
    51. Re:You can't win this one, Linus by sumdumass · · Score: 1

      Intel only released their wireless drivers or specs so that opensource drivers could be made a few years ago. I remember struggling for weeks on end with my centrino wireless whenever someone reported a break through. I think it took like a year and a half before Intel would make crappy beta versions available and probably another 6 to 8 months before some good and reliable working drivers could be found. And I think it was almost that long of a time to get the sound working properly.

      I'm not sure I would go with the Intel just works strategy. There is nothing to say that it won't in the future. And when you look at 3d video, Intel doesn't produce a card yet that can keep up with entry to mid level nvidia and ATI offerings. They may compete with on board video, but I'm not sure it would go much further.

    52. Re:You can't win this one, Linus by F452 · · Score: 3, Informative

      I was looking in to this recently and found lots of info at:

      http://www.fsf.org/resources/hw/net/wireless/cards.html

    53. Re:You can't win this one, Linus by sumdumass · · Score: 1
      The Linus bashing is more or less attacks because he didn't support the GPLv3 as much as people wanted him to. There was even talk about wrestling control of the linux kernel away from him in order to jam it into a GPLv3 license. What you are seeing is either furtherance of that or resentment connected to it to some degree.

      I'm going to side with him here - as it links with code that is not GPL, it can't be classed as GPL. However, I don't particularly like the GPL, as it insists on locking out non-GPL'd software. If anything, this is a flaw with the GPL, and not NDISWrapper or Linus.
      I'm going to be honest here, I am somewhat of a fan of Linus and the GPLv2 but I disagree with these actions. The purpose of the GPL insisting on gpl compatible software is to stop others from destroying it. That being said, I think it is a reactive and not a proactive function. It shouldn't be the Kernel's position on what can be linked or not, just that violations can occur after the fact. Now the kernel doesn't have to include the NDISWrapper into it's tree, and as long as no nonGPL code is included with the wrapper, there shouldn't be a problem with others distributing it or an end use installing it on it's own. My understanding is that the NDISWrapper only sets a control API for interacting with windows drivers. But there is nothing requiring or preventing windows only drivers from being GPLed so I don't really see the problem with it. But in either case, I don't think it is the kernel's position to actively stop someone from using the kernel in a way that they see fit.

      If anything, I wouldn't say the biggest danger to the free software world is Linus Torvalds. Or even Bill Gates or Steve Ballamer. I'd say it's RMS - I may expand on this later, but this is a prime example of how restrictive the GPL (which he endorsed) can be at times.
      I am simply going to say that I agree with this.
    54. Re:You can't win this one, Linus by Fallingcow · · Score: 2, Insightful

      I can load the NDISWrapper module without loading any proprietary code. It wouldn't do much, but I could load it.

      If there are any GPL WinXP wireless drivers, I could use it to load those, and still be 100% GPL.

      This is basically saying that GPL code that allows users to load non-GPL drivers is not allowed, even though, as I understand it, the end user is supposed to be able to do ANYTHING THEY WANT with GPL code or binaries, and restrictions only come in when distributing. I should be able to use a GPL wrapper to load non-GPL code with full access to the Kernel if I want to, and at any rate, that wrapper is still 100% GPL, when distributed or even loaded on its own.

    55. Re:You can't win this one, Linus by Delkster · · Score: 2, Insightful

      The whole point of GNU and Linux was to make a working _free_ system, not just to get you out of paying for a closed source one.

      Perhaps a 99.9% free system is still better than a fully proprietary one.

    56. Re:You can't win this one, Linus by Tupper · · Score: 1

      That's great! Thanks.

    57. Re:You can't win this one, Linus by Intron · · Score: 2, Insightful

      I never said you couldn't use it, just that it is not GPL no matter how you dress it up. So it's fine if you want to install it and run it on your system, you just shouldn't be able to sell it or distribute it with NDISwrapper installed, because it isn't GPL.

      If you allow NDISwrapper to be GPL, then any manufacturer can put a wrapper around proprietary code and stick it in the kernel. Graphics cards, modems, printer interfaces - a lot of hardware uses the processor to do some of the work and would like to keep that code secret if they could. Look at nVidia. So yes, it's pretty much a "virus" as far as the GPL is concerned.

      --
      Intron: the portion of DNA which expresses nothing useful.
    58. Re:You can't win this one, Linus by Cheapy · · Score: 2, Informative

      Wow, it's an open source fundamentalist! Let's ban closed-open source marriages since they aren't pure and the most Holy of Programmers has spoken out against it.

      --
      Would you kindly mod me +1 insightful?
    59. Re:You can't win this one, Linus by Trogre · · Score: 1

      How exactly do you vote with your money if there isn't a single apt candidate out there?

      I guess the GP is accustomed to US-style elections.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    60. Re:You can't win this one, Linus by Darinbob · · Score: 1

      The taint flag is a disclaimer of warranty.
      I'm not really sure. It sounds like an "out". As in "we won't fix your keyboard driver because you have a tainted ethernet wrapper". The word "taint" is not just a neutral way of saying "we're not sure if we can support you." It has very clear negative connotations, which I can't see being anything other than political or ideological.

      Though I agree the NDISWrapper shouldn't be under the GPL if it can somehow "fool" the kernel into thinking that it's loading GPLONLY code when it actually isn't.

      But it still irks me that this whole tainted kernel thing seems like just a way to try and extend the GPL restrictions beyond static linking . And since the GPL is a license with ideological aims, I just can't help but combine this, and the word "taint" with it's negative connotations, as a way of clamping down on binary modules because of ideological reasons rather than it being merely a support issue. Ie, they can't outright forbid proprietary modules, but they can get some users to think "it says it's tainted, ick".
    61. Re:You can't win this one, Linus by Melbourne+Pete · · Score: 1

      If you have to use closed source to just connect your Linux box to a network, then just fuck it and stay with Windows Okay I will. Having to reconfigure ndiswrapper every time I upgraded Ubuntu was a complete PIA anyway.
    62. Re:You can't win this one, Linus by ncc74656 · · Score: 1

      I have a 64-bit laptop that runs Flash on Linux just fine. Admittedly, it uses the 32-bit version of Firefox, but does the 64-bit version really get you anything?

      I run the 32-bit Flash plugin in 64-bit Firefox with nspluginwrapper, and it's been fairly solid for a while now. (It's good enough for YouTube, anyway, which is about all that I allow...Flash ads get terminated with either NoScript or Adblock Plus.)

      64-bit Firefox is less of a pain to get running. Gentoo will build it from source like any other app; to get a 32-bit Firefox, you'd either have to download a binary package (not the Gentoo way) or set up a 32-bit chroot and build a binary package within that (too much of a hassle). If you're still using a binary distro instead of a source distro, YMMV.

      --
      20 January 2017: the End of an Error.
    63. Re:You can't win this one, Linus by repvik · · Score: 1

      Not at all. Nearly all binary blobs are for x86. This makes it impossible for me to recompile the code to use my devices on powerpc, arm, mips, sh, etc.

    64. Re:You can't win this one, Linus by repvik · · Score: 2, Insightful

      Torvalds is claiming that NDISwrapper -- a loader like firmware-loading, or BIOS-updating drivers should be tainted as non-GPL because it loads some non-GPL material.

      Tovalds deftly skipped over answering the issue of all the firmware-loading and updating drivers that are permitted to be called "GPL" even though the firmware they load is not.

      There is a major difference here. NDISwrapper loads code that runs in kernel space. Firmware loading loads firmware to a device which runs it separately. A bug being caused by buggy firmware in a peripheral can be handled. A bug being caused by a binary blob in kernel space can have potentially disasterous effects.

      See the difference and why module tainting is a good idea? There's no point in debugging a kernel that has random binary blobs since there's no way of telling what they do.
    65. Re:You can't win this one, Linus by SanityInAnarchy · · Score: 1

      If your kernel isn't tainted, and you can provide all source, you are more likely to get help than if it's proprietary.

      The other point to consider is: If you are running, say, nVidia drivers, then most of your kernel problems should really be reported to nVidia, as we have no idea what the fsck they're doing inside your kernel. Compare this to the open Intel drivers -- not only do we know what they do, but the kernel developers will actually maintain them, and make sure they continue to work with new versions of the kernel.

      --
      Don't thank God, thank a doctor!
    66. Re:You can't win this one, Linus by SanityInAnarchy · · Score: 1

      Linux isn't only on i686, so why should we accept binary blobs of code for that processor?

      While I agree, it's really not entirely the case with NDISwrapper. They do support OS X binary blobs, and I did get wireless networking going on my Powerbook (32-bit PPC) by the same method.

      The real question is, why should we accept binary blobs at all?

      And the answer is, we shouldn't, but we will anyway, because they get the job done. Just like kernel development ran on BitKeeper until it was revoked, forcing them to write Git, we'll continue to use the closed nVidia drivers until we can't anymore, because that's human nature.

      --
      Don't thank God, thank a doctor!
    67. Re:You can't win this one, Linus by cbart387 · · Score: 1

      I would take it as if you introduce the binary drivers (that we can't use source to track down problems) then it's not fair for us to have to figure out what happened. Aka when you add stuff that may have introduced instability we're not going to help you. I find that reasonable. Your mileage may very.

      --
      Lack of planning on your part does not constitute an emergency on mine.
    68. Re:You can't win this one, Linus by SanityInAnarchy · · Score: 1

      The same is arguably true of firmware. A bug in firmware can have potentially disastrous effects, you never know what it might do to running code. Depending on the device, it could affect the memory space just as easily.

      Of course, it depends how far you're willing to take this, as hardware itself can have bugs, or simply be faulty. And I agree that binary blobs are bad. I'm just not sure how to define the difference clearly.

      --
      Don't thank God, thank a doctor!
    69. Re:You can't win this one, Linus by dubious_1 · · Score: 1

      And that would still be allowed, but you would need to compile your kernel with this option enabled ( or more to the point the other disabled ).

      Like is discussed in the actual thread, it is debatable if ndiswrapper is wrapping otherwise restricted interfaces for the purpose of making them available to non-GPL'd modules or not. Clearly ( At least I think it is clear ) I would not be compliant if I wrote module dubious_1_wrapper that simply calls restricted kernel interfaces, but I allow non-GPL's modules to use my wrapper. (my_foo() calls kernel_foo()).
      It gets a little more vague though when my module is implementing a standard API that allows code written against that API to run. My work would clearly be derivative of the kernel, thus making it covered under the GPL. Code using the API may or may not be derivitive of the kernel though and since there is no precedent in case law dealing specifically with this issue, my experience has been that if you ask 3 lawyers their opinion, you will get 4 opinions.
      In the case of NDISwrapper, clearly the original NDIS based drivers cannot become encumbered by the GPL simply because someone writes a module that allows them to be included into the linux kernel. The issue of what license the interfacing module falls under could be in question though, and might not technically be legal at all ( not addressed in the thread, and not at this time being debated ). I am not an expert on ndiswrapper, and do not know to what extent it provides access to kernel level functionality. I suspect that Linus is not either, and thus why he required that the ndiswrapper folks provide a list of the kernel interfaces that they were using that were designated as GPLONLY. If the kernel developers responsible for those interfaces determine that ndiswrapper satisfies them, then there is no problem.
      I had occasion to speak with some lawyers about kernel modules and the GPL, and one of the interrestings that came out of it was that Linus is not the final arbiter of what is and is not allowed under the GPL. Once code was released under that license, the specifics of that license as interpreted in a court of law are the only consideration. Linus does not have the power to grant exceptions since he does not own all of the code. This came up when it was mentioned that Linus allows binary modules to be distributed. Since at the time there was no defined kernel API that could be used to write modules and not have them considered derived works of the kernel, it was irrelevant that he had publicly made statements saying that they were fine. I would be curious to see if the existance of this GPLONLY set of interfaces has created a new rule since it might be lead to imply that other interfaces are permitted.

    70. Re:You can't win this one, Linus by lpq · · Score: 1

      I see the difference, but I don't believe you understand the issue. NDIS marks the kernel "tainted" as soon as it loads the proprietary drivers. This answers your concern of binary-blobs affecting the kernel. OTOH, as the recent bug in the Firewire devices in Windows shows -- if you have a driver in kernel space, it can still up or download code to a device that can then affect kernel space. Marking NDIS tainted, itself, is wrong, because it can load a GPL (non-tainted) module. NDIS needs the ability to mark the kernel tainted or not depending on what driver *it* is loading. the NDIS driver itself is not-tainted and is GPL.

      Do you see the difference and why you shouldn't taint "agnostic" loaders, but base tainting on what is loaded?

    71. Re:You can't win this one, Linus by WK2 · · Score: 2, Insightful

      I'm not the OP, but until recently, I used ndiswrapper to make my wireless card work (and might go back. the OSS driver is buggy.)

      >> I am an open source advocate

      > Like in "Do as I say (use open source), but not as I do (use closed source drivers)"?

      No, as in I advocate open source, but am not a hardcore zealot. I have to work in the real world, and prefer function over ideals.

      >> but the driver for my network card

      > Get another card. Reward manufacturers supporting Open Source by supporting them.

      I thought I did. I researched as much as I was willing to for a small purchase, and discovered that the card they sell at the local Wal-mart used a Prism GT chipset, which was fully supported by an open source driver. After I actually tried to get the thing to work, I noticed that "fully supported" is not how I would have defined it. Because it is a USB card, it requires the special "islsm" driver, which is buggy, unmaintained, and doesn't work with recent kernel versions. Islsm is difficult to compile.

      I totally agree with supporting manufacturers who release OSS linux drivers. Unfortunately, the information is hard to find, or at least was harder a few years ago. But it's been several years, and the card still works with ndiswrapper. I see little reason to buy another one.

      >> Trying to get rid of it will only restrict Linux adoption.

      >> If you have to use closed source to just connect your Linux box to a network, then just fuck it and stay with Windows or buy a Mac....

      >> If all "open source supporters" had your attitude, free software wouldnt have survived the 90s.

      Wow. That isn't even worth responding too. But what Cheaply said is worth repeating, "it's an open source fundamentalist! Let's ban closed-open source marriages since they aren't pure and the most Holy of Programmers has spoken out against it."

      --
      Write your own Choose Your Own Adventure. http://www.freegameengines.org/gamebook-engine/
    72. Re:You can't win this one, Linus by KutuluWare · · Score: 1

      The whole point of GNU and Linux was to make a working _free_ system


      You may *think* that's the whole point of Linux, but that doesn't make you right. Based on the early history of Linux development, I'd say the whole point was to make a "better" PC-based UNIX-like OS. "Free" just happened to be a convenient and effective way to go about it.

      Linux is an OS, GNU is a philosophy. Don't confuse the two.
    73. Re:You can't win this one, Linus by quill_n_brew · · Score: 2, Insightful

      >> I am an open source advocate

      >Like in "Do as I say (use open source), but not as I do (use closed source drivers)"?

      No, like in "Use open source to the best of my ability, surmounting its restrictions to said ability with non-OSS fix-it stuff, if I hafta." Pragmatism over purism generally wins the day.

      >> but the driver for my network card

      >Get another card. Reward manufacturers supporting Open Source by supporting them.

      Because they're growing on trees, aren't they? Here's another platitude for ya: Scarcity breeds cowardice. Sheesh...

      >> Trying to get rid of it will only restrict Linux adoption.

      >If you have to use closed source to just connect your Linux box to a network, then just fuck it and stay with Windows or buy a Mac. The whole point of GNU and Linux was to make a working _free_ system, not just to get you out of paying for a closed source one.

      >If all "open source supporters" had your attitude, free software wouldnt have survived the 90s.

      There is some viable argument that the whole point of GNU and Linux was not merely to make a working free system, but simply to do something else. Ars Gratia Artis, and all that. And Ipso Facto, while I'm at it...

      Fact is all open source supporters come in strange clusters and myriad forms of attitude, which, like the fabled melting pot of the New World as mere noble propagandized humanitarianism, see it as a practical recourse to inevitable future tensions wrought by those of different languages/skin/religion/yo-yo ability. So, to invoke the wisdom of Woody the Yodlin' Cowboy, "Play nice."

    74. Re:You can't win this one, Linus by arth1 · · Score: 2

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

      If Linus Torvalds had done that, there wouldn't have been a Linux.

      Regards,
      --
      *Art
    75. Re:You can't win this one, Linus by arth1 · · Score: 1

      There is legitimate cause to believe that NDISwrapper cannot itself be licensed under the GPL if it links against non-GPL code.

      How is this any different from, say, bcm43xx, which also needs external non-GPL firmware? Does that mean that bcm43xx should not be able to read the GPL-only variables, and including this module in the kernel should make it tainted, affecting all modules that need the GPL_ONLY parts?

      I fail to see what's special about ndiswrapper here.
    76. Re:You can't win this one, Linus by skurrier · · Score: 1

      Yes, this is true, however I believe (from TFA) that NDISWrapper immediately taints the kernel on load.

      So, from a debugging perspective, if you do use NDISWrapper and have a bug, people are going to (rightly) tell you to try it again without your wireless card.

    77. Re:You can't win this one, Linus by putaro · · Score: 1

      This is a good explanation. I think the problem is the the GPLONLY variable is misnamed. It should be called something like "SOURCEAVAILABLE".

      As a result of the misnaming the argument moved into whether or not ndiswrapper is GPL'd and, it is. The GPL is a license that applies to copyright issues. Those issues are copying (distribution) and creation of derivative works. ndiswrapper complies with the GPL and is licensed under the GPL and is freely distributed. Just because ndiswrapper is primarily used with non-GPL code does not make it non-GPL. There's nothing in the GPL that says that GPL code cannot work with non-GPL code. It says that if you make derivative works of GPL code then your code must also be GPL'd. The proprietary drivers are not derivative works of ndiswrapper or the Linux kernel (they're Windows drivers and their authors may never even have seen Linux internals) and really have no bearing on the GPL/non-GPL status of ndiswrapper. ndiswrapper is licensed under the GPL and all of its source code is freely available. It may seem like a legalistic argument, but the GPL *is* a legal instrument.

      The argument should have been that ndiswrapper will load modules that make debugging hard or impossible - which is factually true.

    78. Re:You can't win this one, Linus by SETIGuy · · Score: 1
      Mr. Tivoization-is-great is lining up on the wrong side again.

      There is legitimate cause to believe that NDISwrapper cannot itself be licensed under the GPL if it links against non-GPL code. But it doesn't necessarily link against non-GPL code, it just has the ability to link against non-GPL code. If you use that argument to claim it can't be licensed via the GPL, you would need to make the same claim about the whole kernel, because the linux kernel has the ability to link against non-GPL code as well.

      This is not a licensing issue, it's a control issue. Linus has a problem with NDISwrapper because (according to what I have read) NDISwrapper resets the GPLONLY flag if it loads a non-GPL driver. Linus doesn't like that because he doesn't control NDISwrapper. Linus wants to control the kernel, and therefore he feels he needs to control the GPLONLY flag and can't trust anyone else to properly use it.

      Since the GPLONLY flag defines symbols that are only exported to modules licensed under the GPL, this caused a problem. Linus was requiring that the owner of those symbols agree to NDISwrapper using them (and preferably having them not defined as GPLONLY for consistency ). Since NDISwrapper is legitimately and legally licensed under the GPL, it should be able to use those symbols when loading a GPL licensed driver. Preventing GPL licensed modules from accessing those symbols is discriminatory and antithetical to the GPL. But then again, Linus has been behaving in a manner antithetical to the GPL for quite some time now.
    79. Re:You can't win this one, Linus by IntlHarvester · · Score: 1

      OS X 10.5 is fully 64-bit on the appropriate hardware, but Safari is still a 32-bit program and therefore doesn't have plugin compatibility issues.

      --
      Business. Numbers. Money. People. Computer World.
    80. Re:You can't win this one, Linus by Fallingcow · · Score: 1

      And that would still be allowed, but you would need to compile your kernel with this option enabled ( or more to the point the other disabled ).


      Luckily, I'm sure that every single distribution (with the possible exception of Debian, though I'm sure an alternate repository will be set up by someone for the sole purpose of fixing it) will patch this crap out before it can interfere with a significant number of their users. If the Kernel maintainers deliberately break something as widely-used and vital as NDISWrapper, the distribution maintainers will just un-break it.
    81. Re:You can't win this one, Linus by betterunixthanunix · · Score: 2, Insightful
      Since when does being an open source advocate mean refusing to do things for which there is no working open source solution? You may be in a position to swap your network card; for me, that would mean getting a brand new computer, and throwing out a computer that has absolutely nothing wrong with it. Perhaps I did not make this clear in my post: I want to use an open source driver, I use and advocate the use of open source software whenever it is possible. In this case, the open source driver (b43) just does not work, and worse than that, the Fedora team (which, by the way, I am a contributor to) continues to list it as "working" without any indication of problems.

      --
      Palm trees and 8
    82. Re:You can't win this one, Linus by Thomas+Shaddack · · Score: 1
      "Do as I say, but not as I do" - to paraphrase Rummy, you have to use the drivers you got, not the drivers you want.

      "Get another card." - that costs money, which may or may not be available. The card may also be a built-in chip in a laptop, and "get another laptop" is a significantly more expensive suggestion.

      Sometimes you have to deal with what you got. Your suggestions are valid for the case of unconstrained money supply (when you can buy all you want) and/or unconstrained length of life (so you can wait it out).

    83. Re:You can't win this one, Linus by rohan972 · · Score: 1

      I'm not really sure. It sounds like an "out". As in "we won't fix your keyboard driver because you have a tainted ethernet wrapper". The word "taint" is not just a neutral way of saying "we're not sure if we can support you." It has very clear negative connotations, which I can't see being anything other than political or ideological.
      It isn't "we're not sure if we can support you" but rather "we won't support you (using binary blobs)"

      There is an easy solution for the keyboard driver issue:
      1. Unload NDISWrapper
      2. Reproduce bug
      3. File bug report
      4. Reload NDISWrapper

      If the binary blob is not the problem, you're done. If it is, you use your own resources to find that out, not waste other peoples time.
    84. Re:You can't win this one, Linus by rohan972 · · Score: 1

      First, what is the public URL of a reliable list of hardware manufacturers that fully cooperate with the developers of Linux?
      This list posted by F452 seems ok, haven't tested myself: http://www.fsf.org/resources/hw/net/wireless/cards.html

      Second, beggars can't be choosers. A lot of people rely on in-kind donations of computer hardware
      People relying on donations of hardware and software might perhaps consider that if it is worth complaining about licencing issues of the software that the hardware ought also not be expempt from complaints. Therefore, if they won't complain about the hardware ....
    85. Re:You can't win this one, Linus by andreyvul · · Score: 1

      heh. obese binary

      --
      proud caffeine whore
    86. Re:You can't win this one, Linus by kongit · · Score: 1

      Well what I can see is that NDIS wrapper is declaring itself as gpl and has the right to access the gplonly parts and when loaded does not taint the kernel. However once NDIS wrapper is loaded it can load other things which are not gpl and thus should taint the kernel. Since NDIS wrapper already declared itself as gpl it won't taint the kernel. Therefore adding non-gpl stuff to the kernel via NDIS wrapper does not taint the kernel. Of course I could be completely wrong as I am not a kernel dev.

    87. Re:You can't win this one, Linus by einhverfr · · Score: 1

      In principle I agree with you.

      However you have evidently never tried to go to your store and pick out a Linux-compatible wireless network card off the shelf. Please try this and then get back to me.

      Back to my original point-- this is something that NDISwrapper could conceivably get Linus to back down if they play their cards right:

      1) Distribute a patch that unblacklists the driver.
      2) Get distros like OpenSUSE which distribute NDISWrapper to include the patch in their kernels.
      3) Get repostitories like Livna to include the patch.
      4) Start working on organizing political pressure from various distros to include the patch in the official kernel.

      Yes, I think it can be done. No I don't think that ndiswrapper is in the wrong here.

      Finally, I do prefer open source drivers, but if you can't tell whether a driver is available based on available information without a *lot* of work (and likely buying the card, doing an lspci on it, looking up the chipset), then you simply can't complain about having a safety measure. Unless of course, you don't buy wireless PCMCIA cards and don't want the rest of us to either....

      --

      LedgerSMB: Open source Accounting/ERP
    88. Re:You can't win this one, Linus by Anonymous Coward · · Score: 0

      You may not consider yourself serious, but someone modded you insightful. It's not hard to understand. Linux is gplonly until such time as it loads a non-gplonly module, at which time it is tainted and no longer gplonly. Similarly, ndiswrapper could be gplonly until it loads a non-gplonly Windows driver blob, at which point it is tainted and this taints the kernel as well. A hypothetical ndiswrapperwrapper could be gplonly and load a gplonly ndiswrapper, but as soon as ndiswrapper loads a non-gplonly driver it taints the whole stack. Since the entire purpose of ndiswrapper is to load non-gplonly Windows drivers, nobody cares about ndiswrapper's gplonly status before the driver is loaded.

    89. Re:You can't win this one, Linus by Antique+Geekmeister · · Score: 0

      And Tivoization is exactly why GPLv3 has been created, or at least a major reason for it. This "stuff proprietary and incompatible debris on top of my open source software and block me from changing or debugging it" policy is where NDISwrapper and the NVidia installers and various other kernel plugins get in trouble.

      Kernels are hardly the only place this occurs. This used to happen with Dan Bernstein's software, it still happens with plenty of other oddly licensed widgets. It's also partly why I've gotten so fond of the "Penguin Liberation Front" website, for making many such tools more available to us even if we can't directly include them in our software bundles.

    90. Re:You can't win this one, Linus by Antique+Geekmeister · · Score: 1

      NDISwrapper reaslly doesn't have any use except to load binary blobs, almost all of which are non-GPL. Since NDISwrapper can't know enough to detect that an individual blob is GPL, and since almost all of them are not, it's vastly simpler and faster to simply mark the kernel as tainted from the loading of NDISwraper.

    91. Re:You can't win this one, Linus by Anonymous Coward · · Score: 0

      >I'm not especially speed or price sensative.

      Nor spelling sensitive either, apparently.

    92. Re:You can't win this one, Linus by strikethree · · Score: 1

      "If all "open source supporters" had your attitude, free software wouldnt have survived the 90s."

      If all Open Source supporters had your attitude, Open Source would never have hit critical mass. Practicality trumps idealism every time in the marketplace. If your software won't work with my hardware, your software will not be used.

      strike

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    93. Re:You can't win this one, Linus by NetNifty · · Score: 1

      It's easy get 32-bit firefox on Gentoo AMD64 - just emerge firefox-bin .

    94. Re:You can't win this one, Linus by Tony+Hoyle · · Score: 1

      Remember the broadcom kernels? Standard kernel with a huge ass copyrighted binary blob statically linked into it to provide the motherboard/networking/dsl support.

      Those *definately* weren't fully GPL, but are still being distributed to this day.

      If it was illegal they wouldn't be distributed.. ergo.. the lawyers have decided that it's completely legal to do that.

    95. Re:You can't win this one, Linus by betterunixthanunix · · Score: 1
      First of all, the GPL has nothing to do with being able to run a program on more than one hardware architecture. It is common for GPL apps to run on many architectures because, with the source code available, they can be easily ported. Plenty of GPL apps, however, only support one architecture, or only support some limited subset of architectures. It is not against the spirit of the GPL to have software that only runs on x86; it that was against the rules, there would be no useful open source virtualization, no open source graphics acceleration, no WINE or Cedega, and no assembly language GPL code.

      Or do you honestly mean to tell me that KVM, QEMU, or WINE are just ways to infect open source software with proprietary code? I doubt that any of the zealots here are actually running 100% open source systems, especially given the number of embedded computers running proprietary code that we use every day. Open source has nothing to do with refusing to do certain things with your computer or other devices because there is no workable open source solution, and even with all the open source code out there, there are still niches that open source hasn't worked its way into yet.

      --
      Palm trees and 8
    96. Re:You can't win this one, Linus by Anonymous Coward · · Score: 0

      The taint flag is a disclaimer of warranty.

      The GPL specifies non-warrenty.

    97. Re:You can't win this one, Linus by brunson · · Score: 1

      First, what is the public URL of a reliable list of hardware manufacturers that fully cooperate with the developers of Linux? Google seems to have failed several other people who have posted comments to this article.

      It's in the same place you find the list for hardware that doesn't work well in windows, even though it is supposed to, right next to the list of every single consumer product that is worth your money and the ones that are crap. I.e. there isn't one, because it takes a lot of effort to maintain one and keep it current and it's a moving target when vendors change chipsets without bothering to change a revision or part number.

      I don't spend $50 on a DVD player without researching it first, you should do the same before buying computer hardware. Don't expect anyone other than your mother to spoon feed you, do you need someone to wipe your ass for you, too?

      Second, beggars can't be choosers. A lot of people rely on in-kind donations of computer hardware, such as students in high school or university. What should they do to make sure that people donate hardware that is fully compatible with free software?

      Just because someone gives you something doesn't mean it's going to be worth the effort to use it. I've got a stack of c.1989 RAM that would be completely worthless to anyone I donated it to. If someone gives you a network card you can't use, flog it on Craig's list and use the money to buy one you can.

      Stop being a whiner.
      --
      09F911029D74E35BD84156C5635688C0
      Jesus loves you, I think you suck
    98. Re:You can't win this one, Linus by ckaminski · · Score: 1

      Or the Intel microcode fixes which actually modify the CPU at runtime?

    99. Re:You can't win this one, Linus by misleb · · Score: 1

      Yeah, but you can always strip it. Although most people don't want to see an obese binary in the nude.

      Amusingly, the command to slim down binaries is called "lipo."

      Can also be used to create a fat binary from two arch specific binaries (including libraries). I've actually done this with the Novell Groupwise client for OS X. They distribute two different programs for PPC and Intel. I made it universal.

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    100. Re:You can't win this one, Linus by ncc74656 · · Score: 1

      It's easy get 32-bit firefox on Gentoo AMD64 - just emerge firefox-bin .

      See my previous comment about binary packages not being the Gentoo way. I tolerate it for OpenOffice because nobody's figured out anything better yet, but since Firefox is buildable from source, that's what I do.

      --
      20 January 2017: the End of an Error.
    101. Re:You can't win this one, Linus by ncc74656 · · Score: 1

      Should've held off a bit on that last post, as it looks like app-office/openoffice now builds on AMD64. Last time I checked (which was sometime back in the days of v1.x), it didn't.

      --
      20 January 2017: the End of an Error.
    102. Re:You can't win this one, Linus by HeroreV · · Score: 1

      None of this AC posting stuff. You posted as AC.
    103. Re:You can't win this one, Linus by Jesus_666 · · Score: 1

      If all "open source supporters" had your attitude, free software wouldnt have survived the 90s.
      If none had, the Linux mindshare would be a good bit smaller. Absolutely refusing to deal with a certain situation because you don't have ideal conditions is hardly going to help, regardles of what th situation is.

      "Buy a compatible card and vote with your $CURRENCY_UNITs" is advice I can wholeheartedly agree with; "go back to Windows because you can't have a 100.0% Free system" is not. Some of us like (for example) having accelerated graphics with post-R200 capabilities under Linux and they wouldn't use it if they couldn't. And we recommend and use Linux even though the drivers don't have the RMS Seal of Approval.

      Only pragmatists would run Free Software into the ground, but no pragmatists would mean that it remains confined to a niche forever. It's the right mix that makes everything work. Like always.
      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    104. Re:You can't win this one, Linus by Intron · · Score: 1

      WINE only supports user-space applications, not kernel code. In fact, WINE will run on FreeBSD. I don't know much about the other two.

      --
      Intron: the portion of DNA which expresses nothing useful.
    105. Re:You can't win this one, Linus by X0563511 · · Score: 1

      THANK YOU! I don't know how I managed to miss that information before.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    106. Re:You can't win this one, Linus by mpe · · Score: 1

      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.

      Where this "blob" is something which is intended to control hardware it's rather hard to sandbox it.

    107. Re:You can't win this one, Linus by ncc74656 · · Score: 1

      I tolerate it for OpenOffice because nobody's figured out anything better yet, but since Firefox is buildable from source, that's what I do.

      emerge openoffice builds it just fine from source here...

      Yeah, I learned of the existence of regular source ebuilds maybe five minutes after my post. When I first started running AMD64 Gentoo, binary packages were the only game in town.

      --
      20 January 2017: the End of an Error.
  4. Linus has already changed his mind by baadger · · Score: 5, Informative

    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
    1. Re:Linus has already changed his mind by baadger · · Score: 5, Insightful
      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?
    2. Re:Linus has already changed his mind by Chris+Mattern · · Score: 5, Informative

      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.

    3. Re:Linus has already changed his mind by Anonymous Coward · · Score: 0

      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?

    4. Re:Linus has already changed his mind by delt0r · · Score: 1

      This is /. What do you think?

      --
      If information wants to be free, why does my internet connection cost so much?
    5. Re:Linus has already changed his mind by baadger · · Score: 1

      ...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.

    6. Re:Linus has already changed his mind by Anonymous Coward · · Score: 0

      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.

    7. Re:Linus has already changed his mind by SirTalon42 · · Score: 4, Informative

      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.

    8. Re:Linus has already changed his mind by dpilot · · Score: 1

      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?

      --
      The living have better things to do than to continue hating the dead.
    9. Re:Linus has already changed his mind by ray-auch · · Score: 2, Insightful

      ...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 ?

    10. Re:Linus has already changed his mind by earnest+murderer · · Score: 3, Funny

      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.

      --
      Platform advocacy is like choosing a favorite severely developmentally disabled child.
    11. Re:Linus has already changed his mind by IAmTheDave · · Score: 0, Flamebait

      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.

      --
      Excuse my speling.
      Making The Bar Project
    12. Re:Linus has already changed his mind by delt0r · · Score: 0, Offtopic

      As i said, this is /. What age do you think has all day to read and post to stories like this.

      --
      If information wants to be free, why does my internet connection cost so much?
    13. Re:Linus has already changed his mind by Anonymous Coward · · Score: 0

      Well, that's perfectly reasonable. However, Linus is still claiming the use of a program effects it's GPL status. I still don't see how my use of ndiswrapper changes it's GPL status and so Linus can call it non-GPL and turn off it's ability to link properly with the kernel. ndiswrapper is pure GPL and no user can change that. I've read other comments here and everyone's take on this is so radically different it's just crazy. Mostly I think the big problem is no one had ever been able to agree on a clear definition of "derived works". Anyway, thanks for your explanation, but it only left me more confused (probably my due to my naivety).

    14. Re:Linus has already changed his mind by mOdQuArK! · · Score: 1, Flamebait

      Feel free to fork the kernel and make something better. If not, unless you have something useful to say, then STFU.

    15. Re:Linus has already changed his mind by xivulon · · Score: 2, Insightful

      As I understand it, the issue is not whether ndiswrapper is GPL or not, but whether it can use GPLONLY symbols or not. It is not the same thing. And that is not a Linus decision, it is the decision of the developers that marked their code as GPLONLY to begin with. GPLONLY code is code that is to be used only by modules released under a GPL compatible licenses. GPLONLY requires GPL but it is not implied by GPL, so you may well have GPL modules without GPLONLY requirement. Whether symbols are flagged as GPLONLY is a decision of the developer. Some developers might not have contributed any code at all otherwise. Quite clearly here you have non-GPL code (the proprietary drivers) using GPLONLY code via a passthrough (ndiswrapper). The fact that the passthrough is GPL does not change a thing. You are violating the will of the GPLONLY module developers. Hence the situation has to be addressed one way or the other. Linus simply noted that ndiswrapper has to respect the will of the developers whose code is used, i.e. either they talk to them and get a permission to use their code or they rewrite the GPLONLY code.

      http://www.kernel.org/pub/linux/docs/lkml/#s1-19

    16. Re:Linus has already changed his mind by xivulon · · Score: 3, Informative

      To clarify even further:

      * Is ndiswrapper GPL? Yes
      * Can ndiswrapper use GPLONLY code? Yes
      * Can ndiswrapper "pass" GPLONLY code (export their symbols) to non-GPL modules? NO
      * Can ndiswrapper "pass" GPL code without GPLONLY directive to non-GPL modules? YES

      The third point is the one that was raised here and that needs to be addressed by either relaxing the GPLONLY directive or rewriting the code.

    17. Re:Linus has already changed his mind by penix1 · · Score: 1

      The problem with this approach is it lowers the amount of bug reporting you are getting simply for pedantic reasons. Too much reactions like this and bug reporting will dry up real fast. Is that what Linus is looking for? Somehow I don't think so.

      --
      This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
    18. Re:Linus has already changed his mind by Sloppy · · Score: 1

      Spot-on precise. You nailed it.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    19. Re:Linus has already changed his mind by phoenix.bam! · · Score: 1

      Nope, you've got it. The hooks are GPL, which is fine. But by using those hooks you are loading binary blobs which are not, thus tainting the kernel and making it "Non-free" therefor ndiswrapper in a running kernel is not GPL

    20. Re:Linus has already changed his mind by SleeknStealthy · · Score: 1

      So you are saying that isn't true?

      --
      Math
    21. Re:Linus has already changed his mind by pyite · · Score: 2, Insightful

      The problem with this approach is it lowers the amount of bug reporting you are getting simply for pedantic reasons.

      It's not pedantic. It's avoiding a variable that could waste people's time. If the problem isn't the binary blob, remove it and recreate the bug. Problem solved. If you can only reproduce the bug when the blob is loaded... hmm... sounds like it's the blob.

      --

      "Nature doesn't care how smart you are. You can still be wrong." - Richard Feynman

    22. Re:Linus has already changed his mind by dpilot · · Score: 1

      OK. I did follow some of the discussion, and based on that and what you've said, merely loading ndiswrapper into a kernel should not taint it. The taint happens as soon as you use ndiswrapper to load a non-GPL (practically all of them) Windows driver.

      Of course in practice it shouldn't really matter, because you won't load ndiswrapper without loading a driver, and are there any GPL Windows drivers at all?

      --
      The living have better things to do than to continue hating the dead.
    23. Re:Linus has already changed his mind by phoenix.bam! · · Score: 1

      That's why some people are having trouble with this. NDIS wrapper taints the kernel because it provides hooks for binary blobs. Even though it is GPL'd software, Linus wants it marked as tainting, which makes sense because that module's entire job is to taint the kernel. Instead of triggering the GPL_ONLY flag, they had a PROVIDES_HOOKS_TO_ALLOW_KERNEL_TAINT_FROM_BINARY_BLOBS instead, I think this wouldn't be much of an issue.

    24. Re:Linus has already changed his mind by rjstegbauer · · Score: 1

      But what if the GPLwrapper is NDIS when the kernel is not only GPL, but also running a non-NDISwrapper driver?

      Just curious,
      Randy

    25. Re:Linus has already changed his mind by GooberToo · · Score: 1

      Add to the fact that Linus' argument is that the flag has nothing to do with license but rather kernel taint. Since the intent of the wrapper is strictly to load 3rd party binary blobs into kernel space, the driver should always taint the kernel. It was offered that a GPL driver does exist but it was brushed aside as it simply is not the primary use.

      In a nutshell, Linus doesn't want to work on bug reports because of buggy, binary drivers from the Windows operating system, and rightfully so.

    26. Re:Linus has already changed his mind by penix1 · · Score: 1

      Let me re-word that then...What is perceived as pendantic reasons from the users point of view.

      --
      This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
    27. Re:Linus has already changed his mind by renoX · · Score: 1

      >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.

      Several drivers in the Linux kernels also loads BLOB which are not GPL, but AFAIK noone has requested that those drivers remove the GPLONLY tags, or is the difference is in the "running" part ?

    28. Re:Linus has already changed his mind by ZorbaTHut · · Score: 1

      No - it de-emphasizes the difficult and less useful bug reports. As long as they have useful bug reports coming in, i.e. reports without ndiswrapper, they'll focus on those and they'll keep fixing bugs.

      --
      Breaking Into the Industry - A development log about starting a game studio.
    29. Re:Linus has already changed his mind by Zondar · · Score: 1

      What I (as a non-developer) got out of this was:

      A kernel developer can choose to flag or not to flag his work as "GPLONLY", which means that if you want to use his work, whatever is 'calling' his work AND EVERYTHING DOWN THE CHAIN must be GPL pristine. Linus and the kernel itself is simply providing the enforcement mechanism.

      The key point here is that each developer may choose to set or not set that GPLONLY flag. Having someone like ndiswrapper come forth and basically whine and cry that the system is unfair and that they should be allowed to bend or break the rules is idiotic. This is simply enforcing the wishes of the individual developers that have asked that their contributions be flagged "GPLONLY".

      Don't like it? Don't call that portion of the kernel, or write your own section in replacement that isn't flagged GPLONLY and manage to get it included in the kernel... but don't trample the wishes of the developer that wrote the code you're calling.

  5. reductio time by Anonymous Coward · · Score: 1, Insightful

    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."

    1. Re:reductio time by nuzak · · Score: 2, Insightful

      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.

      --
      Done with slashdot, done with nerds, getting a life.
    2. Re:reductio time by mabhatter654 · · Score: 5, Insightful

      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.

    3. Re:reductio time by Just+Some+Guy · · Score: 2, Informative

      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:

      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.
      --
      Dewey, what part of this looks like authorities should be involved?
    4. Re:reductio time by Cairnarvon · · Score: 1

      The kernel loads ndiswrapper as a module too.

    5. Re:reductio time by Anonymous Coward · · Score: 1, Informative
      Go to the source 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.
    6. Re:reductio time by kelnos · · Score: 1

      Interestingly, if you look down the thread a bit, the list of problematic GPLONLY symbols pops up. A follow-up states that ndiswrapper already has a workqueue implementation, so those symbols could be safely not used (of course it's better to use shared code than a private copy to do the same thing), and the use of task_nice() and be worked around. The USB stuff is unfortunate, but removing that would (presumably) only make ndiswrapper not support USB wireless dongles. That's certainly a problem for some people, but not for others. The possibility of doing the USB support in userspace is also discussed, but currently there's no way to register a network device from outside the kernel, so that could be difficult.

      --
      Xfce: Lighter than some, heavier than others. Just right.
  6. Look at OpenBSD for inspiration by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:Look at OpenBSD for inspiration by gringer · · Score: 1

      The ideal situation is to reverse engineer a free driver. I'd think that the ideal situation is to engineer a free driver, designing to specification, with help from the manufacturer.
      --
      Ask me about repetitive DNA
  7. shim? by PenguinX · · Score: 2, Interesting

    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

    1. Re:shim? by PenguinX · · Score: 1

      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.

    2. Re:shim? by Omnifarious · · Score: 3, Informative

      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.

    3. Re:shim? by Anonymous Coward · · Score: 0

      As far as I know, when you load the nvidia driver it does remove the GPLONLY status of the kernel.

    4. Re:shim? by PenguinX · · Score: 1

      perhaps I should have rephrased what I said a bit, but that's correct, the difference is that Nvidia provides a shim and a binary driver, in ndiswrapper's case they are only providing the shim - no binary object code - so they (ndiswrapper) isn't actually providing anything non-GPL is it? The problem as I read it is one of how licensing symbol semantics inside the kernel, not of whether or not ndiswrapper is actually GPL software. Perhaps the title is misleading?

    5. Re:shim? by zippthorne · · Score: 1

      So, allowing ndiswrapper to pass GPLONLY functions to proprietary binary blobs really a kind of license-laundering, isn't it?

      --
      Can you be Even More Awesome?!
    6. Re:shim? by Joe+U · · Score: 1

      You will get no help or support from the kernel people if you have a kernel problem when your kernel is tainted. Basically giving average users another reason not to run linux.
    7. Re:shim? by Omnifarious · · Score: 1

      Well, if that bothers you complain to the hardware manufacturers. Personally I've used Linux for years with boxes I've built without much attention to whether or not the hardware worked with the OS. I've only been bitten once, and even then a driver came out within a few months.

      I'm guessing that most of the hardware involved is the sort of bottom-of-the-barrel hardware you get when you get something from a place like Dell or you go the extra-extra cheap route when buying stuff for a hand-built box.

      If you want people in the Open Source community to make all kinds of compromises of this nature then what you really want is Windows. One of the reasons that OS is as horrible as it is is that every hardware manufacturer under the sun thinks they can hide horrible quality under proprietary drivers. It's a ghastly state of affairs, and I wouldn't buy hardware from a manufacturer who was too embarrassed by their awful design to release decent specs.

    8. Re:shim? by rohan972 · · Score: 1

      You will get no help or support from the kernel people if you have a kernel problem when your kernel is tainted.
      Basically giving average users another reason not to run linux.
      While that's true, it is due to practical rather than ideological reasons. The kernel developers cannot fix problems in binary only drivers. If you unload those drivers and can reproduce the bug, you will get help with it. This is the only realistic way for them to operate.
  8. It can load GPL-licensed Windows drivers by Drinking+Bleach · · Score: 5, Insightful

    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 :)

    1. Re:It can load GPL-licensed Windows drivers by baadger · · Score: 4, Interesting

      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.

    2. Re:It can load GPL-licensed Windows drivers by srmq · · Score: 5, Insightful

      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.

    3. Re:It can load GPL-licensed Windows drivers by jd · · Score: 1

      Unfortunately, said toe was bitten off the Microsoft developer by the Giant Rat of Sumatra (whose tail the world is not yet ready for), which Microsoft keeps in a cage near the cafeteria for just such occasions.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    4. Re:It can load GPL-licensed Windows drivers by Richard+W.M.+Jones · · Score: 1

      As ridiculous as it may sound, it's theoretically possible for a Windows driver to be licensed under the GPL.

      It's theoretically possible, but in practice such a driver would have to avoid any use of the Windows DDK (including any header files). The Windows DDK is licensed in such a way to actively prevent GPL'd drivers, though other licenses that MS can steal from like BSD are OK.

      Rich.

    5. Re:It can load GPL-licensed Windows drivers by khanyisa · · Score: 1

      Actually if you scroll down the page on the linked article you'll see that there is at least one (but probably no more than one toe's worth) GPL'd Windows driver that NDISwrapper loads...

    6. Re:It can load GPL-licensed Windows drivers by WaXHeLL · · Score: 1

      It can be disabled, but its a total PITA. However, it actually is quite easy to get your drivers signed. The biggest thing is ponying up to Verisign and getting the proper certificate (which I believe runs for about $500).

      SpeedFan is one piece of software that has a signed driver. It's not open source, but it is freeware, created by someone in his basement.

      http://www.almico.com/sfbetaprogram.php

      --
      The troll with karma.
    7. Re:It can load GPL-licensed Windows drivers by jayp00001 · · Score: 1

      due to the OS's draconian driver signing policy..which cannot be disabled.

      What does driver signing have to do with it? It's just a guarantee that the driver has not been compromised?
    8. Re:It can load GPL-licensed Windows drivers by TemporalBeing · · Score: 1

      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. Actually you can. It's a simple change in the registry. There is an MSDN/KB article or whitepaper on how to do it. However, your users would need to as well, which is the primary problem, as Microsoft wants it to only be used by developers for testing. For example, the following links:

      How to let a user apply a Group Policy that has the "Devices: Unsigned driver installation behavior" Group Policy setting from a Windows Vista-based computer to a client computer
      Installing an Unsigned Driver During Development and Test (Windows Server 2008 and Windows Vista)
      Google search for how to disable driver signing

      Granted, it is typically something that is to be "temporary" - so YMMV - but it should do the trick.
      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    9. Re:It can load GPL-licensed Windows drivers by cbreaker · · Score: 1

      Uhh, yes you can.

      Maybe in one of the early betas or something you couldn't and there were lots of rumors before Vista was released, but they have a boot switch you can enable to run unsigned drivers on Vista 64. Been there since release. It's similar to Windows X64.

      So rock on with your driver, little man.

      --
      - It's not the Macs I hate. It's Digg users. -
    10. Re:It can load GPL-licensed Windows drivers by Anonymous Coward · · Score: 0

      In this instance, the correct terminology is just Linux, not GNU/Linux.

    11. Re:It can load GPL-licensed Windows drivers by Drinking+Bleach · · Score: 1

      Shouldn't it be possible to make GPL drivers with MinGW? Surely you aren't saying ReactOS is using Microsoft headers :)

    12. Re:It can load GPL-licensed Windows drivers by baadger · · Score: 2, Informative

      No I am afraid that is not correct. The situation is a lot more complex as of Vista SP1:

      http://thebackroomtech.wordpress.com/2007/11/05/howto-disabling-driver-signing-in-windows-vista-64-bit/

      None of the workarounds you describe will work with x64 editions of Vista SP1, or for "boot drivers" in x86. I do plan to continue develop of the driver, but I doubt I will ever be able to get it signed using anything but the test certificate from MS. Still, will find out during testing...

    13. Re:It can load GPL-licensed Windows drivers by fm6 · · Score: 1

      NDISWrapper can load non-existent GPL-ed Windows drivers. Garlic can protect you from non-existent vampires. The two facts are equally useful.

  9. .... right .... by nbvb · · Score: 2, Interesting

    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.

    1. Re:.... right .... by JonJ · · Score: 1

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

      --
      -- Linux user #369862
    2. Re:.... right .... by Paralizer · · Score: 1

      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.

    3. Re:.... right .... by A+beautiful+mind · · Score: 1

      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.
      --
      It takes a man to suffer ignorance and smile
      Be yourself no matter what they say
    4. Re:.... right .... by iabervon · · Score: 3, Insightful

      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.

    5. Re:.... right .... by Just+Some+Guy · · Score: 1

      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.

      --
      Dewey, what part of this looks like authorities should be involved?
    6. Re:.... right .... by ronark · · Score: 1

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

    7. Re:.... right .... by A+beautiful+mind · · Score: 1

      Ignorance doesn't add any survival value, but it can be deadly. Take that, puny human.
      -- Natural Selection

      --
      It takes a man to suffer ignorance and smile
      Be yourself no matter what they say
    8. Re:.... right .... by Anonymous Coward · · Score: 0

      I have a feeling the kernel you have in 20 years will be sufficiently different from today's to be a different thing altogether. Compare today's kernel with one from, say, 10 years ago.

      Besides, the best way to ensure stability in a complex system is componentisation - ensure the driver is completely decoupled from the kernel and they can both do their thing without breaking each other, obviously you then need a translation wrapper in the middle to bring the two together and you have... exactly what we have today with NDISWrapper. This isn't a shortterm thing, this approach is the only way to ensure things work long-term and is one reason why kernel modules exist.

    9. Re:.... right .... by Anonymous Coward · · Score: 0

      > I have a feeling the kernel you have in 20 years will be
      > sufficiently different from today's to be a different thing
      > altogether.

      Nice feeling.

      > Compare today's kernel with one from, say, 10 years ago.

      The comparison could surprise you.

    10. Re:.... right .... by gmack · · Score: 1
      Time to correct some misinformation.

      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.

      Server side Linux is very stable.. the constant moving target is the desktop so there is little advantage to running cutting edge anything. Patch management issues? Havn't had any of those since 2001 but then I've been running Debian rather than Redhat so it may be worse for you than for me.

      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_.

      This depends entirely on what libraries are used. The more conservative the libraries the more portable it will be and that's on every OS. Firefox and adobe both depend on this for their Firefox and flash installs. They provide one binary that can be installed anywhere. It's also useful to point out that if I enable a.out support (and have the correct package installed) I can take a Linux binary from 1993 and run it without problems. The whole "Linux doesn't care about backwards compatibility" thing is a myth. Linus is actually VERY picky about binary compatibility for applications. The only things he has no problems breaking are modules but system utilities can also have a shorter (but still somewhat backward compatible) API

      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.

      What do you know? Linux supports 128 CPU systems given the right (non x86) hardware. IBM has spent a lot of money making sure Linux scales.

    11. Re:.... right .... by Anonymous Coward · · Score: 0

      Ever heard of Yum, Up2date, Statically compiled binaries? not to get into a flame war here.

      HPUX also needs to be updated on first install. Assuming for some apparent reason that on first install all binaries and libs are secure and patched is laughable.

      I don't know of an OS on the planet: OS2, Windows, HPUX, BSD, OSX, Linux, Solaris, Netware, that does not need to be updated on first install. Of course there are some exceptions here: BSD in some configurations is extremely secure on first install and most likely requires no updates.

      The reason most binaries aren't compiled statically so they can be "picked up and moved" for any linux system is Size and Speed. A statically compiled binary has all library functions compiled in and may not be compiled optimal for your processor. That said if its compiled static for i386 it will most likely run on any i386 compatible install or processor.

      Just my 2 cents, I'm sick of seeing comments like this.

  10. I'd have to disagree with his logic by MarkusQ · · Score: 2, Interesting

    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

    1. Re:I'd have to disagree with his logic by Too+Much+Noise · · Score: 1, Redundant

      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.

    2. Re:I'd have to disagree with his logic by F-3582 · · Score: 1

      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.

    3. Re:I'd have to disagree with his logic by sconeu · · Score: 2, Informative

      Trolltech, however, can grant exceptions to certain licenses, although I don't know which clause permits them to do so.

      The fact that they own the copyright on the Qt code and can therefore license it however the hell they want permits them to do so.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    4. Re:I'd have to disagree with his logic by Richard_at_work · · Score: 1

      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. There is a very important word missing from your statement - distribute. You aren't allowed to link it to GPL-incompatible code and distribute.

      NDISWrapper isn't doing that, it isn't linking against anything untoward before its distributed to you - the linking to 'nasty' things are happening at your end, post distribution to you. If you are getting something thats been linked pre-distribution, then whomever distributed to you is at fault.
    5. Re:I'd have to disagree with his logic by Minwee · · Score: 1

      There may be a valid argument for saying that ndiswrapper can't be GPL'd, but this isn't it.

      You're absolutely right. Nobody is arguing about the license under which ndiswrapper is distributed.

      In the article Linus is arguing about whether or not ndiswrapper, which is designed for the sole purpose of linking proprietary binary-only modules with the kernel should be treated as though it were itself a proprietary, binary-only module. The exact technical details start to get ignored as the conversation continues, but the concept is still the same.

      You may want to read this discussion of module licensing from l-k to get some idea of just what really is being discussed.

      The claim isn't that a cow isn't a mammal because it eats grass, it's that you can't keep calling a hamburger bun "a vegetarian meal" once you put a beef patty and two strips of bacon onto it.

    6. Re:I'd have to disagree with his logic by F-3582 · · Score: 1

      Thanks for clearing that one up. I had somehow trouble understanding that part.

  11. Doesn't make sense by man_of_mr_e · · Score: 2, Insightful

    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.

    1. Re:Doesn't make sense by zeromorph · · Score: 1

      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.

      --
      "Hannibal's plans never work right. They just work." Amy/A-Team
  12. Maybe by inode_buddha · · Score: 1
    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.

    --
    C|N>K
  13. And this licensing bit is necessary why? by hedwards · · Score: 1, Interesting

    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.

    1. Re:And this licensing bit is necessary why? by chromatic · · Score: 1

      Things like this make me not want to have anything to do with GPL software.

      What does this have to do with the GPL?

      Is it really a ZOMG Linux users might be able to use a Windows driver situation?

      No, it's a "You can't debug a kernel containing obfuscated binary blobs" situation.

      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.

      The Linux kernel still supports more devices.

  14. So what about GPL virtualization? by joshv · · Score: 2, Insightful

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

    1. Re:So what about GPL virtualization? by TheRaven64 · · Score: 1

      Well... Virtualization works by having the guest OS trap into the monitor. So it's kind of like an operating system in that regard That's a very slippery argument because you're saying that there's something legally different between calling a function via an system call and calling it via a function. On x86, where both can be implemented as FAR CALLs (although generally aren't) this means that there is no distinction.

      The reason you can run GPL'd code on a non-GPL'd OS is that there is an explicit exemption for libraries distributed with the operating system. I'm not sure what the legal position is the other way around - presumably there's some exemption there. I believe it hinges on the fact that you can't copyright an interface and programs using Linux APIs only count as derived works of the interface (which is not copyrightable) and so distributing them with the kernel only counts as aggregation.

      --
      I am TheRaven on Soylent News
  15. Start a fund to retain a lawyer for Linus? by Schraegstrichpunkt · · Score: 0

    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?

  16. Summary completely mistaken by tarm · · Score: 5, Informative

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

  17. It's fixed in 2.6.24-rc4 by Englabenny · · Score: 5, Informative

    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

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

  18. year of the Linux desktop by Presto+Vivace · · Score: 1

    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.

    1. Re:year of the Linux desktop by cbart387 · · Score: 1

      Linux has never struck me as practical, from a user point of view Could you explain what you don't find practical about it? I'm curious, because I find it very practical being a programmer. I find it performs better than Windows doesn Do you mean a 'normal' user of computers ... aka the masses?
      --
      Lack of planning on your part does not constitute an emergency on mine.
    2. Re:year of the Linux desktop by Scholasticus · · Score: 1

      1) I find Linux very practical for my needs and so do a lot of other people. Linux distributions are generally much easier to use now than they were even a few years ago. Also, with Linux you don't have to worry about viruses or spyware breaking your system. Those are just a few practical considerations among many. 2) People announce things that aren't so all the time. Just the other day some homeless dude announced to me that he needed money to feed his kids.

    3. Re:year of the Linux desktop by rohan972 · · Score: 1

      Linux has never struck me as practical, from a user point of view and even less as a business model.
      Oddly enough, as a user, I was convinced when I first saw it (RedHat 7.0) and read the GPL that it was the way of the future. Why?

      For the user: free (as in beer). Not the only consideration, but a powerful one, particularly for individuals and organisations than want/need to be licence compliant but don't have much money. Admittedly not sufficient to overcome seriously substandard software, bringing me to:

      The developer (commercial or otherwise): free (as in beer and freedom). Free tools and a large existing codebase to improve on. Collaboration over the internet. It was my opinion that this would lead to overcoming the problems of substandard software. Comparing RH 7.0 to any modern desktop distro seems to bear this out. The fact that there is still work to be done does not negate this point.

      The business model: I haven't thought of a car analogy, so a road analogy will have to do. Proprietry software is like building roads that are then paid for by tolls, pay per use (or copy, in the case of software). FOSS are like roads built by collaboratively paying for the road developement once, with ongoing contracts for maintenence and repair. Software, particularly the operating system, is infrastucture. It is just as viable to build a business with it as it is to have road construction without tolls.
  19. In other news by iamacat · · Score: 0, Redundant

    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

    1. Re:In other news by I+confirm+I'm+not+a · · Score: 1

      * Apache != Kernel module

      --
      This is where the serious fun begins.
    2. Re:In other news by iamacat · · Score: 1

      So the license of the software should be determined by it's ties to hardware or use of a particular virtual memory model?

    3. Re:In other news by mindmaster064 · · Score: 1

      These are exactly the reasons we wanted GPL - freedom of choice concerning vendors, modifications to programs, and more. Enforcing GPL without consideration of the needs of the people using the system just puts us right back in the hole of closed systems since we can now see and use the code but just not with anything that is on the "approved" list of applications and systems to use it with. Most people don't care if the software is free or costly but they certainly care when they cannot obtain the functionality they required. Business and personal needs really never coincide with the ideals of the thought police.

  20. Meanwhile in an underground compound in Washington by dread · · Score: 0, Flamebait

    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.

    --
    I've had a wonderful time, but this wasn't it -- Groucho Marx
  21. I'll side with Linus on this one by laing · · Score: 2, Insightful

    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".

  22. Re:Can you be any more childish? by inode_buddha · · Score: 1

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

    --
    C|N>K
  23. for those who lack understanding... by Edgewize · · Score: 5, Informative

    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.

  24. Try understanding the issue. by gnutoo · · Score: 5, Insightful

    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?.

    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 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.

    1. Re:Try understanding the issue. by Ortega-Starfire · · Score: 5, Insightful

      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.

      Well, I for one think it is a great idea since the most popular card manufacturers could not be bothered for the longest time to make linux drivers (and a lot still don't.) You see, I could have bought an orinoco gold ABG card for $99 back in the day, or a $10 clearance walmart G card, and spend $98 on more RAM instead. Guess which one I chose (And for several years now, the card has been working just fine). Ndiswrapper got me online with gentoo (I know, I love pounding my head against a brick wall, its fun!) Without it, I'd still be using windows all the time.

      Saying "Don't buy cards that don't support linux" is all well and good until you realize how much money you are dumping into hardware when a small free program can make it work just fine.

      I think there is a term that covers this... Ah yes. "Not cost effective."

      --
      ---- Liquid was a patriot ----
    2. Re:Try understanding the issue. by FishWithAHammer · · Score: 3, Informative

      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.

      That's a little hard on just about any laptop with an AMD processor. Intel boards have Centrino, which works under Linux without trouble. AMD-based laptops...not so much.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    3. Re:Try understanding the issue. by ajs · · Score: 1

      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. I have to disagree slightly. If it COMES WITH drivers that are non-GPLed, then I agree with Linus. If it does not, then as a stand-alone driver you cannot tell what it will be used to load, and it could just as easily load GPLed drivers as non-GPLed drivers (the fact that there aren't any GPLed drivers that use the Windows API yet is actually moot from a licensing standpoint).

      HOWEVER, it clearly should (to be a good citizen) implement the same strictures that the kernel does. That is, if it is used to load a non-GPLed driver, then it should implement the same access controls that it would have been subject to. I could see Linus saying that he won't open up access to this driver because it fails to pass on such strictures. I'd have to look deeper to see if that's the case or not.

    4. Re:Try understanding the issue. by Anonymous Coward · · Score: 2, Insightful

      So you saved 88 dollars over the course of several (for the sake of argument, I'll say 3) years. Instead of spending your money on a card that had native linux drivers and therefore doing your small part to show some hardware shop that it is worth spending the time, money, and development effort on linux compatibility, you decided to make a purchase that comes out to a whopping savings of 8 fucking cents a day. Congratu-fucking-lations.

    5. Re:Try understanding the issue. by andreyw · · Score: 2, Insightful

      NDIS is driver interface specification for network drivers. NDIS follows the idea of port/miniport drivers - i.e. rigid and specific interfaces designed to prevent kernel implementation details from affecting drivers - for example, NT operating systems have set interfaces for SCSI HBA drivers, video drivers, network drivers. The overarching idea being writing drivers that are hardware dependent but are not too tied to the kernel.

      NDIS is an interface. All network cards under windows need a network card driver, and the later HAS to conform to NDIS. The manufacturer, however may have decided not to release the specs for their hardware, and thus there is no Linux or BSD drivers available. Hence, implementing NDIS means that drivers conforming to the NDIS spec may be used. Just like implementing the SCSI port interface would allow NT SCSI drivers to be easily used (this has been done by some amateur open source operating systems). There is no "Microsoft bugs and malice" involved in an interface specification and any bugs occuring would be solely the domain of either poor implementation of NDIS or by bugs explicitely in the vendor-provided network driver. You're a complete tool to suggest otherwise. There is no "firmware game", and these network cards aren't braindead - you are.

      Linus, btw, has just said that a public kernel interface is "tained". I call bullshit.

    6. Re:Try understanding the issue. by MbM · · Score: 2, Informative

      Well, I for one think it is a great idea since the most popular card manufacturers could not be bothered for the longest time to make linux drivers (and a lot still don't.) Somewhat a flawed argument, since now that ndiswrapper exists there is no incentive to write a linux driver. I would have preferred ndiswrapper didn't exist, allowing linux developers to push for open drivers and specificiations.
      --
      - MbM
    7. Re:Try understanding the issue. by Burz · · Score: 0, Redundant

      The card maker wants to be Windows only so don't buy it. Sooner or later hardware vendors will have to come around. Vendors and users will just stick with Windows if the Linux developers do not make it easy to find compatible items when they are hardware shopping. MS are tyrannical, but the Linux devs are indifferent (or perhaps setting up a site with simple hardware search form is beyond their technical ability?).

      Make users choose between tyranny and indifference, and they'll probably just stay right where they already are.
    8. Re:Try understanding the issue. by saleenS281 · · Score: 0, Troll

      Right, because of the droves of people lining up to use linux on their laptop without a wireless driver, and willing to complain to mfg's about it.

    9. Re:Try understanding the issue. by jim.hansson · · Score: 1

      I've had 3 laptops, never ever needed NDISWrapper. but all my machines have been IBM:s. and yes i would complain to the mfg if it was not working. so that's 1 person.

      but maybe it is up to us somewhat more knowledgeable to make sure people around us don't by crap.

      --
      preview button, my computer does't have any preview button
    10. Re:Try understanding the issue. by darkwhite · · Score: 1

      There is a number of wireless chipsets with fully functional open-source drivers other than Centrino. For most of those, the specs for writing your own driver are also fully available.

      --

      [an error occurred while processing this directive]
    11. Re:Try understanding the issue. by kelnos · · Score: 1

      Thanks for being a part of the problem. How are manufacturers going to understand that the Linux community wants high-quality open source drivers for their products if people don't vote with their wallet?

      --
      Xfce: Lighter than some, heavier than others. Just right.
    12. Re:Try understanding the issue. by jsight · · Score: 1

      Somewhat a flawed argument, since now that ndiswrapper exists there is no incentive to write a linux driver. I would have preferred ndiswrapper didn't exist, allowing linux developers to push for open drivers and specificiations.


      Somewhat [of] a flawed, since now that native broadcom drivers exist, there is no longer and incentive to keep using an ndiswrapper driver.

      (seriously... ndiswrapper is great for folks who need it, and it has demonstrably _NOT_ stopped native drivers from appearing)
    13. Re:Try understanding the issue. by alan_dershowitz · · Score: 2, Insightful

      I couldn't use NetStumbler with my wifi card via NDISWrapper because apparently much of the wifi functionality is not controlled through the standard windows networking interface and so is not exportable via NDISWrapper. To do that I needed native drivers. If you want a fully functional card, you still want a native solution.

    14. Re:Try understanding the issue. by bcrowell · · Score: 1

      Grandparent says: The card maker wants to be Windows only so don't buy it. Sooner or later hardware vendors will have to come around.
      I see zero evidence that the assertion in the second sentence is true.

      Parent says: Vendors and users will just stick with Windows if the Linux developers do not make it easy to find compatible items when they are hardware shopping. MS are tyrannical, but the Linux devs are indifferent (or perhaps setting up a site with simple hardware search form is beyond their technical ability?).
      Undiplomatic, but basically correct, in my experience. It's way, way, way too hard to find Linux-compatible hardware. Any information you find on the web is almost guaranteed to be out of date, and therefore useless. You walk into Fry's and look around at the wifi cards on the shelf, and typically it's almost impossible to figure out whether a given card (a) has a GPL'd driver for linux, (b) has to be run with ndiswrapper, or (c) won't work on linux at all. The model number won't correlate with anything you can find on the web, because the web-based information is typically at least 6 months old, and the model number is typically less than 6 months old. You also can't get info on how good the linux support is. For instance, I have a Brother laser printer, and yes, it does work on linux, but no it doesn't work well (freezes up and has to be power-cycled, garbles output of mathematical equations, freaks out when used to print over my home network from my wife's mac, ...) You're not going to get any of that kind of information on the web. It's not a question of spending more for the hardware that's linux-compatible; I would gladly spend more for linux-compatible hardware, but I can't, because there's no practical way for me to find out how good the compatibility is.

      Buying peripherals for a desktop linux box is a tragedy of bad economics in the same way that buying proprietary software is a tragedy of bad economics. When you buy proprietary software, it's extremely difficult to know whether it's any good or not. Maybe you buy the program and it crashes all the time. Oh well, you had no way of knowing that was going to happen, and it's too late to get your money back. Because of that, proprietary software vendors don't compete on quality, they compete on features, and the result is that the quality of nearly all proprietary software is horrible. It's the same way with buying peripherals for a linux box. Users have no good way of knowing how well the peripheral will work on linux, so vendors have zero motivation to compete on linux compatibility. In an ideal world, linux users' leverage with the manufacturers would be small in proportion to linux's small popularity on the desktop. But it's not just small, it's zero, because linux users have no effective way of exerting their power in the marketplace.

    15. Re:Try understanding the issue. by Fallingcow · · Score: 1

      Not to mention how often the lists of cards that are "Linux compatible" are simply wrong.

      My laptop's built-in card is supposed to work with the MadWifi drivers. There's even a specific and detailed entry for it on their site, noting that a modified module load order might be necessary. OK, so it doesn't work when I first install Ubuntu. That's to be expected. Try the modified load order... uh, still nothing. Ubuntu seems to detect that it needs that driver, but the driver doesn't actually do anything.

      A couple hours later I give up, take the advice of one poster on the Ubuntu forums and just use NDISWrapper and the WinXP drivers. 5 minutes later, my card is working perfectly.

      If this little dispute in any way breaks NDISWrapper, I hope my distribution just gives 'em the finger and patches around whatever breaks it, 'cuz from where I'm sitting, that looks like a bug.

    16. Re:Try understanding the issue. by traveler007 · · Score: 1

      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.
      As far as I care, NDIS wrapper IS! a great idea. I can't always choose what network card I get, specially in laptops and until now it has many times be the ONLY option to get my machine to get connected.

      If any of the purists out there are willing to give me another $500-$1000 so I can buy a laptop that has the perfect linux supported card, I'm happy to take it. But until then I have no choice and NDIS wrapper has saved me many times.

      The bottom line is, while it's nice to be all "high and mighty" and keep things pure, until ALL hardware manufacturers provide linux drivers, there is a need for programs like this. It would be nice if people would come back to the real world for a change and think of how their decissions affect the end users.

      Nuff said.
    17. Re:Try understanding the issue. by FishWithAHammer · · Score: 1

      There is a number of wireless chipsets with fully functional open-source drivers other than Centrino. For most of those, the specs for writing your own driver are also fully available.

      Cool, now try to find one in a decent-quality laptop. Atheros is the norm in most AMD laptops I run into.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    18. Re:Try understanding the issue. by Anonymous Coward · · Score: 0

      Atheros has had an open source driver for years. Broadcom has been the card requiring NDISwrapper or an unstable reverse engineered driver.

    19. Re:Try understanding the issue. by FishWithAHammer · · Score: 1

      Not on all laptops, though. The Atheros open-source driver doesn't work on some Satellites, for example.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    20. Re:Try understanding the issue. by ryanov · · Score: 1

      Possible this stuff falls into the "out of date" category, but if not, that's precisely the kind of information that does exist for printers:

      http://www.openprinting.org/printer_list.cgi?make=Brother

    21. Re:Try understanding the issue. by einhverfr · · Score: 1

      People who think NDISWrapper is a bad idea have generally never tried to determine whether a wireless card is Linux-compatible by looking at the box on the shelf. No, it is not my first choice, but I am really glad it's there.

      --

      LedgerSMB: Open source Accounting/ERP
    22. Re:Try understanding the issue. by bcrowell · · Score: 1

      Interesting link, thanks! However, the printer I have, which has horribly low quality linux support, is a Brother HL-1440, which is listed in the "perfectly" category. So I think this doesn't fall in the out of date category, but it does fall in the category where you can't get accurate quality information.

    23. Re:Try understanding the issue. by ryanov · · Score: 1

      Are you using the driver that that page recommends for that printer? There are often a few of them and one or more of them are often lousy (which is another bit of foolishness).

    24. Re:Try understanding the issue. by bcrowell · · Score: 1

      Are you using the driver that that page recommends for that printer? There are often a few of them and one or more of them are often lousy (which is another bit of foolishness).
      In the CUPS web interface, there are several of them, and one of them says "(recommended)" after the name. That's the one I'm using. I've tested some of the other ones, and none of them seem to be any better. I don't think the name given on the openprinting site actually correlates exactly with any of the names as listed in the CUPS web interface, but I've tried the ones that have names similar to that. Some of my problems may actually be CUPS problems, or problems with Ubuntu's packaging of cups, rather than problems with the driver per se -- it's hard to tell.

  25. Re:I think Linus wrong on this by cfulmer · · Score: 2, Insightful

    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.

  26. Re:Can you be any more childish? by corychristison · · Score: 2, Interesting

    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.

  27. bullshit by nguy · · Score: 2, Informative

    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.

    1. Re:bullshit by pembo13 · · Score: 1
      --
      "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    2. Re:bullshit by maxume · · Score: 1

      Linus isn't trying to tell anybody else what to do. He maintains his tree in a way that some code is marked as being available only to GPL code, out of respect for the people who created that code. He is rejecting the changes from his tree, not claiming anything about the licensing of NDISWrapper.

      --
      Nerd rage is the funniest rage.
  28. Calm down, this is only about reporting bugs by ink · · Score: 2, Insightful

    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.

    --
    The wheel is turning, but the hamster is dead.
    1. Re:Calm down, this is only about reporting bugs by squiggleslash · · Score: 2, Insightful

      Not exactly, though you're correct in suggesting this is about code and flags in the kernel code, not about copyright law.

      The kernel has a number of symbols that are only accessible to modules that are GPL'd. The USB stack, for example, has a whole suite of symbols marked as "GPLONLY". These symbols provide access to functions provided by that stack. Unless NDISWrapper is identified as GPLONLY by the kernel, it cannot access those symbols. That's why the original patch "broke" NDISWrapper - it wasn't that users were complaining that they were getting the "NDISWrapper taints kernel" message in their dmesg, it was that NDISWrapper wouldn't load because it could no longer access critical symbols necessary for it to run.

      --
      You are not alone. This is not normal. None of this is normal.
  29. And in today's lesson... by KillerBob · · Score: 2, Interesting

    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.

    --
    If you believe everything you read, you'd better not read. - Japanese proverb
    1. Re:And in today's lesson... by Norpg · · Score: 0

      OMFG I am not that smart but I get What Linus is saying everybody who bashes him is not? Its easy, he is not saying that NDISWrapper is not GPL but when loaded into the kernel with a windows driver its becomes non gpl to kernel that all! Because when you load a windows driver under the wrapper the kernel become tainted and not fully GPL'ed code, so if the kernel crashes then dont bitch to Linus cause you tainted your kernel with non-gpl code, he just wants to mark NDISWrapper as non-GPL code inside to kernel cause in effect it make the kernel non-gpl

  30. Re:Can you be any more childish? by RiotingPacifist · · Score: 1

    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.
    --
    IranAir Flight 655 never forget!
  31. For the Record by sleepykit · · Score: 1

    http://lkml.org/lkml/2008/3/4/300 and http://lkml.org/lkml/2008/3/4/310 do clarify the position of both Linus (right or wrong) and the maintainer of the symbols in question. *shrug*

    --
    "When did I realize I was God? Well, I was praying and I suddenly realized I was talking to myself." ~ Jack Gurney
  32. Re:Meanwhile in an underground compound in Washing by bogie · · Score: 1

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

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

    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?

    --
    If you wanna get rich, you know that payback is a bitch
  33. So if it weighs the same as a duck by Edward+Ka-Spel · · Score: 1

    I don't get it. So if the Linux kernel allows non-GPL modules to be loaded, then the Linux kernel cannot be released under GPL? Do I need to remove my NVIDIA drivers now?

    1. Re:So if it weighs the same as a duck by starm_ · · Score: 1

      If you want to distribute your version of linux, yes.

  34. Yet another bad summary by pembo13 · · Score: 1

    that causes unnecessary hysteria. This isn't exactly encouragement to purchase a subscription to Slashdot.

    --
    "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
  35. Larger issue by fishbowl · · Score: 1

    For many -- perhaps for millions of users -- wireless networking was *THE* development that made personal computers interesting to them.

    The fact of the matter is that with vanishingly rare exceptions, you cannot make a specification-based order for either desktop or laptop devices and have a reasonable apprehension of acquiring a working system. if the operating system happens to be Linux.

    This may be the fault of the manufacturers of the Broadcom or Atheros chips, it may be the fault of the OEM's who are known to change chipsets without even changing the product codes on the packaging, and it may be the fault of the NDISWrapper folks who took the half-a-loaf opportunity and provided something that relieved some of the pressure of this, in my opinion, the most serious compatibility problem in the history of Linux.

    It amazes me that, even to this day, I cannot reference a compatibility list for wireless devices in such a way that allows me to actually acquire a working device!

    I think this was a huge enough problem that somebody like IBM and/or RedHat should have bought out the wi-fi chipset manufacturers for no other purpose than to force disclosure of their specs.

    This wireless driver problem is the whip that has driven me to choose Macs for my last 3 portable computers. I wonder if we can even measure the impact of the lack of wireless support?

    As an experiment try this: You are tasked with obtaining 255 Linux desktop computers. They must all have the same 802.11/g PCI card. It need not be "officially" supported by any company, but you do need to personally assure that it works after testing one unit. The remaining units will be deployed around the world based on your spec. Pre-assembled or in-house assembly is acceptable. What PCI card do you choose?

    Try the same experiment with laptops. What wireless laptop do you order for Linux compatibility?

    You can probably do both of these simply buy buying one of the few really expensive cards and/or laptops. Scale the experiment back down to the individual though, and the cost of special hardware combined with the difficulty of tracking down a compatible piece of hardware combined with the frustration that comes from buying a piece of hardware that was ON THE LIST, only to find it DOES NOT work... (Does anybody want a drawer full of Linksys USB radios that are supposed to be Prism2/Intersil according to the part number???)

    This problem goes much further than any argument of whether the authors of NDISWrapper should be allowed to paste the GPL header at the top of their code. On that subject: Anybody who holds a legitimate copyright may use the GPL, or NO ONE may use it. It's copyright that allows the use of the license, and nothing else. You want your "tested in court" failure of the GPL? Assert that Linus or anyone else has some authority over your right to use the license for your work. Unfortunately, prevailing in this assertion will tend to weaken the license, since you've just made it revocable by some third party without consideration.

    This theory that a piece of software cannot be released under GPL if the software loads non-GPL objects, falls flat on its face. There's simply no mechanism for a third party to constrain distribution based on that argument.

    --
    -fb Everything not expressly forbidden is now mandatory.
    1. Re:Larger issue by ricegf · · Score: 1

      What wireless laptop do you order for Linux compatibility?

      Oh, I'd probably order one of the Dells that come with Ubuntu pre-loaded and supported. You know, the same way you buy a Windows laptop. But you might try one of the other pre-load vendors before making up your mind.

      I find your timing amusing in that my new Corporate-issue Dell Latitude D630 won't connect wirelessly... using Windows XP. Selecting Networking in the Control Panel informs me that it can't configure networking that way; a little experimenting has revealed a redundant utility (why??), which demands that I type in an 8 digit key from the bottom of the wireless router. It then gives me the hourglass for two minutes with "Downloading Configuration" on the status line, and then responds "Connection failed". Really friendly. I'm writing this on that very machine under XP, with a wire connected to my router.

      However, when I insert the Ubuntu 7.10 live CD, the wireless connects as soon as I select my SSID ("constellation") from the convenient drop-down pre-populated on the desktop's menu bar. One click. Why isn't Windows this friendly?

      (I'm certainly not asserting that Dell can't provide a working XP image, or that Linux works with any random hardware - only pointing out a single anecdote. But for those who keep chanting "Windows just Works", a lot of us have not had anything like that experience, and this is just the latest in a long string of personal experiences along those lines.)

      This theory that a piece of software cannot be released under GPL if the software loads non-GPL objects, falls flat on its face.

      It would certainly be an odd restriction, but of course that's not even close to what Linus said. You might want to read what he wrote before so badly misrepresenting the topic.

  36. Sprung should be sprang ... by frogzilla · · Score: 1


    It's a stupid irregular verb but in this case "This all sprung up" should be "This all sprang up".

  37. OTOH by patiodragon · · Score: 1

    "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."

    On the other hand, for someone like me who bought a used PIII laptop in order to have a cheap linux laptop, it made using a WIFI card incredibly easy. Not something I'm interested in learning how to hack.

    I also think I understand that NDIS wrappers are used to make 32bit flash work on my 64 bit system without any input on my part (not sure I understood the article, though). Me likes NDIS wrapper. See, once more, wrappers mean more bling.

    1. Re:OTOH by ryanov · · Score: 1

      Nope, you didn't understand the article. NDISwrapper has nothing to do with Flash.

  38. cat -v /some/binary/driver by merc · · Score: 1

    Would the above command make the GNU cat(1) command, or the GNU coreutils package non-GPL compliant? I'm not trolling, just saying that it seems up to the end-user how NDISwrapper is used, although in this case the end user seems to be the kernel.

    I confess I'm very likely not comprehending the issue correctly since it doesn't seem possible that it's that simple.

    --
    It's true no man is an island, but if you take a bunch of dead guys and tie 'em together, they make a good raft.
  39. Could you explain what you don't find practical? by Presto+Vivace · · Score: 1

    Linux is more difficult to install and get started (I'm a Mac user, can you tell :)) So for most users I do not think Linux is practical. But every year the user interface improves and more software gets produced, so who is to say that it could not grow to dominate the market? I have seen the OLPC computer, it is good, but still not a Mac. So I just don't think Linux is practical yet, but plenty of Linux desktop users disagree.

  40. GPL Process separation and derivative works by mlwmohawk · · Score: 2, Interesting

    At the core of this issue is the GPL definition of a derivative work.

    Do not flame me for what I am about to write as it is my understanding of RMS' guidelines, if you have a problem with it, take it up with him.

    To clarify what is and what is not a derivative work, the GPL and its supporting documents claim that a GPL work is not how self contained as it may seem i.e. shared libraries or loadable modules, but whether or not it inhabits the "process space" of the GPL work.

    When a non-GPL module is loaded into the process space of a GPL application, it violates the GPL license of the application. This is why NDIS wrapper violates the GPL because its job is to load non-GPL code into the process space of the kernel, thus tainting it.

    Do I agree? I'm not sure as I can see both sides of the argument. One side is that the module is self contained and isolated. The other side is that one of the purposes of the GPL is to protect the work of the people who contribute frm being unfairly used. It can be argued that the NIC card vendors who's drivers are enabled by NDISWrapper are unfairly enriched by the work of GPL developers in that their proprietary hardware is supported on a free platform without themselves being free.

  41. who owns the kernel? by Crispy+Critters · · Score: 4, Insightful
    "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."

    This would be different if it were purely their code, but it isn't. This isn't stand-alone code. What they created is a derivative work of the Linux kernel. They used code which they didn't write and they don't own. Your argument is that the people who actually wrote the original kernel code have no right to say how it and its derivative works are used. Legally, you are completely and totally wrong. Essentially, you are advocating an end to copyrights on computer code. That's fine, but it has nothing to do with the GPL.

    1. Re:who owns the kernel? by drinkypoo · · Score: 2, Informative

      I don't know how you got marked all the way up to 5, but what you say has never been tested in court - which is the only thing that matters. It is NOT repeat NOT clear whether linking constitutes creation of a derivative work. Providing the source and headers may well prove to constitute a published specification, and the right to interoperate is generally protected by US law (there's even an exception to the DMCA restrictions on reverse engineering specifically for the purpose of interoperability.) So really, you are quite wrong about the GP advocating an end to software copyrights in their comment. No such thing was stated or implied.

      The question of whether any restrictions on linking are actually legal is a very real one.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:who owns the kernel? by Crispy+Critters · · Score: 1

      You are wrong. It has certainly been settled that the source code is not a published specification.

  42. And this is a big deal because...? by erc · · Score: 1

    And this is a big deal because ... why? Because Linus' name is on it? Slashdot reminds me of the idiots who used to follow Tolstoy around and write down every word he said, "to save for posterity".

    --
    -- Ed Carp, N7EKG erc@pobox.com PGP KeyID: 0x0BD32C9B What I'm up to: http://intuitives.mine.nu
  43. It MIGHT be GPL. by SharpFang · · Score: 2, Interesting

    A piece of software may not be GPL if it -relies- on non-GPL code. Not if it -optionally uses- it.

    Say, I release a game which requires DirectX, links against the proprietary library, depends on it. It can't be GPL. But if I make the game run on both DirectX and SDL, it's enough to make it GPL. It's not crippled by lack of DirectX, it's just a user's choice, a preference to use it.

    This way NDISWrapper just -could- be GPL if only someone writes GPL counterparts of the modules it uses. It would mean then, that it's a generic module wrapper which can load a variety of modules, GPL or not, and it's up to the user to feed it the restricted ones in place of the free ones. It may load any -generic- modules, but it should have no provisions towards any specific restricted modules without having an equivalent free part.

    --
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    1. Re:It MIGHT be GPL. by mrbobjoe · · Score: 1

      Heh, this reminds me of how they wouldn't accept the NES emulator FCEU into Debian until there was a free game in there to use it with (which they eventually got when I put the BSD license on Escape From Pong).

  44. Big deal. by HellYeahAutomaton · · Score: 0, Troll

    Why should this be important? GPL is less enforceable than cops catching speeders. Linus is tilting at windmills a bit too much.

    1. Re:Big deal. by Hal_Porter · · Score: 1

      It's very important.

      If Ndiswrapper is in violation of the GPL then the network card vendors will have to release their source code.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    2. Re:Big deal. by dwarfking · · Score: 1

      Exactly why would network card vendors have to release their source code? I don't recall any of them using the wrapper in their product, they deliver Windows drivers that Linux users use via ndiswrapper. The vendors aren't required to do anything.

  45. Good by PingXao · · Score: 3, Insightful

    I've said it before and I'll keep on saying it: ndiswrapper is evil. The biggest obstacle right now to greater Linux usage, IMO, is the lack of wireless chipset drivers. ndiswrapper is a crutch, not a solution. Intel may have provided enough datasheets to enable writing wireless drivers for their chipsets, but Broadcomm is the 800 lb. gorilla in the room.

    "Dude, just like load it with ndiswrapper and move on with working wifi!"

    That attitude, I maintin, is actually harmful in the long run.

  46. Claiming the Kernel is GPLd is stupid+pointless by whizbowl · · Score: 1

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

    I wrote a program and made it entirely proprietary. I compiled it and ran it on my Linux system. The kernel loaded it right up. What's the difference? The way pointers to entry points are managed? Irrelevant. The state of a "privileged" bit on the processor? A mere conceit with no legal significance. Whether it's a "kernel module" or "user code", it's all a blob of x86 instructions that the kernel loads and hands execution over to from time to time. Quod erat demonstrandum.

  47. Re:Could you explain what you don't find practical by cbart387 · · Score: 1

    Ok, I do indeed agree with you that it is not feasible (for most) to spend the initial energy getting it up and running. It definitely has improved within the last couple of years! I was just afraid that you were thinking (a) since it's not practical to me (b) then it's not practical at all. I'll stop there and refrain from getting too nerdy by discussing how (a) doesn't imply (b) ;)

    I do have say that Mac does interest me because I do prefer the UNIX(y) base. I'm currently a poor college student so the price is a little steep for me, however I'd still like to give the Mac a try at some point...

    --
    Lack of planning on your part does not constitute an emergency on mine.
  48. Re:Could you explain what you don't find practical by bky1701 · · Score: 1

    Try a distro from this century. Installation is far easier than Windows, unless you are using something like Gentoo (in that case, it shouldn't be a surprise). Many distros offer live CDs for install, even allowing you to use the computer while it installs.

    I have not used an OLPC first hand, but someone I know did. From what I heard it has irritations not directly related to Linux, but rather design decisions. If you're going by it, it's not modern Linux. Nor is it the Linux attempt to simulate a Mac.

    Quite a few non-technical people I know have switched to Linux, some with assistance some without. I think you are putting Mac users in the place of PC users.

  49. What's a Gnubian? by Xenophon+Fenderson, · · Score: 0, Offtopic

    My guess is that it is Darth Vader's operating system of FORCE. (Now there is a real BOF. None of this what's-your-user-name-clickety-clickety BS - he can read your mind and crush your throat before you even have a chance to complain about that missed email from an important colleague on Alderaan.)

    --
    I'm proud of my Northern Tibetian Heritage
  50. Does this mean VMs can't be GPL? by davidwr · · Score: 1

    If a VM loads *gasp* Windows code *gasp* then is it ineligible to be GPL? Oh noes!

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  51. Does it even matter? by nurb432 · · Score: 2, Insightful

    With out it, many of us would be screwed for drivers.

    Who really cares if its bla bla bla compliant?

    --
    ---- Booth was a patriot ----
    1. Re:Does it even matter? by Zoxed · · Score: 1

      > With out it, many of us would be screwed for drivers.
      > Who really cares if its bla bla bla compliant?

      My personal opinion is that if you do not care about GPL, then you do not deserve it !!

    2. Re:Does it even matter? by nurb432 · · Score: 1

      Actually, i dont belive in IP rights at all. Nor do i adhere to them.

      But if you want/need to be bound by a license, i think the BSD license is more free then the GPL anyway, so if i dont 'deserve' the GPL, thats ok with me.

      --
      ---- Booth was a patriot ----
  52. Are we any better than MS? by Roger+W+Moore · · Score: 1

    Somewhat a flawed argument, since now that ndiswrapper exists there is no incentive to write a linux driver. I would have preferred ndiswrapper didn't exist, allowing linux developers to push for open drivers and specificiations.

    So is the point of open source software to be free to do what you want or are we no better than Microsoft in insisting that everything has to be done 'our way'. I would hope that we could win arguments on merit without having to use legal means to force behaviour.

  53. Why we need NDISWrapper for Linux by Orion+Blastar · · Score: 2, Interesting

    First there is a lot of hardware that don't have Linux native drivers, mostly wireless network cards and Winmodems. NDISWrapper allows people to use Windows drivers under Linux for when there isn't a native Linux driver available for Linux.

    That is the Achilles heel of Linux, lack of third party driver support. Heck that's the Achilles Heel of any Non-Windows operating system be it OS/2, BeOS, AmigaOS, even Mac OSX. One OS, ReactOS, is trying to implement Windows' WDM driver model in GPLed software so that ReactOS can use Windows drivers. I would like to see Linux have the ability to use Windows drivers via some GPLed software, so Linus can borrow that from ReactOS, or write it from scratch, or maybe the WINE team can make a Linux module that loads Windows drivers for Linux that uses the WINE libraries.

    I have myself gone through several different wireless cards to get a Linux desktop working and eventually I gave up because I couldn't find a Linux native driver that wasn't flaky or lost the connection, and the only success I had was with NDISWrapper, but as soon as the Linux kernel is updated it breaks NDISWrapper forcing me to recompile the code and reinstall the Windows drivers.

    In fact, I have a Linux desktop near my wireless router that uses a CAT5 cable to hook into it and then use VNC from a Windows desktop in another part of the house to log into the Linux system that way. It would be nice if I was able to get good wireless networking support from a Linux native driver without losing the connection or going flaky on me. But I suppose I'll always have a VMWare Virtual Machine to use as well if I wanted to run Linux from any part of my house and not just where the router is located.

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
  54. No he didn't by schwaang · · Score: 2, Informative
    The mail you referenced as a change of heart expresses the exact same view as this one from 29 Feb and others in that series (if you read the TFKernalTrapA you would have seen it):

    Excerpted from Linus mail of 29 Feb:

    The thing is, I personally don't mind, and I think "derived code" is what
    matters, but others disagree, and quite frankly, I'm not going to force
    them - I have my _personal_ beliefs, but hey, others have theirs.

    So you really need to talk to not me, but to the people who actually wrote
    and maintain that code. When they come back and say "yeah, we think
    ndiswrapper is a special case and we're ok with it", I'll happily either
    mark those things non-GPL or just mark ndiswrapper special in the module
    loader again.


    What's confusing to slashdotters about this whole shebang is that there are two separate issues going on.

    First, there is a technical/legal issue relating ndiswrapper's access to the Linux kernel (specifically, access to symbols marked GPLONLY). On this matter Linus is doing his job, which is to enforce existing policy for GPLONLY stuff. Workarounds had been discussed, including the possibility that the people who actually wrote the code (USB stuff mostly) agree to remove the GPLONLY restriction that *they* imposed. Linus is not opposed to the workarounds, but he won't brook discussion about bending enforcement of GPLONLY.

    Secondly, Linus' expressed personal opinion about ndiswrapper (whose only purpose is to load Windows code) is complete indifference. He simply doesn't agree that because users depend heavily on ndiswrapper, he should go out of his way to bend the GPLONLY policy or make other special efforts. And he's not alone in the kernel community. Which freaks out the users who are afraid they won't be able to keep using their wireless cards and whatnot.

    So people see these two issues fused together and think that Linus is killing off ndiswrapper by personal fiat.
  55. Re:I think Linus wrong on this by Anonymous Coward · · Score: 0

    No there isn't. And "derived work" is a legal definition, not something defined in the GPL. Look it up.

  56. Re:its against US law by xtracto · · Score: 2, Interesting

    Wireless cards have to be closed source to use US radio frequency spectrum. In many cases, merely the ability to change frequency or power via software will render these cards unuseable in a legal context.

    Hello, that is some interesting information, would you care to elaborate (some links or other citations would be nice). I am authentically interested in your claim as I have never heard about such thing.

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  57. A good point. by Greyor · · Score: 1

    Linus has a point here, and I think we should discourage the use of Ndiswrapper in general. Personally I have a USB wireless stick (Linksys WUSB54GC) with the rt73 chipset, and thus I'm able to use the open-source drivers from the rt2x00 project -- which work flawlessly; Ndiswrapper is a mixed bag generally. I got lucky with my choice of wireless adaptor, but still -- like someone above said -- we should be focusing on making native Linux drivers for these adaptors and not be content with stopgaps such as Ndiswrapper.

  58. Which other card? by tepples · · Score: 3, Insightful

    Get another card. Reward manufacturers supporting Open Source by supporting them. Which card do you recommend in each format (classic PCI, PC Card, PCI Express, ExpressCard, chipset in desktop PC motherboard, chipset in laptop PC motherboard)? What new desktop and laptop computer models do you recommend that come with one of these cards?

    If you have to use closed source to just connect your Linux box to a network, then just fuck it and stay with Windows or buy a Mac. The whole point of GNU and Linux was to make a working _free_ system, not just to get you out of paying for a closed source one. Which notable personal computer to the general public uses coreboot or some other free BIOS?
    1. Re:Which other card? by sumdumass · · Score: 1

      Well,, I suggest brand X because it has always worked with my distribution out of the box. But after looking, I discovered that my favorite distribution doesn't use the vanilla kernel and heavily modifies it to work well in it's offerings.

      If you get anything other then a nightmare answer, I will be surprised. Too many variables to not follow that can allow anything said not work as intended.

  59. If not Linux, then what? by tepples · · Score: 1

    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. Then which Free operating system is for home users?
    1. Re:If not Linux, then what? by Paralizer · · Score: 1

      ReactOS?

  60. But does he reject AND denouce it? by austexmonkey · · Score: 1

    Sure he denounced NDISWrapper, but does he reject AND denounce it? The American voters want to know!

  61. System library exception to the GPL by tepples · · Score: 1

    Say, I release a game which requires DirectX, links against the proprietary library, depends on it. It can't be GPL. I don't follow your logic. Both GPLv2 and GPLv3 have an explicit exception for linking against libraries distributed with a commonly available general-purpose operating system distribution or compiler toolchain. DirectX is such a system library. GPLv2 puts it this way:

    However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
    GPLv3 puts it this way:

    The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.

    The "Corresponding Source" for a work in object code [...] does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work.

    But apart from that, I agree with your point that it is a best practice to develop applications on top of cross-platform APIs with Free implementations, such as SDL, Allegro, wxWidgets, Qt, or Gtk+. And in a way, even DirectX could be considered such an API because of Winelib.

    The above discussion applies to applications. I have no idea how it applies to kernel modules.

    1. Re:System library exception to the GPL by SharpFang · · Score: 1

      Ok, choice of DirectX was unfortunate. Replace with any corresponding "forbidden" library that has a free counterpart too.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
  62. Re:Smells of Hyprocracy by mozkill · · Score: 1

    Linux kernels dont come with "NVidia" drivers. Linux kernels come with "generic card support" which all video cards handle in order to display anything at boot time, before drivers have been loaded. Then, the operating system loads the next video card driver layer on top of that after that while the OS starts. this doesn't mean the driver was in the kernel.

    --

    -- Betting on the survival of the media industry is a serious risk. I advise investing elsewhere.
  63. explain how this violates gpl please by hcmtnbiker · · Score: 2, Interesting

    Since ndiswrapper taints itself when it loads a proprietary NDIS module

    Can someone explain to me how creating a computability layer for a proprietary model inherently violates GPL? Linus is trying to claim that loading the Windows Driver violates GPL. But I really fail to see how, ndiswrapper is a computability layer, and itself GPL'd, the windows driver is not loaded into the kernel like other modules it is sandboxed by ndiswrapper. It edges towards that gray area of the GPL, but itself doesn't violate it.

    --
    If i had one dollar for every brain you dont have, i would have $1.
  64. Thank god for GPL by pclminion · · Score: 2, Insightful

    Thank God the kernel is GPL. I can go in there and remove all this stupid GPLONLY garbage.

  65. question by debatem1 · · Score: 1

    I may be being stupid here, but I'm trying to follow this and not getting it. Please correct where my chain of logic is going awry.
    1) the point of GPL that you can't distribute code that's derived from GPL code under anything other than the GPL.
    2) Linking against code is considered 'derivative'. Using a public interface is not.
    3) NDISWrapper links against the GPL'd kernel.
    4) NDISWrapper is required to release under GPL and does so.
    5) NDISWrapper uses the public interface of the binary driver
    6) This imposes no license requirements on NDISwrapper
    7) No license violations have occurred.

    Even if Linus doesn't like it, it doesn't seem like there's anything in the GPL that specifically stipulates that you can't both link against GPL'd code and use the public interface of non-GPL'd code, and if there is, it will cause a LOT of problems in LinuxLand. Am I wrong?

  66. "Linking" is not a term of copyright by JSBiff · · Score: 4, Insightful

    I think almost all of these types of problems come down to the fact that, for copyright law with respect to computer software, the most *sane* approach is that linking does not create a derivative work, and therefor license terms cannot be applied to other works which link to the licensed work. NOTE: I am not a lawyer, this is not a statement of fact regarding current law, this is a statement of personal opinion. In otherwords, my opinion is that, if my view of copyright were adopted, there would be no GPL, only the LGPL. That is to say, since the only difference between the GPL and LGPL is the linking clause, and since I do not believe copyright should extend to other linked works, the GPL 'decays' to become the same thing as the LGPL.

    Let me state it this way: It is my understanding that copyright law, currently, has no notion of 'linking'. Copyright covers copying material, or creating derivative works (such as translations, modified versions, etc). I don't know the full definition of derived work (I've tried to research it before, and it appears to get a bit complicated), but it is my understanding that the basic principle of a derived work is that it contains all or part of the work from which it is derived. For example, a translation is a derived work because, while all the words may be literally different, being in a different language, the works still essentially contains all the ideas and expressions from the original work.

    It's also my understanding that copyright does not govern what you can and cannot do with with copyrighted work, except to the extent that you cannot copy, distribute, or perform for other people, the copyrighted work or distribute derivatives without permission (I think you can create derivatives without permission, even, you just can't distribute/copy/perform that derivative). So, copyright doesn't give me the power to say you can't 'link' your work with mine, unless such 'linking' creates a derivative and you then subsequently distribute/copy/perform that derivative work (so even if a derivative is created on the on the end-user computer, which I believe is not the case, I don't think copyright law would prohibit that).

    The thing about software which dynamically links other software is, the two software works are fundamentally almost completely separate works, if I understand dynamic linking correctly. They are distributed separately (or at least, *can be* distributed separately), they are loaded into memory separately, and the works are never really combined, even in computer memory, I believe. Is that not correct? My understanding of 'dynamic linking' is that the computer is running code in one segment of memory, and encounters an instructions which just causes it to jump to another part of memory and start executing what's there, and when finished executing the linked function, to return to the original memory location + 1. If that is, in fact, the case, then it's rather like a note in a book which says, "Go read such-and-such magazine article, then return to this page and continue reading". Even if my book makes *no sense* unless you read the article I put the note in for, my book is still not a derivative, because it contains no copy of the magazine article. (I mention that last part because I've read where Linus, and some other people, make the claim that the test for derivative work should be whether software can run without the linked software - I personally think that is an irrelevant fact, because where there is no copying, there can be no violation of copyright).

    Anyhow, I just ultimately believe that all this stuff about restricting what symbols can and can't be used by non-GPL software is just a mess, and not reasonable. I think the idea that because one work links another work, that the author of the linked work gets some kind of control over the second work is not reasonable. Separate works should have separate copyrights which do not touch each other AT ALL.

    Now, it's my understanding that all this linking stuff vis-a-vis the GPL has never

    1. Re:"Linking" is not a term of copyright by dgatwood · · Score: 1

      Pretty much. There's the issue of whether a header constitutes a published interface or not, which could have some bearing on questions of whether it can be included with a "#include" outside the terms of the license for the software as a whole, but since reverse engineering a header is a trivial task and it can never be proven that the official header was actually included, this is very nearly a moot point, IMHO.

      As you say, it has never been tested in court, to my knowledge. I really sort of wish some company would decide to put it to the test, if only so that the question could be answered more definitively. That said, I do tend to agree with your assessment, as does Lawrence Rosen.

      I would sum up the argument like this: linking an application to a library should no more be a violation of the copyright of that library than linking an automobile to an engine should be a violation of the patent on the engine. The latter clearly does not dilute the patent on the engine, nor does the former dilute the copyright on the library.

      A nice court case supporting that view is Ticketmaster Corp. v. Tickets.com in which it was determined that hypertext linking is not a violation of copyright of the linked page. That's really remarkably close to the question of source code linking....

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  67. GPL is... by Nicolay77 · · Score: 0, Offtopic

    A very hard to master computer driving simulation:

    http://en.wikipedia.org/wiki/Grand_Prix_Legends

    --
    We are Turing O-Machines. The Oracle is out there.
  68. Re:its against US law by mikiN · · Score: 2, Informative

    Since "you" is ambiguous referring to an AC, I will post my $.02 worth of searching.

    FCC Rules on FOSS and Software-Defined Radio
    Cognitive Radio Technologies and Software Defined Radios

    As far as I can gather the main problem is that part of the licensing requirements is that "security measures" that need to be in place to prevent use of the device outside the specifications for which it is licensed.
    With the boundary between driver software on the computer vs. firmware on the device shifting ever more away from the device, it becomes harder to implement these security measures.

    --
    The Hacker's Guide To The Kernel: Don't panic()!
  69. I think the Headline here is missleading by PenguinJeff · · Score: 1

    GPLONLY variables from the kernel is what was denied. The source code and project license seem to be ok as being stated as GPL.

  70. But this is the ony thing by hotfireball · · Score: 1

    NDISWrapper is the only thing that can run tons of devices... Ohwell...

  71. Well then, Who put this DRM in the linux kernel? by robbak · · Score: 0, Troll

    Look, this sounds like some kind of rather draconian DRM!

    If the GPLONLY code is used to restrict the performance or capability of code that is not released under the GPL, then the GPLONLY code needs to be removed forthwith - I Cannot see how it is compatible with the GPL itself, or with the philosophy of Open Source. Really, isn't "hidden interfaces" what we all hate about Microsoft, and were really annoyed to find in OSX last week??

    DRM - Just Say No!!!

    In the sort term, the code that checks this flag should be changed to just "return TRUE;", and eventually, all traces of it removed. What were they thinking??

    --
    Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
  72. As posted elsewhere in this discussion. by imtheguru · · Score: 2, Informative

    http://linux.slashdot.org/comments.pl?sid=476560&cid=22656000
    by F452 (97091) Alter Relationship on 14:11 Wednesday 05 March 2008

    Cheers to F452 for this information.

    --
    Yet Socrates himself is particularly missed.
    A lovely little thinker but a bugger when he's pissed.
  73. can of worms... by hitmark · · Score: 1

    if ndiswrapper gets a free pass on this, whats stopping anything and anyone to write a wrapper that access the gpl hooks, and then have a binary module at the other end?

    would that not be a run around the whole point of the gpl only hooks in the first place?

    --
    comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
  74. Great link! by JSBiff · · Score: 2, Interesting

    Hey,
          Thanks for the link to the discussion on Rosenlaw. That's a great link. I'm not sure I *completely* agree with Rosen - the one point where I think he might lose the argument is that statically-linked binaries are not derivatives. I understand where he's coming from - he's trying to find the simplest definition of derivative work.

          But the problem is, a statically linked binary *does* contain your original work in part or in whole. In my earlier post, I put forth a statement of principle that, where there is no copying, there can be no copyright infringement. I think most reasonable people can say that the converse of that holds as well - where there is copying (without permission), there is copyright infringement.

          Although, I suppose possibly what Rosen is getting at is that it would be possible for me to ship the original static library source code, and so fulfil the obligations of the GPL wrt providing access to the source code for the original work, and that my binary is not a derivative work. But, I think that still may be a weak argument.

          Man, I don't know. It does get rather complicated. I mean if I dynamically link, and distribute the GPL .so and source code in the same zip file, CD, or installer as my seperate program, does that make the zip file, CD, or installer a derivative work? I know Linus has talked about that issue before, which he refers to as 'mere aggregation', which I believe is a reference to the GPL which explicitely allows mere aggregation. Where do you draw the line between aggregation and derivation? Maybe Rosen's suggestion is the simplest way to resolve the question, but it makes the GPL very weak, as a result.

    But, we can't let the GPL be too strong, either. I really think these issues of loading proprietary drivers with GPL wrappers like NDISWrapper really expose the absurdity of the 'dynamic linking violates the GPL' idea, too.

    1. Re:Great link! by dgatwood · · Score: 1

      But the problem is, a statically linked binary *does* contain your original work in part or in whole. In my earlier post, I put forth a statement of principle that, where there is no copying, there can be no copyright infringement. I think most reasonable people can say that the converse of that holds as well - where there is copying (without permission), there is copyright infringement.

      Agreed. That's why I didn't bring up static linking. It is a lot trickier from a legal perspective, and has a lot better chance of being infringement than dynamic linking. I'm trying to think of precedent here, and the closest I can think of would be companies selling altered versions of DVDs with custom content (e.g. a censored audio track). It does not preserve the original in an unaltered state because you are adding to it or modifying it, so the result is a derivative work and must be authorized by the copyright holder. I suspect the same would apply for static linking.

      On the other hand, one could legitimately argue from the other side that a library by definition is an interface intended to be used by software, and that static versus dynamic linking is solely a question of whether or not the library is packaged in the same packaging as the code that uses it. Because static libraries are still separable from the original executable code (albeit with a lot more work), one might argue that the combination thereof does not automatically become a derivative work in much the same way that packaging a store-bought DVD with a magazine that reviews the DVD and explains some confusing scenes in the same shrink-wrapped package would probably not turn the magazine into a derivative work of the DVD even if done by the publisher of the magazine. So even in the static linking case, it isn't clear cut. Far from it, really. I can see both sides of that one.

      Like I said, I wish this aspect of the GPL would be tested in court by someone, if only so we could stop hypothesizing about what the courts might do and could actually cite close precedents. :-)

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  75. GPL != Linux by PPH · · Score: 1

    I didn't know Linus (or anyone else) could control my ability to release my code under GPL. Assuming that its my code and I didn't swipe it from someone else (violating some other copyright ) I can choose the GPL and there's not much anyone else can do.

    The code I release under the GPL may have nothing whatsoever to do with Linux, Linus, *NIX-like operaing systems or whatever.

    What Linus does have power over is the trademark 'Linux'. He can, if he desires, deny the right to use that name for any product that doesn't meet his standards, including those that bundle NDISwrapper in the kernel source.

    I'm not certain what control Linus has over my building/installing a Linux kernel that complies with his wishes (i.e. no NDSIwrapper) and then my downloading/building/installing NDISwrapper on my own system for my own use.

    --
    Have gnu, will travel.
  76. Anything can be GPL'd by putaro · · Score: 1

    Bzzt - wrong. GPL is a one way street, not a two way street. There are no negative requirements in the GPL. *Anything* can be placed under the GPL.

    Where GPL requirements come into play is that the GPL sometimes requires code to be placed under the GPL. Code that is derived from GPL licensed code *must* be placed under the GPL. Derived code has been held to be both code that is a modification of a piece of code *and* code that is linked to and depended on, like a library. It's a one way street, though. If you make something like ndiswrapper it can be released under the GPL. The fact the ndiswrapper provides functions to proprietary code doesn't have any bearing on its GPL status. And, the fact that proprietary code is now linked to ndiswrapper doesn't force the proprietary code to become GPL'd - it doesn't depend on ndiswrapper and it wasn't linked with ndiswrapper by its creator and distributor.

    1. Re:Anything can be GPL'd by SharpFang · · Score: 1

      blah blah blah.

      You can't place under GPL what you don't have copyright to.
      You can't place under GPL what you share copyright with someone not willing to agree to place it under GPL.
      You can't place under GPL what you don't have sources for.
      You can't place under GPL what you you've already licensed under a different non-removable and conflicting license, even PD.

      There are hundreds other cases and restrictions like these.

      One of them is that you can't place under GPL a part of a proprietary program and keep the rest proprietary. The proprietary part, to be forbidden, doesn't have to be -derived- from the GPL - it may be a peer part of the current program. Like, lines 1-100 GPL, lines 101-200 of the same program EULA - can't be done.

      And now where's the boundary? Two .c files that compile into one binary? Two .dll files required to run one? GPL defines boundaries of a program by functionality and dependence. If a program is useless or significantly crippled by lack of a component, GPL treats this components as integral part of the program. If this component is non-free, the whole program can't be GPL.

      A loader of kernel libraries is entirely useless without kernel libraries. If all the libraries it loads are proprietary, it's impossible to use it meaningfully without using said proprietary libraries thus the loader is not enough to comprise a GPL'able program. This is what Linus said and feel free to argue with him. What I said, replace any of these libs with a free one the loader can use, and together with this library it's enough to comprise a full program, thus can be GPL'd. The fact that it can load proprietary libraries as well doesn't hurt.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    2. Re:Anything can be GPL'd by putaro · · Score: 1

      Your first four examples all boil down to "You don't own the copyright" (or, you've given the copyright away irrevocably for number 4). That's true for any license since you can't license what you don't own.

      Where in the GPL does it say anything about not being able to GPL part of a proprietary program? Of course you can. It may not be useful but you can do it. There is no GPL authority to determine what you can and cannot license under the GPL. It is a license that you get to put on your own copyrighted materials.

      You're trying to cite hacker lore as legal precedent. Sorry, it don't fly. There's nothing in the license or in copyright law that requires you to license usable software or even a complete work. If there were, Microsoft would have been run out of business long ago.

      There's a big difference between being the owner and licensing the code and being a user of the code and being bound by the license. The owner has very few restrictions, other than, as you pointed out, actually being the owner.

    3. Re:Anything can be GPL'd by SharpFang · · Score: 1

      Where in the GPL does it say anything about not being able to GPL part of a proprietary program?

      There:

      The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

      If you can't release source code of the subprogram the work requires to operate, you won't release the "Corresponding Source" as required by terms of GPL.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    4. Re:Anything can be GPL'd by putaro · · Score: 1

      Yes, that is part of the GPL. However, it doesn't imply what you think it implies.

      That section, "Source Code" does not define what you can distribute under the GPL. It is part of a legal document and is there to define "Source Code" as it is used in the rest of the document. Think of it as a #define.

      Now, what does "Corresponding Source" apply to? It applies to someone, not the owner, distributing the code *in object code form* under the license. This clause is there so that if someone *modifies* a piece of GPL'd code, that they do not own, to depend upon a proprietary library they cannot distribute the it without putting that proprietary library under the GPL as well. Or, if it needs a particular script to be built, etc. It only applies when distributing the code in object form ("The "Corresponding Source" for a work in object code form").

      The second paragraph following that is:

      The Corresponding Source for a work in source code form is that same work.

      So, if you're distributing code in source form, you're distributing the source code. (Of course, you would have to *only* be distributing it in source form, otherwise the provisions for distributing it in object form would kick in as well).

      The GPL's clauses do not apply to the owner. They apply to people *distributing* (not copying, not using) the code under the terms of the license (Section 2, Basic Permissions - You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force.). If you own the code you *ARE NOT SUBJECT TO THE TERMS OF THE LICENSE* - you *own* it, you're not licensed for it. Of course, in order for something to be useful when GPL'd people need to be able to distribute it in compliance with the license. However, things like a fragment of code are covered. If a fragment of code is licensed under the GPL you can distribute that, as just the source, and be in full compliance with the GPL ("The Corresponding Source for a work in source code form is that same work."). If not, then people would not be able to distribute patches to GPL'd code. Your patch is a derivative work under the GPL, however since you are distributing it in source form all you need to distribute is the source, not the whole kit and kaboodle.

      The GPL uses "you" throughout it. "You" is not referring to someone who owns code putting it under the license. It refers to someone who is receiving code under the license. There are no restrictions on what you can slap the GPL on. You could attach it as the license to something that you are only distributing in object form. It just wouldn't be a useful license to the receiver since they would not be able to distribute what you gave them (since they're required to distribute source) and would kind of miss the whole point of the GPL.

    5. Re:Anything can be GPL'd by SharpFang · · Score: 1

      Your point being?

      Freedom of use of GPL'd code means you can use NDISWrapper with the kernel, no matter what license it is.

      But still NDISWrapper can't be included in any binary distribution of the kernel. It can be used if you compile the kernel yourself, if you don't share that compiled kernel. You can slap GPL on your that binary of NDISWrapper too. Except then it's object form and you're not allowed to distribute it without corresponding source and you don't have the full corresponding source.

      All major Linux distributions are out.

      So by a weird twist of fate YES, I agree you CAN license the resulting binary as GPL. Yeah, great, it's GPL now, yay! Except you can't distribute it.

      Okay, let me now go install Vista on my home server. The server has 128MB RAM so it won't be able to run it, but hey, I will have the newest OS installed!

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    6. Re:Anything can be GPL'd by putaro · · Score: 1

      Of course ndiswrapper can be distributed in binary form under the GPL. All of the sources are available for it and it can be built and run. Ndiswrapper does not depend on proprietary code - it enables proprietary code. Saying that ndiswrapper can't be distributed in binary form because it enables proprietary code is like saying that Linux can't be distributed in binary form because it enables proprietary code. ndiswrapper is complete without any modules loaded. It's ready to load modules.

      Another poster made a very good point. The GPLONLY flag for the kernel basically is there so that kernel developers can know whether or not all of the sources are available for the running kernel and hence how much trouble it's going to be tracking down a bug that is reported. The flag should really be named something like SOURCESAVAILABLE. If you look at it from the point of view, flagging ndiswrapper might be appropriate - though, the correct thing would be for ndiswrapper to set the flag based on which modules it has loaded. It is possible to have open source Windows drivers though I'm not sure how there are.

      However, you're arguing from a legal point of view that this or that may or may not be GPL'd and, I'm sorry, but you're wrong.

    7. Re:Anything can be GPL'd by SharpFang · · Score: 1

      dynamically linked subprograms that the work is specifically designed to require

      Linux is not designed to require proprietary software, it works without it just fine.
      NDISWrapper without modules it loads is useless. It REQUIRES the modules to operate. Without them it does not operate, it merely sits there doing nothing.

      "It's intended as a kind of 'hello world'-like tutorial on writing modules and the NDIS-loading part was just an insignificant after-thought" excuse holds about as much as "I just wanted to transport that bomb by a plane and use it in geological work, I never intended to detonate it on the plane".

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    8. Re:Anything can be GPL'd by SharpFang · · Score: 1

      dynamically linked subprograms that the work is specifically designed to require

      Linux is not designed to require proprietary software, it works without it just fine.
      NDISWrapper without modules it loads is useless. It REQUIRES the modules to operate. Without them it does not operate, it merely sits there doing nothing.

      "It's intended as a kind of 'hello world'-like tutorial on writing modules and the NDIS-loading part was just an insignificant after-thought" excuse holds about as much as "I just wanted to transport that bomb by a plane and use it in geological work, I never intended to detonate it on the plane".

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    9. Re:Anything can be GPL'd by chmod+a+x+mojo · · Score: 1

      The main problem with your argument is that NDISWRAPPER _WILL_ run just fine without the proprietary binary blobs. NDISWRAPPER will load into the kernel just fine without using ANY windows driver ( your hardware would still be useless without the drivers) bit the GPL portion of the module does NOT require ANY non-GPL'd code to run itself.

      There is no part of the GPL that says your code must be complete ( or even useful)

      --
      To err is human; effective mayhem requires the root password!
  77. Malice and bugs. by gnutoo · · Score: 1

    People who know the truth and are sure of themselves don't have to use insults like you do. Blame shifting and malice are for the desperate:

    There is no "Microsoft bugs and malice" involved in an interface specification and any bugs occuring [sic] would be solely the domain of either poor implementation of NDIS or by bugs explicitely [sic] in the vendor-provided network driver. You're a complete tool to suggest otherwise. There is no "firmware game", and these network cards aren't braindead - you are.

    If I'm a braindead tool, Microsoft is in big trouble because anyone can verify what I did. Firmware, like this, is loaded in Windows with software that's nothing more than SDK parts provided by MickeySoft. Bugs come from the clowns who play, the malice is all from Redmond. The game is painfully obvious.

    Almost all current wireless cards and USB devices either require binary firmware loaded by a free software driver, or require the use of Windows drivers via a free software emulation layer (Ndiswrapper). Ndiswrapper is an inefficient use of processor cycles. The binary drivers it requires are often of poor quality, which can lead to stability problems and support headaches.

    The usual problems with proprietary software apply. Bugs in the proprietary drivers can result in a security vulnerability in the system itself that cannot be corrected without vendor intervention. Bugs noticed by the community can take months to be fixedif they are fixed at all. Vendors regularly ignore the concerns of users who have already purchased their product. For instance, in the specific case of the binary NVidia drivers, there have been several high-profile security vulnerabilities that remained unpatched for far too long.

    Hardware that requires binary firmware with a free software wrapper simply circumvents the issue by moving all intelligence into a black box that the user cannot open. This is merely smoke and mirrorsit creates the illusion that the hardware vendor respects freedom while the concerns of the community remain marginalized.

    But the dam has given way. Hardware that sucks does not sell, regardless of who's really at fault. Companies playing the Microsoft game are having trouble but people selling software that works with free software are doing well. Things are not perfect by a long shot but Vista's failure to generate substantial income for Microsoft's partners has changed the game forever. Here's the winner:

    By making the recommended changes in any or all of these five areas (free software drivers, proprietary BIOS locks, free BIOS support, the Microsoft Tax, Digital Restrictions Management) hardware vendors will help establish a mutually beneficial relationship with the free software community. Vendors will realize increased sales, and the free software community will have hardware that meets its ethical requirements.

    The Free Software Foundation is eager to assist hardware vendors interested in making the changes recommended in this paper. Vendors should not hesitate to take advantage of this largely unexplored opportunity.

    1. Re:Malice and bugs. by andreyw · · Score: 1

      Loadable firmware isn't particularly a feature of hardware targetting windows systems. Its the hardware designers ensuring that bugs may be fixed later on and ultimately provides more value add on and reduces development and production costs. Where before you had a mask ROM on a card, then you got flash, and now you might not even put any ROM storage on it at all. Especially if the device in question would never be used in a legacy boot scenario, where it might need to be fully functional from the get go.

        A lot of the controller chips these days (especially some DSPs) do not contain any ROM storage, so its the driver's job to upload the firmware to the device. This, again, has nothing to with any Microsoft tax, Microsoft SDKs, Microsoft API, Microsoft period. The way the firmware is uploaded obviously depends heavily on the actual controller/DSP and architecture of the physical device.

      The stuff you pasted in is FUD. Apparently, the FSF these days doesn't like the actual code that runs on the physical device... you know... on the embedded microcontrollers and DSPs. They didn't seem to give a damn when it was burned into mask ROMs or FLASH chips, but when it sits as a "blob" on disk storage it seems to give them the fits. Now, that may be a valid argument to bitch about, but this has less to do with "open software" and more with "open hardware". Last I checked, some of these companies aren't even willing to publish the device specs to write ANY sort of driver.

      Once again, "loadable firmware" has nothing to do with NDIS. You don't like NDIS because it means you need to use a Windows-targetted driver? Is that it? Then implement UNDI or ODI... assuming your device has PXE boot drivers or Novell network drivers, you're set.

      What really bothers me about having arguments with people like you is that you readily eat other people's FUD (in this case FSFs), but lack the technical underpinnings to see through the smoke and handwaving involved.

  78. WTF?!?! by Brandybuck · · Score: 1

    "If it loads non-GPL modules, it shouldn't be able to use GPLONLY symbols."/blockquote?

    WTF? I've read the GPLv2 through dozens of times, and the GPLv3 at least twice. I've also read the unexpurgated Stallman commentaries and the Moglen Home Concordance. But NOWHERE do I find mention of a "GPLONLY symbol" in the license.
    --
    Don't blame me, I didn't vote for either of them!
  79. LGPL = GPL by ejtttje · · Score: 1

    So are you saying that I can write a closed-source program and link it against a GPLed library? Well, if you want to try this theory out in court you certainly can ;)
    But my money would be on that you can, as long as the binary you're providing doesn't contain any GPL code, just names of symbols to lookup. (Otherwise, we could turn this around on its head --the windows drivers are the ones in the wrong because they can link against ndiswrapper, a GPL program, and therefore all of the applicable vendors must now release their driver source code!)

    That sounds wrong to me and essentially makes LGPL = GPL.

    Yup, that's exactly what I'm saying. Except LGPL also permits static linking, for whatever that's worth. Of course it's not what certain GPL promoters want it to mean, and really I'm sympathetic to their cause, but there are limits to what you can claim as "derived". IMHO, those limits allow a symbol table without making it a "derived work". Otherwise we wouldn't be allowed to use reverse-engineered protocols and file formats, which are a well established freedom for compatibility and interoperability.

    This is all relative to the GPL 2.0 btw, I don't know the 3.0 very well. But take this comment from the FSF FAQ:

    If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case.

    So they want to have a blurry definition depending on how extensively you use the library, and I don't think that will stand up very well.

    Personally, I would put the blurry line as a matter of distribution... if you distribute your executable bundled with the GPL'd library, then you are providing a derived work. If you require end users to acquire and install the library themselves, then you are linking against a specification, and the user is free to choose the implementation. Further, any potential license violation is at the user's end, for they were the one to mix the GPL'd library with the proprietary executable. For example, OS X masquerading BSD libedit as GNU readline.

  80. ELF Loader also loads non GPL software by erik.martino · · Score: 1

    How is the Ndiswrapper different from the ELF loader in the respect that it can load non GPL software. The ELF loader is not placed under these restrictions afaik.

  81. Re:its against US law by Asm-Coder · · Score: 1

    He won't do that because, he can't.

    Amateur radio is prohibited from using encryption on the public airwaves, at least not unless you also provide the key. Generally, the FCC regulates to favor those who build their own equipment and systems, (even outside of amateur, for all the trolls I know I'm going to get for that, I'd provide you with a link, but, as I'm currently getting my source from a book, that won't work) so, obviously these systems can be open-sourced for others to try building themselves. (Another point, if it were illegal to open-source the equipment/software, why has openwrt not been shut down?)

  82. huh? by someone1234 · · Score: 1

    The elf loader loads non gpl software INTO the kernel?

    --
    Patents Drive Free Software as Hurricanes Drive Construction Industry
    1. Re:huh? by erik.martino · · Score: 1

      Userspace is some sort of virtual environment shielded from the kernel and communicates through a well defined interface, the system calls. The NDIS driver environment is the exact same thing. They are just two different flavors of environments, one is no more part of the kernel than the other as I see it, correct me if I'm wrong.

  83. It is a box by icsx · · Score: 1

    We are inside a cardboard box. While the walls and floor are GPL-licenced, the top ceiling is too, with a glitch. Instead of expensive glueing system to close the box, we use ducktape. Of course when we open the box, ductape ruins some of the coating outside but it works the same way as the glue which does not break coating.

    Linus is trying to keep GPL pure and perhaps this wrapper in the future could break some apps and usability. This is why he prefers emulation.

  84. give me $88, bitch by Fanboy+Fantasies · · Score: 0

    hey, it's only 8 cents a day, over 3 years. So I'm sure you won't mind, you fucking douche.

  85. In other news... by NateTech · · Score: 1

    The normal people of the world, who actually need to get shit done with their Linux machines, and know that manufacturers don't get it, and don't give a shit... will continue to use NDISWrapper and ignore it's GPL status or anything else related to it.

    They'll happily run native drivers if the kernel devs can ever figure them out, but meanwhile they've got shit to do... and no fiscal or moral reason to care.

    --
    +++OK ATH
  86. Funny. by LWATCDR · · Score: 1

    "Funny, I saw Stallman give a speech, and he basically said that he started hating proprietary software specifically when a printer failed to work with a new computer setup. Had the driver been open, he could have fixed it. Had the OS been open, he could have fixed it to be compatible. Neither was, so he couldn't."
    I guess it is a good thing that was back when printers where expensive.
    What do you do today if the your printer doesn't work with your OS? Buy a printer that does. In fact that is the very advice that you will get from the FOSS crowd. You should only buy devices that have not just working drivers but working drivers that are FOSS...

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  87. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  88. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion