Slashdot Mirror


Linux: the GPL and Binary Modules

An anonymous reader writes "When first made available in September of 1991, the Linux kernel source code was released under a very restrictive non-GPL license requiring that the source code must always be available, and that no money could be made off of it. Several months later Linus changed the copyright to the GPL, or GNU General Public License, under which the kernel source code has remained ever since. Thanks to the GPL, any source code derived from the Linux kernel source code must also be freely released under the GPL. This has led many to question the legality of 'binary only' kernel modules, for which no source code is released. Linux creator Linus Torvalds talks about this issue in a recent thread on the lkml."

657 comments

  1. Linux linkiing analogy by rubypossum · · Score: 5, Insightful

    Maybe I'm wrong here but perhaps this is a way to look at it. If I wrote a story that was derived from the LOTR then it would not be a derived work in the legal sense it would be copyright by me. Although I'd have to get permission to use the trademarked names etc. Isn't this a bit like the linux kernel issue? The module is not directly derived from the kernel it is an extension that uses the hooks that were created in the previous "story". Maybe I'm on crack here....

    --
    I have a theory that the truth is never told during the nine-to-five hours. - Hunter S. Thompson
    1. Re:Linux linkiing analogy by rubypossum · · Score: 5, Insightful

      On the other hand... if I were to take chepter 5 from the LOTR and change it a little bit, include it in my story and then publish it then it would be a derived work. Just like a company taking net/socket.c, modifying it, then including it in their own module and not distributing the source.

      --
      I have a theory that the truth is never told during the nine-to-five hours. - Hunter S. Thompson
    2. Re:Linux linkiing analogy by arkanes · · Score: 4, Insightful
      It depends on just how much your story is like LOTR. How much is too much is very subjective and depends alot on your lawyer and how convincing he is. It's the same for software except theres even less case law giving you a clear standard to work from.

      Basically, aside from clean rooming, there is no 100% way to ensure that you aren't violating copyright, in ANY field.

    3. Re:Linux linkiing analogy by kscd · · Score: 5, Interesting

      Derivative works in general are a grey area, but in your specific example I would have to say that you are in fact wrong. Not wrong according to the original U.S. copyright law, but definitely wrong according to what we have now. You say, "If I wrote a story that was derived from the LOTR...". That's it. You wrote a story derived, it's a deritave work. That simple. For example, let's say you would like to re-write Gone with the Wind from a slave's perspective. Completely different story (as you can imagine), but characters, plot, etc. derived from the original. If you did this, you would wind up in court, much like the person that did.

    4. Re:Linux linkiing analogy by jlar · · Score: 1

      Well, I don't think that it is a very subjective decision. If it is clear that you are making a rip-off of some copyrighted work you are guilty of copyright violation - period.

    5. Re:Linux linkiing analogy by Anonymous Coward · · Score: 0
      If I wrote a story that was derived from the LOTR then it would not be a derived work in the legal sense it would be copyright by me

      Someone has already thought about that.

    6. Re:Linux linkiing analogy by adrianbaugh · · Score: 5, Insightful

      So you're saying that it's okay for (say) nVidia to distribute a binary driver module (because it is new to the kernel rather than modifying it) but the bits that may require kernel modification or that hook directly into the kernel (their wrapper) do need to be open?
      Sounds fair enough to me.

      --
      "'I pass the test,' she said. 'I will diminish, and go into the West, and remain Galadriel.'"
      - JRR Tolkien.
    7. Re:Linux linkiing analogy by LawGeek · · Score: 1

      Yes, you are on crack. If you create a story based on Lord of the Rings, then assuming you were actually close enough to the story so that a reader knew you were basing your story on LOTR (roughly speaking), then yes, you have created a derivative work.

      Of course, as in source code, the issue of when a work becomes a legally derivative work is not at all clear and the legal tests for determining such are not very helpful.

    8. Re:Linux linkiing analogy by Ececheira · · Score: 2, Informative

      Yes, but Houghton Mifflin Company, the publisher of The Wind Done Gone, won in that case.

    9. Re:Linux linkiing analogy by Anonymous Coward · · Score: 0

      "Maybe I'm wrong here but perhaps this is a way to look at it. If I wrote a story that was derived from the LOTR"

      Lameness filter encountered: "really odd analogy", please re-phrase in terms of the question at hand

    10. Re:Linux linkiing analogy by danila · · Score: 1

      But what about a totally different story, like a story about a soldier in the Civil War, but with a few interface points, where he briefly meets characters from GWTW? This would be a better analogy, I suppose.

      In any case, I think those people who do not respect copyrights at all (I am one of them) don't need to worry about these kind of details. Whatever GPL says, if I want to use the code in a commercial product, I have as much right to do it as the person who will pirate my product after that. :)

      --
      Future Wiki -- If you don't think about the future, you cannot have one.
    11. Re:Linux linkiing analogy by vadim_t · · Score: 1

      Actually, there is an unofficial continuation of LOTR. There are several books by Nick Perumov that continue the story.

    12. Re:Linux linkiing analogy by Progman3K · · Score: 1

      >Whatever GPL says, if I want to use the code
      >in a commercial product, I have as much right
      >to do it as the person who will pirate my
      >product after that.

      I find your reasoning dangerous;
      It's like saying "it can be done, so it shall be done"

      Sort of like how "stealing" music has become so commonplace that people use the "everyone is doing it" rationalization.

      Think about it: Darl McBride, the CEO of SCO is actually trying to use that very defense to strike down the GPL.

      "Everyone steals code and stealing code is OK, so the GPL is unconstitutional, and everything should be public-domain"

      It's not a big step after that to legalize outright theft of literally anything, really.

      "I stole the person's belongings because I could and since everyone else is stealing, I don't have to be honest."

      I suppose then that the small will become the most oppressed, having no means to defend themselves or fight back, bystanders will say "why should I try to stop this? It's the law of the mighty and the swift.", and we shall have one world, as a hell under evil.

      Damn, I wish I could have shaken Teddy Roosevelt's hand when he organized the Rough-Riders (no, not the sports team).

      --
      I don't know the meaning of the word 'don't' - J
    13. Re:Linux linkiing analogy by mabhatter654 · · Score: 5, Insightful
      The nVida drivers are the clasic test case for this...

      Generally, if I sit down with Linux and write "hello world" using standard C calls and compile with normal methods, that's mine and not a derivitive work at all. The problem comes with drivers such as nVidia's. They are not just "windows" drivers with a wrapper for linux. They get into the system and re-route system API calls, much about with non-standard kernel features and the like. And that's the problem with "bianary" modules. The problem with nVidia's approach is that it's hard to tell where their drivers start and the kernel begins...heck, they could rewrite half the kernel and simply override it in their module, it would be hard to fiugure out for normal users...it's that poteitial for abuse that is the cause of such arguments.

      On nVidia's defence though, Ther was talk for 2.6 about removing the API calls they try to legally use in favor of others that would require 100% GPL code. That's also a problem because certian vocal parts of the community are actively trying to make the current scheme too "sour" for compaines like nVidia to publish their code. On a side note, there are certian things nVidia CAN'T publish if they have to use GPL! Much of the hardware they build is "patented" from outside sources...they would get into IBM/SCO style lawsuits...but without any cause to defend themselves! That leaves them [and us] with bianary drivers--or NO drivers.

      My opinion right now is that Linus is sticking his head in the sand on this issue...other stuff I've read he seems to fully support how nVidia is working, but then allows changes to APIs that clearly theaten that way of working???? This IS a key issue with linux...If companies can't use proprietary, binary modules to protect their/others IP, then Linux will never be a truly "first class" OS. What's needed is for the community to "standardize" the rules [make them just a bit more attractive to business?]...and stop the FSF and such from "legal creeping" against the people who go out of their way RIGHT NOW to support Linux.

    14. Re:Linux linkiing analogy by thesaur · · Score: 1

      Sorry, you missed the poster's point: there is no right to pirate, so consequently there is no right to incorporate GPL code into a commmercial product. That both _can_ be done is irrelevant.

    15. Re:Linux linkiing analogy by morgue-ann · · Score: 1

      Yes, but Houghton Mifflin Company, the publisher of The Wind Done Gone, won in that case.

      Not really.

      According to this, the injunction against publishing imposed by an Atlanta judge was overturned by the 11th Circuit Court of Appeals.

      The injunction was just a quick emergency remedy to stop "damage" occurring immediately. The Mitchell estate looked like they were going to sue, but a sealed settlement was reached. H-M has to make donations & maybe they have to give the Mitchell estate some portion of profits.

      That's hardly a victory.

    16. Re:Linux linkiing analogy by Ececheira · · Score: 1

      Trust me, it was a win. One of my family members was involved with the legal end of the case, on the Houghton side, and had the terms of the settlement not been favorable, they would have continued in court.

      In any case like this it always comes down to money--how much money will it cost to persue the case in court versus money donated to the school. Especially given that HMCo is primarily an educational publisher, giving money to a school is hardly a burden. In fact, it's most likely a tax write-off.

    17. Re:Linux linkiing analogy by Anonymous Coward · · Score: 1, Insightful

      I believe some words from Thomas Jefferson are fitting: "If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of every one, and the receiver cannot dispossess himself of it. Its peculiar character, too, is that no one possesses the less, because every other possesses the whole of it. He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me. That ideas should freely spread from one to another over the globe, for the moral and mutual instruction of man, and improvement of his condition, seems to have been peculiarly and benevolently designed by nature, when she made them, like fire, expansible over all space, without lessening their density in any point, and like the air in which we breathe, move, and have our physical being, incapable of confinement or exclusive appropriation. Inventions then cannot, in nature, be a subject of property."

      Now I'm not sure where you're coming from, but I don't think it follows logically at all to assume the free exchange of ideas somehow implies a complete disrespect for any and all notions of private physical property.

    18. Re:Linux linkiing analogy by morgue-ann · · Score: 1

      I think you're confused by another copyright vs. trademark issue. Derived works can be controlled by the owner of &copy on the original work, but copyright eventually expires. Trademarks last as long as they are maintained.

      You can make your own Hunchback of Notre Dame or Aladin derived story, but if you use the characters in a way similar to Disney, they might come after you on trademark dilution grounds.

    19. Re:Linux linkiing analogy by Anonymous Coward · · Score: 1, Interesting

      I know everyone is going to cry Troll on this comment, but when read something from Linux that says anytime you include a kernel header, the resulting object file is now under the GPL, I keep thinking of the Microsoft comment about how the GPL is a virus. I mean, what if you include a GPL'd header without even knowing it? You could conceivably inlcude a header that has no copyright notice in it, which is really big, and never notice that ten files down the include rathole, there lies a GPL'd header. You're roasted at that point. I guess you could argue that the devloper(s) didn't go a good job at due diligence, but come on. I need strncmp, I include string.h. I don't go sifting through to see what other headers I'm grabbing along with it. Obviously this is more important when writing kernel space code, but I think you get the point.

      With all the shit with SCO, GPL this and that, and what's free and what's not, I can only think that BSD would become more popular. I may switch my home machine from Linux to BSD just to be a dick. Most Linux newbies switched from windows just to be a dick

    20. Re:Linux linkiing analogy by jusdisgi · · Score: 2, Insightful

      "it's hard to tell where their drivers start and the kernel begins"

      Um, yeah, I can see how that would be a problem. Here, let me help:

      The drivers start at the beginning of the files you downloaded from Nvidia, and end at the end of those files. The kernel pretty much includes everything that was under /usr/src/linux before you installed the Nvidia drivers.

      After the installation, the nvidia modules are two files...a binary kernel module, and a binary XF86 module. The kernel is generally a single image at this point.

      I can see how this could be tricky...

      So anyway, in the larger sense, I agree with you that binaries ought to be allowed. However, I disagree that there is any question where the lines are drawn; if you use GPL code in your stuff, or statically link to it, your code must be GPL. If it doesn't, it doesn't have to be. That's really not that complicated, assuming you paid attention when you wrote the thing.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    21. Re:Linux linkiing analogy by tigga · · Score: 1
      So anyway, in the larger sense, I agree with you that binaries ought to be allowed. However, I disagree that there is any question where the lines are drawn; if you use GPL code in your stuff, or statically link to it, your code must be GPL. If it doesn't, it doesn't have to be. That's really not that complicated, assuming you paid attention when you wrote the thing.

      I completely agree.

      But for some reason Linus believes that anything that uses interface to kernel is derived work then and should be GPLed...

    22. Re:Linux linkiing analogy by Progman3K · · Score: 1

      Good point(s).

      In retrospect, it seems the original poster was saying the same thing I was trying to get at.

      Which is that people should behave in a civilized manner.

      What you posted seems to be saying that there should be no such thing as intellectual property... Is that a fair analysis?

      --
      I don't know the meaning of the word 'don't' - J
    23. Re:Linux linkiing analogy by jjjack · · Score: 1

      Umm, I think you're mistaken about one thing. The right to create derivative works is a clearly outlined exclusive right given to copyright holders. If you want to make a movie of someone's book, you have to get permission. Under the GPL, the copyright holder gives up the exclusive right to create derivative works, and anyone is allowed to do so, as long as any derivative works are also licensed under the GPL (I'm pretty sure you knew that already). But if you wrote a story that was obviously about LOTR, even if you didn't use the names, they would most likely have grounds to sue for infringement.

    24. Re:Linux linkiing analogy by Anonymous Coward · · Score: 0

      Jefferson seems to have thought that it's not so much a matter that there "should be" or "shouldn't be" as it is a case that there is no natural tendency for ideas to behave in the same fashion as physical property. The quote continues to point out that a government can make up systems to do so, but that they probably won't have any net positive effect (that is better than simply having no system at all).

    25. Re:Linux linkiing analogy by rifter · · Score: 2, Informative

      But for some reason Linus believes that anything that uses interface to kernel is derived work then and should be GPLed...,/i>

      No he doesn't. RTFA. He specifically used NVidia did not have to GPL the drivers. I don't understand at all where this confusion comes from. It is really pretty simple. Derived works are GPL. Works which are not derived are not GPL. So if you have to include code from the kernel your work shoudl be GPL. If not, then no. This is why the Nvidia wrapper is GPL and the rest of the driver is not.

    26. Re:Linux linkiing analogy by dgatwood · · Score: 3, Interesting
      My favorite would be:

      If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.

      ---George Bernard Shaw

      --

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

    27. Re:Linux linkiing analogy by Anonymous Coward · · Score: 0

      Most Linux newbies switched from windows just to be a dick

      With a comment like that, you certainly deserve to be modded a troll.

      You could conceivably inlcude a header that has no copyright notice in it, which is really big, and never notice that ten files down the include rathole, there lies a GPL'd header.

      If what you say is true, that merely including a GPLd .h file means your project must be GPL too, then any header file that included a GPL header would have to be GPL too, and thus include a notice, so you wouldn't need to read several files into it to find out if you were using a GPLd header.

    28. Re:Linux linkiing analogy by danila · · Score: 1

      In retrospect, it seems the original poster was saying the same thing I was trying to get at. Which is that people should behave in a civilized manner. What you posted seems to be saying that there should be no such thing as intellectual property... Is that a fair analysis?

      Well, I even said that I am one of the people who do not respect copyrights at all. If you are ok with simplifications, yes, I think there should be no such thing as intellectual property. I believe that the available evidence suggests there is a net negative effect from copyright/patent/trademarks system. While these can be applied successfully in some areas, overall they have outlived their usefulness. Personally I am fine with everyone using all my ideas and intellectual creations in any way possible. I might hate the final result, but I recognise people's right to use my ideas freely.

      --
      Future Wiki -- If you don't think about the future, you cannot have one.
    29. Re:Linux linkiing analogy by xenocide2 · · Score: 1

      The deal with telling where the kernel stops and the driver module originates with Alan Cox's complaints about nvidia drivers really screwing the whole damn kernel up; users submitting bugs swearing that the nvidia drivers weren't installed, and Mr. Cox unable to fathom where the origin of certain oft repeated bugs lie. From this arose the "tainted" variable. If non GPL'd code is insmod'd into the kernel, it gets set (and apparently gets set again on athlon smp). I agree with Mr. Cox's approach; if Nvidia can't be bothered to release the source to the community then they should either be prepared to support their own buggy drivers or lose community appeal to other companies willing to take their place (ATi comes to mind).

      Personally, I'd be pissed if 2.6 dropped binary module support -- I just finally got those damned nvidia drivers to work properly! Its nice to go from 50 glxgears frames to 800 (why no more? im guessing the cpu is the bottleneck, or possibly ram). While I'd love to see open source drivers for nvidia chipsets that work well, when forced to chose between shitty drivers and binaries drivers, I'll choose binaries, thank you. I've had my fill of nv.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    30. Re:Linux linkiing analogy by xenocide2 · · Score: 2, Informative

      Are you nuts? I know there's actually more than three sentences in the article-- I read it myself -- but do please try from time to time to read the damn thing. Linus emphatically does not believe "that anything that uses interface to kernel is derived work." Linux offers two levels of intimacy with the kernel. One has very few entry points for module to kernel, something you might expect from a driver that really doesn't use the kernel. The other, the one with the "gpl symbols" offers access to a wide set of toys.

      Also watch out when using the word "use," its vague and open to interpretation. The GPL itself uses the word 4 times in specific contexts; two of these are in the "CAPITAL TEXT WARNING - NOT FIT FOR HUMAN CONSUMPTION" clauses. The kerneltrap.org article had a posting concerning this very word. Since I like to encourage reading, you'll have to do the homework as an extra credit exercise.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    31. Re:Linux linkiing analogy by jusdisgi · · Score: 1

      "when forced to chose between shitty drivers and binaries drivers, I'll choose binaries, thank you. I've had my fill of nv."

      HAHAHAHAHA!!!! Yeah. Damn straight.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    32. Re:Linux linkiing analogy by Pharmboy · · Score: 1

      With all the shit with SCO, GPL this and that, and what's free and what's not, I can only think that BSD would become more popular.

      You really raise a good point. I am trying to move from Windows to Linux, but the whole GPL "issue" raises concerns. I don't do any real programming myself, but I do USE programs and it seems that several companies are hesitant to develop for Linux, partially because of the GPL.

      The GPL itself is pretty straight forward and easy to understand once you get past the idea that it is very different from the typical EULA, but all the ramifications are not always evident.

      I am trying BSD as well, but the lack of a good installer is a problem. So is the fact that it is much harder to make changes if you are used to Linux and Windows, and the many easy config tools. I know BSD has several but I haven't found as much info on the web for BSD. I also know BSD is a superior OS to Windows, and in large part, to Linux (even Linus has been quoted that his biggest mistake was not using a Mach kernel). No flames please, its just a fact.

      Now that RedHat has abandoned the desktop (and I had several years into learning it) BSD starts looking better and better. Maybe if IBM and Novell get SuSe more accessible, it will be a decent alternative, but the GPL issues still remain.

      --
      Tequila: It's not just for breakfast anymore!
    33. Re:Linux linkiing analogy by nathanh · · Score: 1
      If companies can't use proprietary, binary modules to protect their/others IP, then Linux will never be a truly "first class" OS.

      Why? Many people make this claim but what is the rationale?

      My definition of "first class" OS is one that is reliable, scalable, manageable, supportable, high-performance, feature-rich, low-cost, etc. None of that requires closed-source binary-only modules.

      The only possible argument is that certain IP (patents, copyrights, trade secrets) needs to remain closed-source binary-only before they can be used in Linux. Of course, patents cannot be closed-source by definition (the method must be public knowledge) and RCU proves that patented IP can be used in Linux as open-source code. Trade secrets and copyrights? The thing about trade secrets and copyrights is that if we independently create them, they are ours forever. We don't need closed-source binary-only implementations, because we can write our own unencumbered versions. It might take longer but since when do we have to be impatient in our quest for world domination?

      Therefore I claim that you are wrong. I assert that closed-source binary-only drivers are not required for Linux to be a "first class" OS.

    34. Re:Linux linkiing analogy by Spoing · · Score: 1
      My opinion right now is that Linus is sticking his head in the sand on this issue...other stuff I've read he seems to fully support how nVidia is working, but then allows changes to APIs that clearly theaten that way of working????

      Linus himself says very little on the whole binary vs. source module issue.

      The concensus on the list is that since Linux is licenced under the GPL it is up to the maker of binary-only modules to support them. The kernel and modules are designed to be a single unit, and compiled as a set. That means that when the kernel changes, the modules are changed as well -- sometimes not just the entry points, but also the internal APIs. Extentions to Linux should be in user space, not in the kernel. If a module needs to be in the kernel, the mainline kernel developers aren't going to bother working on someone else's code if they won't show the code!

      This is discussed multiple times on the Linux kernel mailing list.

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    35. Re:Linux linkiing analogy by Liam · · Score: 1

      I also know BSD is a superior OS to Windows, and in large part, to Linux (even Linus has been quoted that his biggest mistake was not using a Mach kernel). No flames please, its just a fact.

      How can you "know" an opinion? Regardless, if you've followed Linus' statements on microkernels, you know your statement on Mach is precisely the opposite of fact. And what does Mach have to do with BSD anyway?

      --
      Liam Healy
    36. Re:Linux linkiing analogy by Progman3K · · Score: 1

      >net negative effect from copyright/patent/trademarks system

      Yes all of us working together trying to fix problems instead of clogging the courts...

      Sounds like a plan.

      One thing is certain; it would take a radical change in both people's attitude and the systems of government we currently have in place.

      >I might hate the final result

      People could even use the things you invent in destructive ways, but that's always true anyway.

      Ironically, the very first software application; calculating ballistics to target ordnance.

      Governments have even been zealous enough to use scientists to create nuclear weapons!

      It seems to me that at best, we have a failure to communicate.

      --
      I don't know the meaning of the word 'don't' - J
    37. Re:Linux linkiing analogy by Crazy+Eight · · Score: 1
      even Linus has been quoted that his biggest mistake was not using a Mach kernel

      What are you talking about? Linus thinks Mach is utter crap on principal and in implementation.

      We should also note that Mach has absolutely nothing to do with BSD, Redhat has not abandoned the desktop, and the GPL has no impact whatsoever on whether or not companies will develop userland software for Linux.

    38. Re:Linux linkiing analogy by AndyCanfield · · Score: 1

      "The ... drivers ... get into the system and re-route system API calls, much about with non-standard kernel features and the like. And that's the problem with "bianary" modules. The problem with nVidia's approach is that it's hard to tell where their drivers start and the kernel begins...heck, they could rewrite half the kernel and simply override it in their module..." Maybe that's why my Linux crashes so often. Linux seems to be well protected against application bugs, but helpless against driver bugs. If "driver_space == kernel_space" then "driver_bug == kernel_bug". The real question is not whether you can release binary-only drivers, but WHETHER YOU OUGHT TO BE ABLE TO RELEASE BINARY-ONLY DRIVERS. As it seems to stand now, if we crack down on such drivers anyone with NVidea hardware has to run Windows. Wouldn't it make sense to allow a driver to be as proprietary as the hardware it drives?

  2. It's really simple by ObviousGuy · · Score: 2, Informative

    If a module is "based upon" GPL code, then it must be released under the GPL as well.

    If a module is not "based upon" the GPL code, then no such restriction exists in regards to its licensing.

    In fact, you could say that the Linux kernel in a particular system was "based upon" these closed modules, but it is difficult to argue in the other direction.

    --
    I have been pwned because my /. password was too easy to guess.
    1. Re:It's really simple by Anonymous Coward · · Score: 0
      If a module is "based upon" GPL code, then it must be released under the GPL as well.

      Says who?

    2. Re:It's really simple by ajs318 · · Score: 3, Informative

      Says this. Copyright law demands permission to base things on other things.

      --
      Je fume. Tu fumes. Nous fûmes!
    3. Re:It's really simple by mattjb0010 · · Score: 2, Informative

      Also see this

    4. Re:It's really simple by Anonymous Coward · · Score: 0
      If a module is "based upon" GPL code, then it must be released under the GPL as well.

      You must release it under the GPL if and only you distribute it. If you keep it for yourself, there are no obligations.

    5. Re:It's really simple by ajs318 · · Score: 2, Interesting

      You put two programmes on the same CD => they are not necessarily anything to do with one another. As long as you have permission from the copyright holders of both, that's fine.

      You write a programme that interacts intimately with another other than via the established interfaces for user space => they definitely have something to do with one another. Your programme may well be a derviative work. If it makes use of any information obtained from another programme {e.g. a .h file in an obscure -devel package} then it is quite clearly a derived work.

      Wouldn't life be so much simpler if the law just said that you have to disclose your source code, no exceptions?

      --
      Je fume. Tu fumes. Nous fûmes!
    6. Re:It's really simple by mackstann · · Score: 1, Troll

      I'm not sure how this is +5 informative, it's obvious you missed the point.

      The whole debate is about the *definition* of what is derivation and what is not; it's a big grey line.

      RTFA!

    7. Re:It's really simple by anpe · · Score: 4, Insightful

      I think you've missed the point, the problem is to define what does "based upon" means.
      When you compile a binary, you have to compile with some header files which are GPLed. So you are "based upon" GPL code right?
      IIRC Linus argued that this wasn't sufficient. He stated that for a module needed to be written with Linux in mind (ie targeted at it), accessing particular data structures, then it would have to be GPLed.

    8. Re:It's really simple by anthony_dipierro · · Score: 1

      No, copyright law demands permission to create derivative works. Not everything based on something else is a derivative work.

    9. Re:It's really simple by Anonymous Coward · · Score: 0

      > In fact, you could say that the Linux kernel in a particular system was "based upon" these closed modules, but it is difficult to argue in the other direction.

      And yet, you are exactly wrong.

      Linux preceeded modules. Something cannot be "based upon" something that doesn't exist.

      In fact, modules cannot stand on their own, cannot function without Linux, nor would they exist had Linux not existed. They are not parodies, and their commercial nature surely removes them from the realm of fair-use.

      As grey as certain areas of derivative works may be, modules aren't likely one of them. Modules are, and almost without agrument on Copyright alone, covered by GPL.

      Look at it this way...

      A story presents a two facets. First, it must be fixed in a tangible media (to be subject to Copyright at all). Second, it must be subject to perception by "someone", again because if it were not it would sellable.

      The only notion of "grey" here is to whom does Linux provide the notion of perception? Mind you that "grey" is 99% saturated against modules. Here's why...

      Linux is nothing without Userspace. Clearly the author's intent in writing Linux was to provide perception to the end-user of a Userspace. Conceptually, an end-user program (programer) "reads" Linux more than it depends upon it.

      By definition, modules change the story Linux presents, and Copyright infringement starts at MODIFICATION -- not DISTRIBUTION. Your right to modify a work is granted in the GPL, every such work becomes subject to the GPL (although the GPL does not mandate your distribution of same.)

      And -- YES -- all those super secret in-house Corporate applications that incorporated GPL code *ARE* GPLed. We imgaine, however such systems are not likely to be distributed.

      GPL is a license that provides you permission to exceed the statutory limits of Copyright. Since the modification of a story to alter it's perception is a Copyright infringement, the GPL is your ownly guide.

      Copyright does NOT apply to concepts. It applies to each and every physical image of something. When an author links that disk file, known as a module with GPLed code, that file becomes GPLed too (else they choose not to engage that market at all). It would be impossible to write something as complex as a binary module without THE AUTHOR ever testing it. (So, forget arguments about how YOU are allowed to create non-distributable GPL abominations. This starts with the author.)

    10. Re:It's really simple by jusdisgi · · Score: 1

      BUT THAT ISN'T A PROBLEM AT ALL!!!!

      Sorry for the shouting, but I'm starting to get annoyed as I read this over and over in this story. There is ABSOLUTELY NO AMBIGUITY in the GPL concerning what code must be re-GPLed and what avoids that restriction. Anything into which you copied previously GPLed code (that wasn't also available under a different license), or which you statically-linked to GPL code, MUST BE GPL.

      If you didn't do either of those two things, you are safe!

      This is not that fucking complicated.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    11. Re:It's really simple by morgue-ann · · Score: 2, Interesting

      Anything .... which you statically-linked to GPL code, MUST BE GPL.

      What about dynamically linking to code that's contained in a cramfs in the same ROM as the closed-source code?

      This isn't an artificial example. I write digital camera firmware. We'd like to use the MAD mp3 decoder library (GPL'd), so how 'bout we elf2flat it, stick it in a compressed ramdisk image in ROM, then use (a tweaked) NetBSD ld.elf_so to load it?

      [note: we're planning to contact the MAD author & try to negotiate a license so we don't have to try the trick above]

    12. Re:It's really simple by tigga · · Score: 1
      Copyright does NOT apply to concepts. It applies to each and every physical image of something. When an author links that disk file, known as a module with GPLed code, that file becomes GPLed too (else they choose not to engage that market at all). It would be impossible to write something as complex as a binary module without THE AUTHOR ever testing it. (So, forget arguments about how YOU are allowed to create non-distributable GPL abominations. This starts with the author.)

      We confusing issues, right? For linking issues there is a LGPL.

      In case of kernel modules (on-topic) you may not link them at all. You create clear-room implementation of kernel interfaces (they are just concepts) and everything else may be proprietary. GPL is about source code modification - if no code was modified from GPLed sources - then new code not under GPL.

    13. Re:It's really simple by Anonymous Coward · · Score: 0

      > There is ABSOLUTELY NO AMBIGUITY in the GPL
      > Anything ... which you statically-linked to GPL code, MUST BE GPL.
      > If you didn't do either of those two things, you are safe!

      I'm sorry, but could you point to the part of copyright or case law that says that?

      Didn't think so. In fact the whole topic of "derived works" with software is very much up in the air. And the GPL very much depends on that for things like drivers or plugins.

      Stallman, Linus, etc will fully admit there is ambiguity there and recommend that you speak with a lawyer. Many people in the opensource world wish to exploit this ambiguity for their goals. So, basically, you're wrong.

    14. Re:It's really simple by Anonymous Coward · · Score: 0

      > We confusing issues, right?

      Not at all. What you "get" when you read a book is a concept. Modification of the book, modifies your concept.

      The fact NVidia wants to modify your conceptualization of Linux, does not permit them to modify the Linux work to do so.

      Bottom line, Copyright really is quite simple.

      Under Copyright, NO PATTERN OF BITS produced by one author is permitted to changed by another -- in any way whatsoever.

      Under Copyright, NO PATTERN OF CONCEPTUALIZATON, as confered by the bits upon the "reader" is permitted to be modified using any of those bits, or derived from them. (You and I can write love stories (concept), you cannot, however, use my charactors in your story, nor may you add charactors of your own to change to my story and call it yours).

      > You create clear-room implementation of kernel interfaces

      Really? And how might one do that? By reading Linux, and creating an identical story? "Cleanroom" means none of the authors ever read the origional code.

      To get around the binary module issue you would have to explain how Joe, just stepped out off the spaceship, Coder would ever be able to come up with a workable Linux module WITHOUT THE ADVANTAGE OF SEEING THE CODE. (Himself, or through a predicessor)

      Can't be done. Linux acts like Unix V, they look nothing alike inside. Drivers for Unix V, Linux, and BSD are limited to the respective work upon which they are based.

      Thus, Modules are "based on" Linux under every definition of the Copyright Acts.

      Thus, Modules are subject to GPL.

    15. Re:It's really simple by jusdisgi · · Score: 1

      "I'm sorry, but could you point to the part of copyright or case law that says that?"

      No, because it isn't a matter of case law; it's WRITTEN EXPLICITLY IN THE GPL.

      And if you read any of Linus or Stallman's comments, they absolutely do not ever suggest that anything must be GPL that doesn't either incorporate GPL code or statically link to GPL code.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    16. Re:It's really simple by jusdisgi · · Score: 1

      "What about dynamically linking to code..."

      You just answered your own question. Is it statically linked? Does it incorporate GPL code?

      No, and no, so I'm pretty sure you're fine.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    17. Re:It's really simple by anpe · · Score: 1

      I understand. I just wanted to point out *what* was actually discussed in the lkml. Point that my parent post seemed to have missed. As IANAL, I think we need a ruling to know exactly what a *judge* would define as a boundary...

    18. Re:It's really simple by morgue-ann · · Score: 1

      But the GPL doesn't exclude all dynamically-linked code from the derivative work clause (2b). That's just a convention which I suppose came from the examples in the FSF's FAQ.

      However, the example (of mere aggregation) is talking about general-purpose computers. It is not reasonable to assume this example applies to all systems.

      Some have the opinion that Broadcom wireless chip drivers included in the WRT54G's firmware must be open source. The reasoning seems to follow mine: the firmware is one lump and therefore a single "work", not multiple (GPL and proprietary) works aggregated.

      The WRT54G is tricky because it appears that Linksys statically linked some GPL and closed code together also. However, there are some (Andrew Miklas is one) who think that even if they released all code statically linked to GPL code (which they might have done now- see Seattle Wireless's pages on hacking the WRT), that wouldn't go far enough.

    19. Re:It's really simple by jusdisgi · · Score: 1

      Wow.

      Reading through, I see what you mean. Thanks a lot for that post. Next time I get some modpoints...uh...

      --
      Given a choice between free speech and free beer, most people will take the beer.
  3. Pragmatism by nepheles · · Score: 4, Insightful

    A certain amount of pragmatism has to prevail here -- were binary modules disallowed, the phrase 'shoot yourself in the foot' jumps to mind. Linux is probably better off with them, as it lowers the entry barrier to companys wishing to contribute. And that's rarely a bad thing.

    --
    ((lambda x ((x))) (lambda x ((x))))
    1. Re:Pragmatism by pe1rxq · · Score: 5, Insightful

      When binary modules are allowed it doesn't help linux in any way....

      Just look at the nvidia drivers: The only thing you get are kiddies yelling that nvidia has such great linux support. Meanwhile linux didn't get any better from it, kernel developers get lots of bug reports caused by the nvidia black box (One of the reasons the 'tainted' flag was introduced), I still can't use the nvidia cards on platform not-quite-obscure-nividia-just-didnt-bother-compil ing-their-driver-for-it, and most importantly you don't know what the driver is doing on your system (its a black box afterall)

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    2. Re:Pragmatism by LizardKing · · Score: 4, Insightful

      Binary modules may "lower the entry barrier" for some companies, but it can end up being counter productive. Binary only drivers have tended to be crude ports of Windows drivers, and frequently crash the users kernel. This results in bug reports that the regular kernel hackers can't solve, and a misconception amongst users that Linux is unstable.

      Far better would be if companies jumped wholeheartedly into the Linux way of doing things, and published their drivers under the GPL. Their competitors aren't going to get much of a leg up from seeing the source to most drivers, especially those for network adapters and the like, but the vendor can benefit from bug fixes provided by independent kernel hackers.

      Chris

    3. Re:Pragmatism by BESTouff · · Score: 4, Interesting
      Nope. Having binary modules only stops developers from trying to make their own, so you end up with proprietary, non-debuggable and non-portable (across kernel versions or across architectures) drivers. There are for example winmodem drivers you can only use on a 2.2 kernel, or the famous nvidia drivers which work only on i386. Even if this helps the casual gamer (which would be waaay better running Windows anyway), this is in fact a regression from the free software perpective.

      Imagine a future where you install your core Linux kernel, then download a ton of different binary modules from different websites, have to hunt in the forums to mix-and-match the right versions, and end up having bugs nobody won't fix ? Think about it, that's what you want when you allow "pragmatism".

    4. Re:Pragmatism by Hobbex · · Score: 1

      But it isn't like somebody is sitting around considering whether they should be allowed or not. The kernel is under the GPL, with no expections, and unlike the GNU software where the FSF owns the copyright of the entire thing, everybody who submits to the kernel has kept copyright for their own patches. The linux kernel has thousands of owners, and it would be litterally impossible to change the license now.

      So all we can do is try to decipher the meaning of the license that the kernel is already under. Whether that license permits binary modules or not doesn't depend on whether we want it to, but whether they are derived works in the legal sense.

      Personally I have always found the argument that linking makes something a derived work very questionable, especially for things like java where linked class files contain little other than the class and method names that they link to. If a java class that calls another is a derived work, then that is yet another dumb copyright law. However, I think that Valdis Kletnieks point about inlining very persuasive. I have a very hard time seeing how a binary module that contains snippets of object code directly compiled from GPLed methods in the kernel (because they were inlined) could possibly be anything but unauthorized distribution.

    5. Re:Pragmatism by GammaTau · · Score: 1

      A certain amount of pragmatism has to prevail here -- were binary modules disallowed, the phrase 'shoot yourself in the foot' jumps to mind.

      I don't know if you've fallen for this but one common misunderstanding is that Linus or some other individual kernel developer would be able to decide to what extent binary modules are allowed. In reality, this decision was made when the GPL version 2 was adopted as the license for Linux. Now there is only speculation about what the copyright law says, what the GPL says, and what the courts would say if it ever got to court some day. Each kernel contributor has the option to sue or not to sue but the license and copyright law are what they are and there is very little any kernel contributor can do about them. They can speculate how things are but they really can't make a decision to change anything. Relicensing Linux would require permission from all the contributors which is, for practical purposes, a mission impossible.

    6. Re:Pragmatism by jusdisgi · · Score: 5, Interesting

      Whatever man, those modules aren't that bad.

      1)I'm interested to see these bug reports due to the "nvidia black box"...you are aware that a good chunk of this thing (and all the kernel interface) is available in source, right?

      2)And what's this about not having one compiled for your archetecture? Have you ever installed these? I did it this morning; I typed one command, a menu prompted me to accept a license, then looked for a version on nvidia's ftp site, didn't find one. So it compiled one for me. This was all every bit as easy as running a WISE installer in windows. That is, as long as you can read the instruction on the site where you downloaded the thing from that says "type 'sh nvidia-thingie'"

      I have run a lot of video cards in a lot of Linux boxes. Some had open source drivers; most of these were good, a couple were not. Some had no drivers available, and I had to use a generic driver. Sometimes this worked, and sometimes it didn't. If I have my choice, I use an nvidia board...the drivers are easy to install, they're fast, you don't have to worry about getting the right module, and most of all they have a knack for just working immediately.

      I wish those drivers were FOSS, but they aren't. I'm not too proud to run them.

      Now...if I can just get the 3d on this ATI mobile radeon IGP320M going......

      --
      Given a choice between free speech and free beer, most people will take the beer.
    7. Re:Pragmatism by Anonymous Coward · · Score: 1, Interesting

      With the nvidia drivers I get a good refresh rate (maximum for my monitor, yay), decent 2d performance, and great 3d performance (equal with windows).

      This enables games to run with as fast or faster performance than windows. Games are the most benchmarked thing on computers, and it enables Linux to get its name in there and some more exposure.

      Sure I would prefer open source drivers, but for me; the Nvidia drivers have caused me little grief, and I get to use all of the features of my (formerly) expensive video card.

    8. Re:Pragmatism by jusdisgi · · Score: 4, Insightful

      Well, the trouble is, the drivers to products that really are trivial (those NICs you mentioned) are already available, because those companies agreed with you and released drivers openly or at least released information, allowing the community to produce them.

      But some products aren't that way; nvidia, for instance, at least *says* they have IP tied up in the binary part of their drivers that they can't afford to let competitors (ATI) get ahold of. I don't know whether it's the truth.....I haven't seen the code!

      --
      Given a choice between free speech and free beer, most people will take the beer.
    9. Re:Pragmatism by October_30th · · Score: 5, Interesting
      Meanwhile linux didn't get any better from it

      Yes it did. I get proper OpenGL acceleration on my Linux box now.

      not-quite-obscure-nividia-just-didnt-bother-compil ing-their-driver-for-it

      You know, if the installer cannot find pre-compiled drivers for your card, it will compile them for you. How's that for service?

      most importantly you don't know what the driver is doing on your system

      Yeah, right. Have you ever read through the code of your LAN card driver, too? How about the USB controller and SCSI-card? Most important of all, how many driver exploits have you heard of either in Windows or Linux?

      --
      The owls are not what they seem
    10. Re:Pragmatism by Anonymous Coward · · Score: 0

      Contrary to your belief, I bet the nvidia modules provide far better opengl support, functionality, and acceleration than any other GPLd, LGPLd, BSDd, ... driver. Not that they couldn't but nvidia would never have released the full documentation to a 3rd party for driver development, or if they did they'd have required the source stay closed. Either way, we would have a fourth-rate driver with minimal support.

      Now I can have full support for my nvidia cards, and while I wish they were GPLd I realize that at this point in time that simply isn't going to happen. So I live with it.

    11. Re:Pragmatism by MS_is_the_best · · Score: 4, Interesting

      Yes it did. I get proper OpenGL acceleration on my Linux box now.

      That is true and an advantage. Unfortunately the drawbacks are perhaps larger (depends on your opinion). An open driver with the same performance would be better (but perhaps impossible).

      You know, if the installer cannot find pre-compiled drivers for your card, it will compile them for you. How's that for service?

      Nope, only the interface around the binary core is compiled, not the driver itself.

      Yeah, right. Have you ever read through the code of your LAN card driver, too? How about the USB controller and SCSI-card? Most important of all, how many driver exploits have you heard of either in Windows or Linux?

      Yes, I have. Lots of others have done this too. Being able to look up the source in case of network troubles is really a great help. The debug mode of the driver is very helpful, the source even better.

    12. Re:Pragmatism by starsong · · Score: 5, Insightful

      Imagine a future where you install your core Linux kernel, then download a ton of different binary modules from different websites, have to hunt in the forums to mix-and-match the right versions, and end up having bugs nobody won't fix....

      We have that under Windows! They're called "drivers."

    13. Re:Pragmatism by October_30th · · Score: 1
      Nope, only the interface around the binary core is compiled, not the driver itself.

      So? It works even though NVidia didn't compile it for you. That was your original gripe.

      --
      The owls are not what they seem
    14. Re:Pragmatism by zurab · · Score: 4, Insightful
      When binary modules are allowed it doesn't help linux in any way....


      In certain cases, manufacturers can provide open source modules, but many times, there simply is no viable way. Complex hardware or hardware/software combination is usually covered by multiple patents, trade secrets, copyrights, and various agreements between different parties. In such cases asking hardware manufacturers to open up their internals and provide modules open source is like asking Linus to provide Linux under license other than the GPL. In neither of those cases is a single party is in control of all of the "intellectual property" involved; and it is virtually impossible to get all parties involved to agree to such a request.
    15. Re:Pragmatism by Catskul · · Score: 1

      I am inclined to agree with you, however I can think of a similar example that is already possible.
      Imagine using the Linux Kernel in an otherwise propriatary setup:
      i.e. propriatary shell,
      windowing system,
      compiler,
      browser,
      office sofware,
      database,
      media player,
      Instant messenger,
      email client.

      This is all already possible.
      In fact, I believe that there are PDAs out there that do just that.

      --

      Im not here now... Im out KILLING pepperoni
    16. Re:Pragmatism by _Spirit · · Score: 4, Insightful

      So you would rather have nvidia making no drivers at all for Linux? In an ideal world I might agree with you, but in the real world I suspect most Linux users would rather have support for their video card.

      --

      beauty is only a light switch away

    17. Re:Pragmatism by Anonymous Coward · · Score: 0

      this is so right on the money...with nvidia jacking with the drivers and all.

      they've been caught numerous times, but the stuff we can't see is what would probably astonish us.

    18. Re:Pragmatism by ocelotbob · · Score: 1
      So? It works even though NVidia didn't compile it for you. That was your original gripe.
      Only if you're running the x86 architecture. If you're running a different architecture, say, PowerPC, then the nVidia binary driver simply won't work.
      --

      Marxism is the opiate of dumbasses

    19. Re:Pragmatism by pe1rxq · · Score: 4, Insightful

      In most cases hardware/software is believed to be the next best thing since sliced bread by management.....
      Most drivers do NOTHING that justifies keeping the code under lock like it is done today.
      Most drivers simply push data to the right place and fiddle with registers in the right way. There is nothing the competitor wouldn't have already thought off.
      If youre competitor has to learn from your driver they are atleast two generations behind you and you have nothing to fear.
      Its a corporate culture that is the problem, not patents (which already are open for anybody to see anyway), trademarks or trade secrets.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    20. Re:Pragmatism by pe1rxq · · Score: 4, Insightful

      Linux will get is name far faster by being accepted on the corporate desktop. There you don't need gaming performance, you don't need 3d performance.
      What good is acceptance if it means a ton of binary only drivers? Acceptance is useless if you lose the biggest advantage linux has: free (speach) SOURCECODE!!!

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    21. Re:Pragmatism by October_30th · · Score: 2, Insightful
      What good is acceptance if it means a ton of binary only drivers? Acceptance is useless if you lose the biggest advantage linux has: free (speach) SOURCECODE!!!

      And what good is having free but sub-par reverse engineered drivers that no-one except for the most idealistic zealots would care to use voluntarily?

      As always, taking the middle ground is the best option. Sure, keep Linux core free but don't stop people and companies from interfacing it with binary only modules.

      Give people the freedom to choose. If you are not willing to risk having them to choose "the wrong option" you're not giving them freedom at all.

      --
      The owls are not what they seem
    22. Re:Pragmatism by Spoing · · Score: 2, Funny
      Imagine a future where you install your core Linux kernel, then download a ton of different binary modules from different websites, have to hunt in the forums to mix-and-match the right versions, and end up having bugs nobody won't fix ? Think about it, that's what you want when you allow "pragmatism".

      Hey! That would make Windows user feel right at home! LET'S DO IT!!!! (leaps behind flame-proof barrier)

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    23. Re:Pragmatism by joaha · · Score: 1

      It is a regression. But that doesn't make the reverse engineered driver work any better. If I want to buy (hypothetically) better hardware and use/ struggle with binary modules instead of maybe help reverse engineer a driver, I think that's my problem. If I whine about my system not working at lkml -- just ignore me or taunt me for being stupid enough to use that hardware.

    24. Re:Pragmatism by John+Courtland · · Score: 3, Insightful

      I think he's stating that it's more that there are so many legal hoops to leap through because of cross-manufacturer and cross-corporation mingling, that it simply isn't feasible to open up the drivers. Getting approval from all involved parties is a daunting task. Now-a-days, the video driver does a lot more than just fiddle with registers and memory, especially if there are vertex/pixel shaders involved. There's quite a bit of compiler technology in the current driver releases from nVidia and ATI.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    25. Re:Pragmatism by MechaStreisand · · Score: 1
      I have a very hard time seeing how a binary module that contains snippets of object code directly compiled from GPLed methods in the kernel (because they were inlined) could possibly be anything but unauthorized distribution.
      It could also be fair use. You know... that section of copyright law that lets you use tiny portions of a copyrighted work? I think inlined code would fit into that category. And if it doesn't, then copyright law is itself pretty fucked up.
      --
      Disclaimer: IANAL. This post is, however, legal advice, and creates an attorney-client relationship.
    26. Re:Pragmatism by Anonymous Coward · · Score: 0

      You picked great examples: winmodems and video drivers.
      The main point for this modules is not controlling h/w (I am maintaining one of such binary drivers, so my position is not quite objective), but various DSP and controlling stuff.
      I think winmodems vendors and video drivers vendors can make most h/w related code and OS interface code opensource, and some of them do.
      But they will never open source the core controlling code that is the main engine that drives the sales in windows. They will stop linux support if they would need to open source all the code. Nobody will benefit from this.
      I think it is a good point to ask such vendors to make h/w code and kernel interface code open source, this will help installing those driver with different kernels.

    27. Re:Pragmatism by fucksl4shd0t · · Score: 1

      Personally I have always found the argument that linking makes something a derived work very questionable, especially for things like java where linked class files contain little other than the class and method names that they link to. If a java class that calls another is a derived work, then that is yet another dumb copyright law.

      In C++, anyway, when you link dynamically, I think the difference is quite clear. First, your application cannot depend on the class. I.e. it must be able to function without the class, or have several alternatives available. Then, consider this code snippet:

      class HelloWorld : MyClass, MyOtherClass, GPLClass

      // or...

      GPLCLass MyInstance = new(GPLClass);
      MyInstance.GetSomething(somethingelse);

      In the first class, you have literally derived from the other class. In the second case, you haven't actually derived from the class, you've just used it. Maybe I'm missing something, but it seems to me that in the second case, if your program can function if GPLClass isn't available, it doesn't have to be GPL.

      Of course, I'd like to see copyright law rewritten to make all software GPL. :)

      --
      Like what I said? You might like my music
    28. Re:Pragmatism by kyz · · Score: 5, Informative

      you are aware that a good chunk of this thing (and all the kernel interface) is available in source, right?

      I'm a programmer. None of the NVIDIA core is available as source. None of the NVIDIA GLX is available as source. The only source provided is a small kernel interface. Even if you're not a programmer, notice the compiled file sizes: nv-linux.o (wrapper) = 47Kb. nv-kernel.o (binary-only NVIDIA core) = 1.8Mb. The nv-linux.o source code is just over 6000 lines of code. Extrapolating, NVIDIA are keeping over a quarter of a million lines of code out of our site, and that's just the kernel module!

      what's this about not having one compiled for your archetecture? Have you ever installed these?

      I have -- for an IA32 architecture consumer/home PC. Have you installed one on a SPARC box? You can't! NVIDIA don't provide a SPARC architecture build. Have you installed one on a RISC PC? You can't! NVIDIA don't provide an ARM architecture build. Have you installed one on an iMac? You can't! NVIDIA don't provide a POWERPC architecture build.

      I have run a lot of video cards in a lot of Linux boxes.

      You sound like an unreformed Windows-using home/consumer PC builder. "Just download drivers from the manufacturer's support site" is the worst possible form of providing hardware support in an operating system.

      --
      Does my bum look big in this?
    29. Re:Pragmatism by femto · · Score: 3, Insightful
      > ...there simply is no viable way.

      Rubbish.

      What you should have said is "...there is a lack of will."

      The problem is that the companies don't want to release the source not that they cannot. Once they start looking serious sales volumes, due to being excluded from the Linux kernel, companies will find the will to release source.

    30. Re:Pragmatism by nathanh · · Score: 4, Insightful
      So you would rather have nvidia making no drivers at all for Linux?

      Yes.

      And I don't say that lightly. Nvidia has some extremely intelligent staff, including former open-source developers like Gareth and Mark. Nvidia contribute code to open source projects like XFree86. Nvidia are valued members of the ARB and their proposals are both worthy and appreciated. Nvidia's support for OpenGL has helped prevent Direct3D from usurping the entire industry and for that act alone we should all be grateful.

      But even with those things considered, I still think nvidia's closed source drivers are worse than no drivers at all. There are many reasons why I think this but the single most important reason is that the nvidia binary drivers take away the very freedoms that Linux grants you. Not for the same code but it's the same principles.

      In an ideal world I might agree with you, but in the real world I suspect most Linux users would rather have support for their video card.

      They had support. The Utah GLX nvidia driver wasn't the greatest but it did work with both 3D and 2D. The XFree86 drivers still support 2D on all nvidia cards and the performance is excellent.

      And really, I don't know when you started to use Linux, but when I started (pre-1.0) we didn't have video drivers. We wrote them ourselves. We chose the freedom of Linux over the convenience of binary-only platforms with working drivers. It shames me that so many of the current generation of Linux users don't understand what the world before Linux was like. It was hell. Closed source binary-only drivers everywhere. Buggy code that you couldn't fix. Linux changed all that. Finally we have source and freedom and rights. Finally there's something to be proud of; an entirely open source operating system built through the sweat and tears of 1000s of volunteers. And you would sacrifice all that for slightly faster 3D graphics? I can't comprehend your state of mind. Your priorities are completely foreign to me.

    31. Re:Pragmatism by Anonymous Coward · · Score: 0

      "Just look at the nvidia drivers: The only thing you get are kiddies yelling that nvidia has such great linux support. Meanwhile linux didn't get any better from it"

      That's pure BS. Nvidia drivers are the only Linux GPU drivers which achieve same level of peformance in Linux while supporting latest features of the GPUs.

      Thanks to Nvidia drivers, Linux is now viable platform for gaming and professional 3D use:

      http://www.nvidia.com/object/IO_20021106_7748.ht ml

      "SANTA CLARA, CA--NOVEMBER 6, 2002--NVIDIA Corporation (Nasdaq: NVDA), the worldwide leader in visual processing solutions, today announced that its NVIDIA Quadro(R)4 graphics solutions and Linux drivers are now the standard at Digital Domain. ....
      Digital Domain is transitioning all of its 2D and 3D production workstations to include NVIDIA Quadro4 XGL professional graphics solutions, NVIDIA's Unified Driver Architecture (UDA), and the Linux operating system."

      Do you think that Linux would got this design win without official, high-performance, supported drivers from Nvidia?

      BTW, Ati isn't any different. Their own drivers are closed-source only. Open-source drivers for Ati cards aren't usable for serious 3D, they are very slow and don't support all the features of the GPUs.

    32. Re:Pragmatism by kyz · · Score: 3, Insightful

      taunt me for being stupid enough to use that hardware.

      You've hit the nail right on the head, there. There's only one way to convince capitalist, profit-driven corporations to support Linux, and that's to let them know that their non-existant or sub-standard Linux support is losing them money.

      If you do buy a card without checking that it's supported in Linux, simply return the card, buy an alternative that is supported, then write a letter to the original card manufacturer stating that you returned their $XXX.XX card because of sub-standard Linux support, and you look forward to their support of the only operating system you use in the future.

      --
      Does my bum look big in this?
    33. Re:Pragmatism by Crazy+Eight · · Score: 2, Informative
      ...what's this about not having one compiled for your archetecture?...

      From your description it sounds like you ran an Nvidia installer script that compiled the kernel->proprietary_module wrapper code that Nvidia has made available for Linux and BSD on x86 platforms. When the parent poster said "architecture" he actually meant architecture like PPC, MIPS, x86, etc... You are confusing computer architecture with Linux Distributions. Those Nvidia binaries aren't going to do any good on a PowerMac -- that was his point.

    34. Re:Pragmatism by 10Ghz · · Score: 2, Insightful
      Yes, I have. Lots of others have done this too. Being able to look up the source in case of network troubles is really a great help. The debug mode of the driver is very helpful, the source even better.


      What about users like me? I'm not a coder. For me the source might as well be written in Hebrew. I get no benefits from having the code available. I can't debug it, I don't know what things do what. All I care is having a drivers that work. If I could choose between closed and open drivers that worked as well, I would choose the open drivers. But I don't get to make that choice, so I chooce the closed drivers, and use them instead.
      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    35. Re:Pragmatism by Anonymous Coward · · Score: 0

      "famous nvidia drivers which work only on i386."

      Nvidia drivers work with IA32 (i386), AMD64 (Athlon64/Opteron) and IA64 (Itanium). Isn't that enough?

    36. Re:Pragmatism by ashridah · · Score: 4, Funny

      There are for example [...] the famous nvidia drivers which work only on i386.

      Shenanigans! SHENANIGANS!

      (Example following)

      $ ncftp download1.nvidia.com
      Connecting to 216.228.115.24...
      Logging in...
      Anonymous user logged in.
      Logged in to download1.nvidia.com.
      ncftp / > ls
      [...]
      XFree86/
      [...]
      ncftp / > cd XFree86
      ncftp /XFree86 > ls
      FreeBSD-x86/ Linux-x86/ [...] Linux-ia64/ Linux-x86-64/ [...]
      ncftp /XFree86 >

      There you go!
      ia64 is not i386, regardless of what RISC loving zealots will scream about, and x86-64 is not i386 either.
      and what's more, FreeBSD is also not linux.

      I declare your statement partially false on two fronts!

      ashridah

    37. Re:Pragmatism by nathanh · · Score: 3, Informative
      And what good is having free but sub-par reverse engineered drivers that no-one except for the most idealistic zealots would care to use voluntarily?

      Because most Linux drivers began their life as "sub-par reverse engineered drivers". It was only because they were open source that they got better.

    38. Re:Pragmatism by Crazy+Eight · · Score: 1

      Christ, you've done it twice in a row. The Nvidia drivers are for x86 only. Do you see? Nvidia provides nothing for this guy. He is not running an x86 box.

    39. Re:Pragmatism by pe1rxq · · Score: 1

      So how exactly did linux get better from this???

      The only thing I see is it being mentioned in a press release.... Sure digital domain got better from it, nvidia got better from it, but not linux.

      Ati is different as they released at least some specs.... enough to produce usable drivers.
      That is infinitly more than nvidia did.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    40. Re:Pragmatism by pe1rxq · · Score: 1

      It does help you to, if you submit a bug report from a tainted kernel panic you are going to get laughed at.
      Kernel developers just can't use your report as they don't have the source to your black box driver.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    41. Re:Pragmatism by October_30th · · Score: 1
      He is not running an x86 box

      And it's somehow nVidia's fault that they don't cater to every fringe configuration?

      --
      The owls are not what they seem
    42. Re:Pragmatism by Hobbex · · Score: 1

      Read Linus reply about the meaning of "use" in TFA. To programmers, simply using the class may feel like just using the software, but from the legal perspective use means only running the program. Using a class in your code is linking to that class in some sense.

    43. Re:Pragmatism by hummassa · · Score: 2, Insightful

      All I care is having a drivers that work. So, you must care about others as the grandparent poster reading and debugging your drivers and their interactions with the kernel at large, so in the end you have... (roll the drums) drivers that work!

      --
      It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    44. Re:Pragmatism by Anonymous Coward · · Score: 0

      Wow, trolling on Slashdot, you must be so cool. I bet all the girls want you.

    45. Re:Pragmatism by ray-auch · · Score: 4, Informative

      In some, common, cases they cannot. Eg.

      Companies may licence parts of the code from third parties, usually under other licences that do not allow unlmited source release - so they would have to re-write (clean room) to get a version that they could release source for.

      Regulations (depending on your location, eg. on things like wireless cards, modems) sometimes require that stuff works within set limits (eg. power, spectrum). Often the hardware is more flexible, and the limits have to be encoded in the driver software. The law will then require the company to take resonable steps to ensure that end users can't change the software to circumvent the limits. Usually this will mean preventing release of modifiable source code.

      That's just two examples - there are plenty more reasons that might apply.

    46. Re:Pragmatism by Anonymous Coward · · Score: 0

      Have you installed one on a RISC PC? You can't!

      This is perhaps more due to the absence of an AGP slot on a RISC PC than due to any software problem, and it's a little disingenuous to suggest otherwise.

    47. Re:Pragmatism by Anonymous Coward · · Score: 0

      how rich is nVidia?

    48. Re:Pragmatism by Anonymous Coward · · Score: 0
      Companies may licence parts of the code from third parties, ...
      So why not clean room it, if the will is there? Or, if the will is there,pressure the third party to release the source. After all the company is paying good money to the third party, so has some influence.
      Regulations ...
      If the will is there, a company will get the regulations changed.

      So far, those two are just excuses, not reasons.

    49. Re:Pragmatism by Crazy+Eight · · Score: 1

      He's most likely using a Mac which is hardly a "fringe" configuration and "fault" is neither here nor there for pe1rxq, Nvidia, or this entire discussion -- though I've got to wonder if you're deliberately misunderstanding why he can't use Nvidia's drivers on his computer. Personally I think Nvidia has done a great job with thier *nix drivers. That doesn't mean being able to recompile them for PPC wouldn't make them even better -- since then they would actually exist for the guy. Again, that's all pe1rxq is saying.

    50. Re:Pragmatism by kyz · · Score: 1

      NVIDIA sell chipsets to card and system builders. Their direct sales of IBM-compatible PC AGP graphics cards to the public is secondary.

      There is nothing to stop a RISC PC card builder from building an NVIDIA graphics card for the RISC PC, or even a palmtop builder using an ARM CPU with an NVIDIA laptop graphics chipset -- all it would need is for NVIDIA to open their source code or support a proprietary ARM build of their software themselves.

      --
      Does my bum look big in this?
    51. Re:Pragmatism by Anonymous Coward · · Score: 0

      Wow, trolling the trolls on Slashdot, you must be so cool. I bet all the girls want you.

    52. Re:Pragmatism by earthpig · · Score: 1

      "And really, I don't know when you started to use Linux, but when I started (pre-1.0) we didn't have video drivers. We wrote them ourselves."

      that was the way it was and we liked it.

      oh, and we were beaten to death each night before we went to bed.

    53. Re:Pragmatism by penguin7of9 · · Score: 1

      Yes. If nVidia faced the choice of creating open source drivers or not shipping for Linux at all, they would choose to create some form of open source drivers, even if they are less powerful than their closed source versions. The open source community could then improve them.

      And if nVidia doesn't figure it out, sooner or later some smaller, hungry hardware company will, and they'll make a tidy profit in the Linux market.

      By giving nVidia the option of shipping binary-only drivers, they can just keep going on in their proprietary ways.

      So, no, I don't want nVidia to make closed-source Linux drivers.

    54. Re:Pragmatism by Anonymous Coward · · Score: 0

      calm down stallman

    55. Re:Pragmatism by martin-boundary · · Score: 2, Funny

      "Three processors ought to be enough for everyone".

    56. Re:Pragmatism by Trbmxfz · · Score: 1

      No AGP slot on RISC computers? nVidia's cards come with some Apple machines, but nVidia doesn't provide any driver for Linux/PPC.

      Drivers for Linux (on 386, Intel-64, AMD-64) and FreeBSD/386 are available, but if you want to get hardware acceleration on another architecture, you're on your own.

    57. Re:Pragmatism by W2k · · Score: 4, Insightful

      So in your opinion, having no nVidia drivers would be better than the current state, which is that there are drivers for the vast majority of systems that need them (which is to say desktop PC's) which are closed-source but mostly working.

      How typical of "free software" zealots to whine and whine for improvement, and when they get it, to whine again that it isn't good enough because it is missing feature X or because it doesn't support obscure platform Y. nVidia is giving you drivers for free, whining because you think they should just give away all their source is not the way to get more companies follow in their footsteps, releasing drivers for Linux.

      I've heard the argument that welcoming binary drivers is counter-productive to getting more drivers that are fully open source. While this may well be true, having a somewhat functional driver which works on some platforms (or better yet as in the nVidia case, a well-functioning driver that works on most platforms) is certainly better for the users than having no driver at all.

      --
      Quality, performance, value; you get only two, and you don't always get to pick.
    58. Re:Pragmatism by Anonymous Coward · · Score: 0

      Wow, repeating what somebody else said, you must be so cool. I bet all the parrots want you.

    59. Re:Pragmatism by joaha · · Score: 1

      In this capitalist world you also have to concider things like price/ performance ratios. Should I by an external modem, when I have a fully functional built in? Should I by a more expensive card with crappy performance, when the one I chose performs excellently? Am I doing my part? No, not in this anyway, but I don't have to, neither does nvidia. Choice and diversity. Nobody's beeing harmed. No choices are being removed. Some get benefits. Where's the problem?

      Your suggestion fits better with hardware where no driver nor specs are released. And the real problems start when you can't return _that_ hardware.

    60. Re:Pragmatism by dillkvast · · Score: 0


      Most drivers do NOTHING that justifies keeping the code under lock like it is done today.

      Though i think that these drivers should be opensource, this statement is simply not correct. Doing optimized HW/SW partitioning is a diffcult task. This is actually a relativly new dicipine in digital design, SW/HW codesign. The designer has to place the functions in either the SW or the HW domain, and optimize on performance and cost. Making correct choices in this phase make a huge difference in the final product.

      --
      Scitne aliquis remedium potimum crapulae?
    61. Re:Pragmatism by Tim+C · · Score: 4, Insightful

      but if you want to get hardware acceleration on another architecture, you're on your own.

      And if you wanted hardware accel on one of the currently-supported platforms, but Nvidia didn't release any drivers at all, you'd still be on your own.

      I understand where you're coming from, but I'm firmly in the "I just want my expensive hardware to work properly" camp.

    62. Re:Pragmatism by Tim+C · · Score: 3, Interesting

      More than that, last I heard NVidia was under NDA from one or more third parties concerning some of the code in their drivers. They simply can't release it, as it essentially isn't theirs to release.

    63. Re:Pragmatism by Tim+C · · Score: 1

      Most drivers simply push data to the right place and fiddle with registers in the right way. There is nothing the competitor wouldn't have already thought off.

      Well, given that most drivers are colsed-source, especially those for complex hardware like graphics cards, I'd love to know how you know that.

      Even if you work writing closed-source drivers, I challenge your assertion that *most* of them are simple, as you won't have seen the vast majority.

    64. Re:Pragmatism by Anonymous Coward · · Score: 1, Informative

      That is not why nVidia releases the drivers in binary form. nVidia, themselves, don't really have anything to hide. However, nVidia doesn't use 100% of their own home-grown software (welcome to the business world boys.) nVidia has patent agreements with many other companies for the various technologies that they implement. As such nVidia is prohibited by law to release anything that makes use of these patents in a reusable form. So their only choice is to bundle said functionality into a binary.

      Sorry kiddies, GPL doesn't jive with a lot of the real world where business arrangements such as that above are incredibly common and one company typically doesn't own anything, even stuff written in-house, outright.

    65. Re:Pragmatism by Tim+C · · Score: 1

      you don't need 3d performance.

      Unless, of course, your job involves 3d graphics. Kinda sucks to be in that position doesn't it? Forced to not use Linux because companies are scared to release closed-source drivers because of the potential backlash from thousands of screaming slashdotters...

    66. Re:Pragmatism by Trbmxfz · · Score: 1

      And if you wanted hardware accel on one of the currently-supported platforms, but Nvidia didn't release any drivers at all, you'd still be on your own.

      Absolutely correct (last time I tried, the free "nv" drivers didn't work at all with with my current graphics card). I don't think we exactly want nVidia to simply give us the source to their drivers, but would rather like them to release information about how to interface with their hardware.

      It seems that cards manufaturers feel that it is important to keep their hardware/kernel interfaces secret. I'm not sure how much competitors could hope to gain from knowing them, though.

      I understand where you're coming from, but I'm firmly in the "I just want my expensive hardware to work properly" camp.

      To clarify the situation: I'm very happy with the nVidia drivers, but I understand that they don't make the life of kernel maintainers any easier.

    67. Re:Pragmatism by ajs318 · · Score: 1
      What about users like me? I'm not a coder. For me the source might as well be written in Hebrew. I get no benefits from having the code available. I can't debug it, I don't know what things do what.
      Be careful when you say stuff like that - some people will think you're trolling. Just because you don't understand something doesn't mean it isn't useful to you. The point is not that you can't fix it, the point is that someone who could fix it can't. If you happened to have a good friend who was an ace low-level hardware programmer with the competence to debug kernel drivers, your friend would still be prevented from doing so by NVidia's pig-headedness.
      All I care is having a drivers that work.
      If the drivers were open-source, then they would work. That is certain, because open source software is - to quote Blackadder - "Not at home to Mr Cock-up". Mistakes are made, at first, but they are spotted and rectified; and the programmer who first made them learns {the hard way!} not to make them again.
      --
      Je fume. Tu fumes. Nous fûmes!
    68. Re:Pragmatism by pe1rxq · · Score: 1

      How many average desktop users have jobs involving 3d graphics? (besides 'funny' screensavers)

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    69. Re:Pragmatism by Anonymous Coward · · Score: 0

      While I mostly agree with you, the reason patents prevent a manufacturer from releasing a GPL'd driver isn't that they have to keep the patented thing secret, but that the GPL requires that they allow the patented technology to be used freely in GPL'd software, so this precludes them from deciding the terms under which the license the patent.

      But yes, the biggest single problem is that management thinks that the source code to their software is something almost magical and extremely valuable that should be protected at all costs. Usually the thing that is of practical value to any company is the combination of the source code and the people who understand it and can extend and support it.

    70. Re:Pragmatism by joaha · · Score: 2, Insightful

      Sacrificed? It doesn't go away because of a videodriver. I don't know what choices nvidia have. Maybe they could release enough to make it possible to write a good driver? And if so, they should. And we should definitely keep bugging them for not doing it. But to say that chosing a binary only driver sacrifices the whole operating system including the effort of "1000s of volunteers" is a bit over the top.

      Of course, it's a dead end. If you believe in the open source model, you know that. But for now, it gives us the opportunity to run good hardware in linux.

    71. Re:Pragmatism by _Spirit · · Score: 1

      Well, you make some valid points. I didn't know about an open source alternative for the drivers.

      The main problem I still see is that you need to draw a line somewhere and allow closed source drivers or else you impose a limit on what Linux user can do. That is the ultimate consequence of what you're saying. Nvidia cards are mainstream and someone is bound to create an open source driver for them if nvidia refuses to. But if you use hardware that isn't mainstream and are incapable of developing your own driver, are closed source drivers still a bad idea? Or should people who can't write their own drivers stick to Windows? I am just curious, how far do you want to take this?

      --

      beauty is only a light switch away

    72. Re:Pragmatism by iantri · · Score: 2, Informative
      Now...if I can just get the 3d on this ATI mobile radeon IGP320M going......

      You might be interested in this.. or this.

      I believe you still need the patched agpgart w/ the precomplied binaries.

    73. Re:Pragmatism by kyz · · Score: 4, Insightful

      My opinion is that having NVIDIA work with kernel developers to come up with fully open-source, GPL licensed Linux drivers for their hardware would be better than ever releasing a single binary-only driver.

      NVIDIA haven't given us anything for free. They have given us 6000 lines of code to interface a big black box to the free and open Linux kernel. This has been more than paid for by the thousands of NVIDIA cards sold on the back of supposed "Linux support". They have given us absolutely no device specifications whatsoever. Experience shows us that, over time, Linux kernel programmers write far superior Linux drivers than the hardware manufacturers.

      Currently, NVIDIA have offered a sop to the whining Linux fanboys -- "here's your binary, black box secret drivers -- just like in Microsoft Windows". The drivers cause mysterious kernel panics which can't be debugged because they originate from somewhere inside a black box that only NVIDIA may look at. NVIDIA can't leverage the support of hundreds of kernel developers when trying to fix it. It sucks.

      If NVIDIA gets away with providing half-hearted binary-only support for Linux, why can't every other hardware manufacturer? "No, you can't have any specifications for this Ethernet chipset, it's top secret -- here's a binary HAL instead". "No, you can't have any specifications for this SCSI disk controller", etc.

      --
      Does my bum look big in this?
    74. Re:Pragmatism by pe1rxq · · Score: 1

      It might be typical for zealots to whine for improvement... but the rest of your logic is flawed:
      There is not improvement, nvidia still doesn't support linux. All they did is shut up some of the kiddies that think linux support means being able to play quake3 on their x86 box with a standard kernel.

      As soon as you do anything nvidia doesn't care about you still got nothing, so yes having no drivers at all would not make a difference for linux.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    75. Re:Pragmatism by Anonymous Coward · · Score: 0
      So you would rather have nvidia making no drivers at all for Linux? [...] I suspect most Linux users would rather have support for their video card.

      Right. That does it. I'm hyperventilating. Congratulations.

      GNU/Linux exists, not for the sake of its own popularity, but to allow people to escape the hassles of propietary software. Accept proprietary software from folks like nvidia, and eventually we'll find ourselves unable to avoid it. We will have failed.

    76. Re:Pragmatism by pe1rxq · · Score: 1

      The only thing one could learn from this is which part nvidia didn't do in hardware but in software.... Still if you needed to learn that from nvidia you are several generations behind them and thus not a problem.
      As for the parts done in software they are not special, software 3d processing has been done many times and there is nothing revolutionary nvidia is doing here.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    77. Re:Pragmatism by Anonymous Coward · · Score: 0

      Binary only drivers have tended to be crude ports of Windows drivers, and frequently crash the users kernel. This results in bug reports that the regular kernel hackers can't solve, and a misconception amongst users that Linux is unstable.

      Now how is this different from the situation for 3rd party drivers of Windows?

      (posted anonymously to avoid downmodding.....)

    78. Re:Pragmatism by 10Ghz · · Score: 1

      I personally can't do a thing with the code. And having the code available is not the Holy grail when it comes to quality. Ati-drivers are open-source, yet they seem to suck when compared to the closed NV-drivers. Performance of NVIDIA-cards on Linux is at least equal to their performance on Windows. Can you say the same for Ati on Linux?

      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    79. Re:Pragmatism by nathanh · · Score: 1, Interesting
      The main problem I still see is that you need to draw a line somewhere and allow closed source drivers or else you impose a limit on what Linux user can do. That is the ultimate consequence of what you're saying. Nvidia cards are mainstream and someone is bound to create an open source driver for them if nvidia refuses to. But if you use hardware that isn't mainstream and are incapable of developing your own driver, are closed source drivers still a bad idea? Or should people who can't write their own drivers stick to Windows? I am just curious, how far do you want to take this?

      It's up to the individual to make their own decision. If someone wants to use closed-source binary-only drivers then I won't stop them. It is their freedom that they are throwing away.

      How far do I personally take this? Where do I draw the line? For the record, if I have hardware and there is no open-source driver then I simply don't use the hardware. Or I sell it. Or I write the driver. I have stuck to these principles ever since switching to Linux.

      For example, I bought an nvidia TNT2 several years ago. I was fooled by nvidia's claims that they were going to support Linux. They told the truth - they did support Linux - and the mistake was mine because I incorrectly assumed nvidia was going to release open source drivers. But I still felt cheated. I joined the Utah GLX project to write drivers for the TNT2 and I think the result was successful enough. I later sold the card and bought something that was properly supported by open source XFree86 drivers.

      I don't have a problem with "imposing limits" on Linux users. I remember using Linux when there were no supported video cards at all (before X386 was ported). You had text mode, and that was it. Linux grew beyond those days without requiring binary-only drivers. We wrote open-source drivers as required and Linux grew from basically nothing on the strength of open source. Why do we need to change the winning recipe now? What has changed so that we suddenly need binary-only closed-source drivers, or Linux will fail? I don't see it. Open source got us this far. It'll take us the whole way. It may take slightly longer, or limit our choices of hardware, but so what? I see no reason to change strategy now. I see no reason to compromise the ideals to fulfil a crass gratification.

    80. Re:Pragmatism by nathanh · · Score: 1
      Sacrificed? It doesn't go away because of a videodriver. I don't know what choices nvidia have. Maybe they could release enough to make it possible to write a good driver? And if so, they should. And we should definitely keep bugging them for not doing it. But to say that chosing a binary only driver sacrifices the whole operating system including the effort of "1000s of volunteers" is a bit over the top.

      Yes, that is over the top, but it's not what I said. Read it again. I expressly said "Not for the same code but it's the same principles". It's the principles that you sacrifice, not the whole operating system. If you don't appreciate that the principles are important then you probably won't understand.

    81. Re:Pragmatism by Rogerborg · · Score: 1

      >There's quite a bit of compiler technology in the current driver releases from nVidia and ATI

      Prove that. What's that? You can't? Thought so.

      --
      If you were blocking sigs, you wouldn't have to read this.
    82. Re:Pragmatism by 10Ghz · · Score: 1
      The point is not that you can't fix it, the point is that someone who could fix it can't.


      Fair enough. But then why does NVIDIA perform better on Linux and Ati on Linux does? Ati-drivers are open source, yet they can't match the closed NVIDIA-drivers. Open-source CAN and often does produce code that is superior to closed-source, but it's not certain that it will always be superior.

      If the drivers were open-source, then they would work.


      I run those dreaded NVIDIA-drivers on my Linux-system, and they work fine.
      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    83. Re:Pragmatism by W2k · · Score: 2, Insightful

      You and 7658880 are both right in saying nVidia hasn't given anything (of value) to Linux. They have, however, given something to users of Linux (Linux on i386, anyway), and from what I am reading elsewhere in this discussion, there certainly are people for whom the nVidia drivers have proven very useful. So they have definitely given _something_ to the Linux community, though clearly, not everyone thinks it's worth cheering over.

      Whether they gave it (or are giving it) away for free is arguable. Clearly, someone who bought an nVidia card prior to there being Linux drivers for it got something more than he originally paid for when the Linux drivers were released. Linux desktop users are still in the minority; are there any figures to back up your claim that nVidia have sold thousands more cards than they otherwise would have just because they have Linux drivers out now? My guess is the actual number of additional cards sold is much lower. Most Linux users I know are developers who do their work on Linux but boot into Windows for games and other graphics-heavy applications. I consider this as simply choosing the right tool for the job.

      If NVIDIA gets away with providing half-hearted binary-only support for Linux, why can't every other hardware manufacturer? "No, you can't have any specifications for this Ethernet chipset, it's top secret -- here's a binary HAL instead".

      If the binary driver works at least for the majority of Linux users, the majority won't really care if it's binary or not. Most Linux users, myself included (though I don't have a funtioning linux box atm) are content with drivers that work as specified, though we would of course also rather see the drivers open-sourced. Until Linux (or rather, the community) becomes a powerful force in the harldware marketplace (having Linux drivers becomes a major competitive advantage) I believe we must get used to compromises like this or throw out binary-only drivers altogether and face the possiby dire consequences.

      --
      Quality, performance, value; you get only two, and you don't always get to pick.
    84. Re:Pragmatism by Anonymous Coward · · Score: 0
      We chose the freedom of Linux over the convenience of binary-only platforms with working drivers.

      You have every right to jerk off while reading the Linux source code in the privacy of your own home, but most people would rather jerk off while playing 3D accellerated games

      Linux is a good operating system for a lot of stuff, but I just don't get the whole zealot mentality. You can spend hours configuring your system in a thousand different equally useless ways. Um...ok. If you want to change something, you can. *cough* Unemployed social misfit with nothing to do.

      If you find a certain closed-source application buggy and are disappointed that you can't go in and fix it, guess what: you don't have to use the software. Really!

      When software development firms write software, you don't see them running all over the place pointing and shouting to strangers, "Look what we did, man. Come see our code. It's crazy. Bet you didn't think we could do it! Aren't we the greatest?" I feel vicariously embarrassed on behalf of the stereotypical linux zealot (especially the ones who haven't actually contributed any code to anything -- why on earth do they feel like they're part of a software community they aren't even part of?).

    85. Re:Pragmatism by swv3752 · · Score: 1

      Well, most video drivers are OSS. Only the Radeon 9xxx card do not have a complete 3d accelerated driver, for the ATI cards.

      Modern 3D Video drivers are complex; most everything else is pretty simple.

      --
      Just a Tuna in the Sea of Life
    86. Re:Pragmatism by NegativeK · · Score: 3, Insightful

      We chose the freedom of Linux over the convenience of binary-only platforms with working drivers.

      That's odd, as it is the exact reason I switched over too. Plus stability and power, of course. But you know what else I find odd? You. It would seem that you would rather I didn't have the freedom to do what I want with the OS on my computer. It is really pretty simple.. To each his own. I'll run my binary modules, unload them if I think I have a bug to test it, and get my very nice hardware acceleration out of a card that I payed $200 for.
      But really, I think this argument comes down to one issue.. If you have to release and use everything as open source, then you are almost as restricted as having to release and use everything as closed source.

      P.S.: I do agree that I would _like_ open source drivers, and I have e-mailed nVidia's PR department about that. But I'm still going to support them, as they've shown more support for their hardware than _some_ companies.

      --
      This statement is false.
    87. Re:Pragmatism by X_Bones · · Score: 1
      Most people using Linux do not do so because of the "principles" or "freedoms" (in the non-economic sense) that OSS provides. They use it because:

      it's used where they work.

      they have a technical problem which other platforms aren't suited for.

      everything is available at no cost.

      They can get stuff done easier.

      Personally, I use it mostly due to the first and third reasons; I'll admit it. I'd bet that only a very small minority run Linux due to mainly ideological reasons. You seem to be one of them, and I'm glad you're in a position to be able to do that. But the rest of us care more about getting the most out of hardware we paid for. Nobody is forced to download and install closed-source drivers, but many people (including myself) do anyway. The situation might be different if binary-only drivers were shipped with a kernel, but to the best of my knowledge none are. Some folks make the choice to give up their ideological position; how "free" would we be if we didn't have the ability to give up that freedom?

      (And next time, please leave out the better-than-you-since-I've-used-linux-longer pissing contest thing. It added nothing to your otherwise intelligent post.)

    88. Re:Pragmatism by ajs318 · · Score: 1

      Presumably because NVidia got lucky, and ATI didn't. Of course any manufacturer should know their product, but sometimes that isn't necessarily the case ..... writing a driver requires intimacy with both the hardware and the software, and it may be that the ATI people aren't conversant enough with the way Linux and X work to write a decent driver. Of course, if the ATI drivers are truly open-source {thereby implying that the hardware specs are published in full}, then there is nothing to stop someone who knows Linux intimately from writing a better driver.

      Closed-source can work, but there is no good reason why it should work perfectly. As long as it works well enough for most users, that is all the vendor cares about. <CAPITALIST>Why should they spend thousands of pounds fixing a bug that only affects a few users and which will net them very little profit?</CAPITALIST>

      --
      Je fume. Tu fumes. Nous fûmes!
    89. Re:Pragmatism by Anonymous Coward · · Score: 0

      I have an Nvidia nforce2.. I hate the driver situation and will never buy a black box driver solution again.

      For many months, you had to reboot after exiting X11 because your console was blank. Come on!

      In a few years, I probably won't be able to get drivers for this board and my kernel combo. What then? Right - I crawl back to the lower performance open source driver to get support. Why did I ever stray merely for just a little better performance and cheap but decent integrated video...

    90. Re:Pragmatism by nathanh · · Score: 1
      Plus stability and power, of course.

      And cost. Never forget cost. The Real UNIX(tm) I was using before Linux cost an absolute mint. Linux was faster, stabler, had more features, came with source code and was cheaper. It really was no-contest.

      It would seem that you would rather I didn't have the freedom to do what I want with the OS on my computer.

      I don't know why you would think that. I don't have any desire to tell you what you can do with your computer and your software. I said what I thought and what I would do. That was all.

      What I find odd are people who put words into my mouth and attribute me with opinions that I don't agree with, and then attack these phantoms as if that would invalidate my real opinions.

      I'll run my binary modules, unload them if I think I have a bug to test it, and get my very nice hardware acceleration out of a card that I payed $200 for.

      That's nice. I paid $20 for a card that worked with the default Debian install. But you do whatever rocks your world.

    91. Re:Pragmatism by Lumpy · · Score: 1

      You are missing one very important thing.

      90% of the time the nvidia drivers + nvidia card from a TNT2 all the way to their uber-gamer-drool-card give you working 3d Open GL acceleration under X. ATI? nope. I have tried it under 12 different laptops, and on 5 different desktops with different types of ATI video cards or shipsets and EVERY single one of them was a major fight to get working. next to nvidia the only 3d accelerated card that is current with hardware that is shipping to the general public is the i815 chipset video. and those are also easy to get working after you dig through the driver to find some obscure information about how it wont work unless you are set yo 16 bit color mode.

      NO other linux video driver is as complete as the Nvidia one. because a newbie can install it and get it working.

      No I'm not jumping for joy that it's closed source, but I use what works, and therefore I reccomend to all LUG users to only use/buy Nvidia video cards for their ia32/ia64 machines.

      I also let them know that any other video card will be a significant amount of time and effort to get working, and even then it's only a crap-shoot.

      I have to support people running linux, the only driver that has yet to fail me is nvidia. all the others have failed me horribly.

      --
      Do not look at laser with remaining good eye.
    92. Re:Pragmatism by hysterion · · Score: 1
      Regulations sometimes require that stuff works within set limits. The law will then require the company to take resonable steps to ensure that end users can't change the software to circumvent the limits. Usually this will mean preventing release of modifiable source code.

      By this argument, Ford ought to get sued if you remove the catalytic converter on your car. Is this remotely true?

    93. Re:Pragmatism by Anonymous Coward · · Score: 0

      While I disagree with your exact wording, I agree with your sentiment. Disallowing nvidia cards to appease some purist regarding the GPL is just infuriating. Clearly nvidia for whatever reasons chooses to close the source for their driver yet I still have nice troublefree video for my home linux.

    94. Re:Pragmatism by Anonymous Coward · · Score: 0

      You are incorrect in assuming that nvidia would support linux no matter what. Others have rightly pointed out that there may be intellectual property encumberances prohibitting nvidia and other tech companies from openning up or allowing open source drivers for their hardware. Like it or not, the entire world is not GPL. So the end result in your plan may be that it is impossible for fully functional open source drivers to exist in every case.

    95. Re:Pragmatism by nathanh · · Score: 1
      I'd bet that only a very small minority run Linux due to mainly ideological reasons. You seem to be one of them

      Absolute nonsense. I mainly use Linux because of cost. I'm a cheap bastard. I wanted a UNIX and I'm not willing to pay for a Solaris environment (the only other UNIX I would consider if I could not use Linux).

      But the more I use Linux the more I appreciate that the reasons I like Linux stem from the ideology. Source code. Zero cost. No license daemons. Community and kinship. Best of breed. I realised after many years of reflection that all the benefits of Linux are because of the free as in freedom aspects of Linux. It is something you can only properly appreciate after you have drowned in Linux for years and then stepped back.

      But the rest of us care more about getting the most out of hardware we paid for.

      And that's your prerogative. I don't know why you (and others) have got the impression that I want to stop you. Do whatever you want. I'm in no position to tell you otherwise and nor do I have any desire to stop you.

      Perhaps you think that because I said that closed-source nvidia drivers are more harmful than no drivers at all - and that's a statement I'm not backing down from - that you think I'm working actively to destroy nvidia! Don't be silly. I have no control over nvidia. They will release their drivers and you will continue to use them. Doesn't bother me. Never has. Never will.

      But I stand by what I said. I strongly believe that in the long-run, closed-source nvidia drivers are harming Linux more than they are helping. They are preventing the development of open-source drivers. Any brilliant ideas in nvidia's drivers can not be reused in the ati drivers. Similarly, any brilliants aspects of the DRI cannot be used within the nvidia drivers because nvidia doesn't use the DRI. The closed-source nvidia drivers are buggy and we can't fix that; we are beholden to nvidia to fix the bugs for us. These are all detrimental aspects of the closed-source binary-only nvidia drivers. You'll hopefully notice that they are all pragmatic reasons, not ideological reasons.

      And next time, please leave out the better-than-you-since-I've-used-linux-longer pissing contest thing. It added nothing to your otherwise intelligent post.

      I made the remark to highlight that Linux came from very humble beginnings - no graphics, no LVM, no RAID, no SCSI! - and that it didn't need binary only closed-source drivers to escape that mire of feature-less and driver-less poverty. It escaped solely because of the freedom aspects of Linux; because somebody with unsupported hardware could download the kernel source, write a driver for their particular hardware, and send the patch back to Linus. If Linux wasn't free as in freedom then it would never have grown beyond Linus's 386 with an IDE drive and text-mode only interface.

    96. Re:Pragmatism by hysterion · · Score: 1
      I typed one command, a menu prompted me to accept a license, then looked for a version on nvidia's ftp site, didn't find one. So it compiled one for me.

      Out of curiosity: are there, or can we expect, drivers for the nVidias in 12" PowerBooks?

    97. Re:Pragmatism by mark_lybarger · · Score: 1

      i've never had a problem getting acceleration working with an ati card. sure my ati cards are a bit outdated (r128 and radeon 7000), but it gives acceleration with open source drivers.

      what ati doesn't give in the way of drivers, they give in the way of technical specifications to driver writers. so, it takes these (probably) unpaid writers a while to get the drivers out. heck, ati even donates hardware to the open source driver writers see the aiw 9700 section of this page: http://gatos.sourceforge.net/supported_cards.php

      i'd bet with some heavy sponsors, there would be excellent ati drivers that heavily competed with these binary nvidia drivers.

    98. Re:Pragmatism by mhesseltine · · Score: 3, Informative
      My opinion is that having NVIDIA work with kernel developers to come up with fully open-source, GPL licensed Linux drivers for their hardware would be better than ever releasing a single binary-only driver.

      And, as has been said many times before, NVidia doesn't own all the code in their drivers. Some of that is licensed. As a result, they are not allowed to change the licensing to GPL-only. To do that, they'd have to strip out much of the functionality that makes the card useful.

      --
      Overrated / Underrated : Moderation :: Anonymous Coward : Posting
    99. Re:Pragmatism by mark_lybarger · · Score: 1

      come on now. solaris is plain crap on x86. it's only use is learning the solaris quirks if you're going to use it on real iron someplace. sun only releases this version to allow people to learn the os.

      with solaris your choice of desktops are very limited, your choices of tools are also limited. sure there's a lot of packages released, but it's still limited.

      linux (and bsd) are the unix of choice hands down. ask the largest software services company out there (IBM) what they think?

      with that said. i might agree that the binary drivers aren't quite a good thing, but when lexmark releases binary drivers for a cheep-arse printer i have, i'm going to use their drivers. and when releases drivers for their scanner, i'm going to take what i can get to make my hardware work. (note: both my scanners, a lexmark aiw and a HP par-port don't work vary easily).

    100. Re:Pragmatism by NegativeK · · Score: 1

      I don't know why you would think that. I don't have any desire to tell you what you can do with your computer and your software. I said what I thought and what I would do. That was all.

      Em. Observe.. You were asked

      So you would rather have nvidia making no drivers at all for Linux?

      which you responded by saying

      Yes.

      So, in short, you would rather the company that makes video drivers for my card not, so that I can't use them to their full extent (until someone reverse engineers the drivers, which won't be a small job.) Hence, me losing some capabilities on my computer. And my UT2k3. ;.; So.. That makes this:

      What I find odd are people who put words into my mouth and attribute me with opinions that I don't agree with, and then attack these phantoms as if that would invalidate my real opinions.

      unwarranted.

      --
      This statement is false.
    101. Re:Pragmatism by hackstraw · · Score: 1

      I'm not clear what you are complaining about. What is your obsession with having an NVIDIA video card? There are many others out there, some even with opensource drivers. Just like OSes, there are many out there. Some are open and free, some (most in terms of # installed) are not. Are you going to complain next that Solaris, Windows and MacOS are closed source when you knew that upfront?

    102. Re:Pragmatism by Anonymous Coward · · Score: 0

      You're wrong. Like it or not, in the grand scheme of things Linux is a tiny fraction of the market. For the most part not even worth considering. However, nVidia put in money/development time to realease Linux drivers to this tiny, tiny market. That's good and the reason why I buy nVidia cards. Experience shows us that, over time, Linux kernel programmers write far superior Linux drivers than the hardware manufacturers. What proof do you have of this? Show me something. Tell you what, I'll show you a whole bunch of stuff where your claim is false: My Wacom tablet barely supports the minimal functionality dispite the fact that the specs have been released to developers. Often I have to play games swapping around modules until I find one that works (note that these are OPEN-SOURCE modules). My Firewire/SBP2 drives sometimes corrupt data and very often the devices are not initialized properly at boot time (it hangs and times out, requiring me to either unplug then plug in the devices again or reload the sbp2 module). These are the open-source drivers (hey Ben Collins do you know what the hell you are doing?!). My laser printer (HP 1200) barely supports the minimal features that are available. There is no "manual duplex" support and the resolution and quality settings suck. Everything is too manual and I'm having to constantly waste time tweaking something that I shouldn't need to. My inkjet printer (HP 7960) barely supports the minimal features. None of the hardware assisted features are available. There are a ton of features just not supported in open-source drivers. Again, I have to do everything manually and constantly tweak things to make the driver work correctly. None of this is a problem on Windows and its closed source drivers. I get great driver-tweaking dialogs with every feature my hardware supports and I've not had any major problems. With that said, I use Linux all day. Its my primary OS. I only boot to Windows for contracts and when I need better DRIVER support.

    103. Re:Pragmatism by David+McBride · · Score: 1

      Then simply ask them to release the bits they can, and put comments in the holes indicating what the we need to implement.

      If you can't do that, then simply ask them to release the hardware interface specifications. Then we can try writing the whole damn driver ourself.

      Wailing that "some of the code in our driver isn't ours" is no excuse. Release what you do have.

    104. Re:Pragmatism by GigsVT · · Score: 1

      They can release specifications without releasing code.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    105. Re:Pragmatism by bfields · · Score: 1
      So you would rather have nvidia making no drivers at all for Linux?

      That's not the choice we, as kernel users and developers, face. We can make it harder for binary module developers--by not buying their hardware, by not helping to support kernels with their code, etc. By doing these things we can decrease the chance that they'll distribute binary modules, but I'd argue that we also increase somewhat the chances that they'll distribute GPL'd code instead.

      --Bruce Fields

    106. Re:Pragmatism by ajs318 · · Score: 1

      Having followed the thread, I feel more strongly than ever that Mandatory Full Disclosure is something we must push for. Basically, I want the law to say that if you sell me - a consumer - a piece of hardware, then that hardware may not contain any secret from me; but that I have the right, as its owner, to access any information you hold pertaining to that hardware which would assist me in making use of it, and if any of that information is a proprietary secret then my purchase receipt is proof that I am privy to that secret, although you may bind me to keep that secret.

      I am proposing that we push for change in the law because that would remove individual manufacturers' objections that "our competitors may get hold of our secrets" -- you might get hold of their secrets, it cuts both ways. Sauce for the goose is sauce for the gander. Making a profit is a privilege; using your property as you think fit is a right.

      So who's with me?

      --
      Je fume. Tu fumes. Nous fûmes!
    107. Re:Pragmatism by julesh · · Score: 1

      And the point of this would be...?

      Hint:

      1. The specifications probably change with each new card release
      2. One of the parent posts gave an estimate of (IIRC) 1.8 Million lines of code in the library that they aren't giving out the source to. Are you volunteering to duplicate that?

    108. Re:Pragmatism by the_mad_poster · · Score: 1

      You're missing the point though. As an end user who "just wants it to work", that's fine. However, from a developer's perspective, a black box module is pointless. You get a kernel panic while tainted? Too bad, bucko. There's nothing the developers can do about that so you're on your own unless you can convince nVidia to fix it for you somehow.

      The core isn't compiled for your architecture? Too bad, bucko. You get no driver. Wrapper? Sure. Driver? No.

      The more stuff that's locked away from the kernel developers, the more "funny" setups there will be that the devs just can't do anything about. Unless the code is readily available for them to look at, a kernel panic report is useless. I'm having problems with binary only modem drivers right now that cause kernel panics. What am I to do? Nothing. Enable Magic sysrq and go about my business when something bad happens. I can't fix it, reporting it is useless. As an end user only of my modem, I'm screwed.

      The point is, it doesn't just start and stop with you and what you know. Ok, so maybe it works fine for you NOW. But, what happens when the next uber-gaming card comes out and panics start flying for your personal setup? Oops. Now you as an end user are totally screwed. If they had the code available, that wouldn't be the case (at least, not permanently).

      --
      Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
    109. Re:Pragmatism by hackstraw · · Score: 1

      My opinion is that having NVIDIA work with kernel developers to come up with fully open-source, GPL licensed Linux drivers for their hardware would be better than ever releasing a single binary-only driver.

      Agreed. In my opinion having everything in life matching up to my ideals would be better than not.

      NVIDIA haven't given us anything for free.

      I cannot ever remember when a hardware manufacturer has ever given me anything for free (aside from toys/tshirts at trade shows). And I've worked on millions of dollars with hardware over the years, those fuckers.

      Experience shows us that, over time, Linux kernel programmers write far superior Linux drivers than the hardware manufacturers.

      Wake me up when the Intel e100 driver in linux is better than Intel's. Granted most of the hardware drivers provided in the kernel itself are pretty damn good and I prefer to use them over a binary module.

      The drivers cause mysterious kernel panics which can't be debugged because they originate from somewhere inside a black box that only NVIDIA may look at.

      Maybe the kernel interface should provide better glue between the driver and the kernel itself so that they can be debugged, or maybe if its too much of a problem having binary modules, there is nothing to stop them from existing by either changing the lincense of the kernel to disallow them or at the end user level by choosing more "open" hardare.

    110. Re:Pragmatism by nehril · · Score: 1

      So you would rather have nvidia making no drivers at all for Linux?

      Yes.


      this state is easy to achieve. *jedi mind trick* Simply pretend that nvidia has not released any drivers. Don't download them, don't install them. You are now exactly where you want to be. Now, in the true tradition of open source, you have every opportunity to reverse engineer and code up your own drivers. Nothing gained, nothing lost.

      nvidia binary drivers take away the very freedoms that Linux grants you

      How do you come to this conclusion? nobody is stopping you from coding or using your own drivers. Nvidia is not giving you as much as you want (open and Free drivers), but it is certainly not taking anything you had away from you. Perhaps close inspection of their drivers will even assist your reverse engineering efforts.

      Open source/Free drivers are indeed a better solution for us all. But when that can't happen, pure scientists must become engineers for the time being, and solve the problem at hand with what tools we have. Binary drivers are NOT worse than nothing.

    111. Re:Pragmatism by Anonymous Coward · · Score: 0
      The law will then require the company to take resonable steps to ensure that end users can't change the software to circumvent the limits.


      What's to stop people from changing the binary code?
    112. Re:Pragmatism by br0ck · · Score: 1

      Nvidia's Cg compilers have been open sourced. Download here.

    113. Re:Pragmatism by fredrik70 · · Score: 1

      >The specifications probably change with each new card release

      I probably wont change comnpetely between each release of a card. A lot of the work done by the cards stays the same and it would be very fooolish of NVidia to force their programmers to completely rewrite those 1.8 million lines for each card, yes, it would take us quite some time to get anything as good as NVidias drivers for their cards, but once we're up there, most canges should be incremental

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    114. Re:Pragmatism by antirename · · Score: 1

      I have never been able to get the Nvidia drivers to work on my main Linux box... nothing too odd, dual PIIIs on an Abit motherboard, GeForce3 video card. They try to load, then hose Xwindow. I haven't had a problem with single processor machines, but (in my limited experience) they blow goats with multiple processors.

    115. Re:Pragmatism by bucky0 · · Score: 1

      Well with the push towards 3D composited desktops, I imagine that a lot of people will.

      (yes, yes, there's gonna be people that will swear to staying with their icewm desktop, but there are tons of people who love the pretty eye candy)

      --

      -Bucky
    116. Re:Pragmatism by HerbieStone · · Score: 1
      Even if this helps the casual gamer (which would be waaay better running Windows anyway), this is in fact a regression from the free software perpective.

      I tend to disagree. I know many casual gamers and many "hardcore" gamers. Most of them are power-users who don't yet know the guru stuff, but they have their friends-of-friends network. They know how to install anything (Hardware and Software) on their PC, as soon as something doesn't work out as expected, they ask their network and at the end they will have it working as they want.
      Generally Gamers are pretty young and have tons of time to burn. A gamer form my clan has caught up the Linux-bug somehow (It wasn't me, I didn't advocate much because of the poor support for general-known-Games for linux. I'm not linux-guru either). I tried to help were ever I could (First kernel recompile, first KDE-stuff messup, first W-LAN-Driver get going... UGH). After 2 months we had everything working on SUSE (after trying out Red-hat and Mandrake), WLAN and all his beloved games too. He went to a Linux-gettogether. He even shelled his hard-earned money to SUSE just to support it. And now he advocates Linux to his friends and will show it around on every LAN-Party...

      Conclusion: We need MORE gamers like that!

    117. Re:Pragmatism by Anonymous Coward · · Score: 1, Informative

      http://graphics.lcs.mit.edu/pipermail/realtimerend ering/2003-November/000068.html

      Nvidia's drivers have some sort of VM or "re-compiler" designed to optimize code on their cards.

      And even if that's not a compiler in your book, the drivers still do contain a bunch of opengl technology, proprietary "optimizations", and for the Pro cards, code that carries expensive app certifications.

    118. Re:Pragmatism by AnyNoMouse · · Score: 1
      Regulations sometimes require that stuff works within set limits. The law will then require the company to take resonable steps to ensure that end users can't change the software to circumvent the limits. Usually this will mean preventing release of modifiable source code.
      By this argument, Ford ought to get sued if you remove the catalytic converter on your car. Is this remotely true?

      No, by this argument, the regulating body for catalytic converters could sue Ford for adding an "Easy Lift, no muss, no fuss Catalytic converter bypass lever" to their cars.

      --
      -Redundancy Man strikes again!
    119. Re:Pragmatism by Catskul · · Score: 1

      Do you believe that our economy could work without being profit driven? Dont complain about capatalism until you have lived in a communist country. Is it possible to over do capitalism, yes, but capitalism itself is not the problem. Capitalism is like sex: Necessary for continuation, but possible to be irresponsible with. It is part of human nature, and like sex, dening our need for it absoulutely is a futile and counterproductive struggle.

      Im sick of hearing socalist fanatics speak of capitalism as if it were a disease the should be swept off the planet, just as Im sick of religious fanatics acting as if sex was a disease that should be swept off the planet.

      --

      Im not here now... Im out KILLING pepperoni
    120. Re:Pragmatism by buchanmilne · · Score: 1

      The Utah GLX nvidia driver wasn't the greatest but it did work with both 3D and 2D.

      The 3d performance isn't acceptable for any real 3d work.

      And you would sacrifice all that for slightly faster 3D graphics?

      Sacrifice what? We're not. We're compromising until the open source drivers are up to scratch.

      In our case, we either run the NVidia drivers on Linux, or we run Windows.

      Your priorities are completely foreign to me.

      So, you would prefer to run Windows then, a totally proprietary system?

    121. Re:Pragmatism by Anonymous Coward · · Score: 0
      This has been more than paid for by the thousands of NVIDIA cards sold on the back of supposed "Linux support".

      we know this because, although their source is not public, their accounting records are?

      Currently, NVIDIA have offered a sop to the whining Linux fanboys -- "here's your binary, black box secret drivers -- just like in Microsoft Windows". The drivers cause mysterious kernel panics which can't be debugged because they originate from somewhere inside a black box that only NVIDIA may look at. NVIDIA can't leverage the support of hundreds of kernel developers when trying to fix it. It sucks.

      So don't use it. Get out of the way of those who want to.

      If NVIDIA gets away with providing half-hearted binary-only support for Linux, why can't every other hardware manufacturer?

      Hopefully they will. Then we'll have more drivers to use.

    122. Re:Pragmatism by Lugae · · Score: 1

      I paid for my nVidia graphics card, I'd hardly say that they're simply giving away the drivers. Binary or not, I paid for a graphics card that works. It's not charity on nVidia's part. Releasing the source code, however, would be charity.

    123. Re:Pragmatism by bucky0 · · Score: 1

      There is not improvement, nvidia still doesn't support linux. All they did is shut up some of the kiddies that think linux support means being able to play quake3 on their x86 box with a standard kernel.

      Look, I understand that you don't find playing games under linux to be important, but to say that playing games on x86's running standard kernels is unimportant because they won't release the source to support linux is assinine. I've read your posts and it appears that you are passionate about seing linux flourish. Linux cannot flourish without decent hardware support, and like it or not companies are not able to provide all of their source. With current graphics cards being so programmable, I wouldn't be suprised if they had a sizeable portion of their cores run in software.

      To me, the benefits of having great 3d support far outway the ability to read the sourcecode. To you, it's the other way around. Let everyone make their own choices. Having anyone declare that it should be verboten to allow hardware with proprietary technology to exist under linux would do far more harm than good(in effect, that's what a ban on binary modules would do, unless an alternative method was found).

      /rant

      --

      -Bucky
    124. Re:Pragmatism by Muerte2 · · Score: 1

      I for one DID buy an NVidia card because they had linux support. I know a couple people bought cards for that reason. Now does that add up to "tens of thousands" I don't know.

      I think we're all missing the point here however. Why in the hell does NVidia NOT release code or work with Kernel developers? What does NVidia have to lose by doing so? NOTHING! What do they have to gain, a lot of Linux user's respeck.

      It's good PR to release the code! It's already written, they don't have to commit any more manpower to do it right (TM). Seems like a win/win.

      NVidia is a hardware manufacturer, it's in their best interest to SELL MORE CARDS. I can't think of a better way to do that than to have "good" drivers. Good in the kernel/GPL sense, and good in the solid/supported sense.

    125. Re:Pragmatism by Anonymous Coward · · Score: 0

      Maybe the kernel interface should provide better glue between the driver and the kernel itself so that they can be debugged

      I'm sorry, but WHAT!?!?!?!?! ?!?!

      How the hell are you supposed to debug something who's source code you don't have!??!!

      All the "kernel glue" in the world won't help you when YOU DO NOT HAVE THE SOURCE.

    126. Re:Pragmatism by FyRE666 · · Score: 1

      So? It works even though NVidia didn't compile it for you. That was your original gripe.

      I smell a troll... Well, either that or someone who is deeply stupid ;-) Maybe you don't understand the difference between source code and binary code?

    127. Re:Pragmatism by nmos · · Score: 1

      What about users like me? I'm not a coder. For me the source might as well be written in Hebrew. I get no benefits from having the code available.

      You still benefit from the labor of the thousands of people who can and do read/fix the code. Even if you're not a mechanic you still benefit from the fact that any mechanic can open the hood of your car and perform simple repairs. Can you imagine how much car maintence would cost if you had to take your car to the dealership for oil changes, new battery etc?.

      In addition, one thing I've learned over the last 15 years or so is that more open and standardized computer products tend to have a much longer usefull life span than more closed products. More open products tend to be re-used even when their origional mission is long finished. More closed products tend to just end up in the trash because they don't work with a newer/different OS or doesn't mix well with newer hardware.

    128. Re:Pragmatism by Anonymous Coward · · Score: 0

      You've hit the nail right on the head, there. There's only one way to convince capitalist, profit-driven corporations to support Linux, and that's to let them know that their non-existant or sub-standard Linux support is losing them money.

      ------------

      The obvious solution being that they would simply withdraw all Linux support and save themselves money that way.

    129. Re:Pragmatism by Anonymous Coward · · Score: 0

      The obvious solution being that they would simply withdraw all Linux support and save themselves money that way.

      I'm sorry, but how (exactly) is preventing potential customers from buying your products "saving yourselves money"?

      If they released the specs, it doesn't cost them anything, and they would get drivers from the community.

    130. Re:Pragmatism by poot_rootbeer · · Score: 1

      When binary modules are allowed it doesn't help linux in any way....

      In general, users don't care if it helps Linux. They care if it helps them.

      Who is it more important for the Linux community to keep happy, a dozen kernel developers or 2,000 users who want to user their 3D card's capabilities? Think about it for a minute before answering.

    131. Re:Pragmatism by poot_rootbeer · · Score: 1

      You sound like an unreformed Windows-using home/consumer PC builder.

      Is this supposed to be an insult?

    132. Re:Pragmatism by Truekaiser · · Score: 1

      i agree with you. the reason most people switch to linux is that they want to know and control what goes on in there system. haveing to rely on a third party that does not want to share there information like this to them is the same as still useing windows.

    133. Re:Pragmatism by iion_tichy · · Score: 1

      You sound like an unreformed Windows-using home/consumer PC builder. "Just download drivers from the manufacturer's support site" is the worst possible form of providing hardware support in an operating system.

      Uh, what if I want to run Linux on my Home PC, does that make me a loser?

    134. Re:Pragmatism by poot_rootbeer · · Score: 1

      My opinion is that having NVIDIA work with kernel developers to come up with fully open-source, GPL licensed Linux drivers for their hardware would be better than ever releasing a single binary-only driver.

      Well DUH. But nVidia isn't too keen on that idea. So the realistic options are:
      - get a binary-only Linux driver
      - get no Linux driver
      Which one is better for nVidia users? Which is better for Linux users?

      If NVIDIA gets away with providing half-hearted binary-only support for Linux, why can't every other hardware manufacturer?

      Half is greater than zero...

    135. Re:Pragmatism by poot_rootbeer · · Score: 1

      Most drivers simply push data to the right place and fiddle with registers in the right way.

      But... isn't this true of ALL CODE, EVER?

    136. Re:Pragmatism by drinkypoo · · Score: 1
      You are declaring a logical fallacy, that "free software" zealots are complaining about the existence of a binary-only driver, but who would complain just as loudly about the lack of any driver.

      This is most emphatically not the case. Most who complain about the binary driver might complain about the utter lack of a driver, but not nearly as loudly. Obviously there are always some jackasses who want to eat their cake and have it too (I think the saying makes more sense in that order) but I think the prevailing attitude amongst those against the binary driver is that you shouldn't support companies which don't make source available.

      The graphics companies will try to tell you that there are trade secrets hidden inside their drivers which are crucial to the performance of their hardware. This is born out by the fact that with new drivers, one tends to get better performance, even out of old cards, so maybe you could construct some additional supporting arguments there and actually have some kind of point. However what they will also try to tell you is that the very interface between driver and card is a trade secret, and that is the actual problem here. They have a right to their driver code, in my opinion, but what they don't have a right to is the specifications of the hardware interface.

      Well, that language is too strong. They have a right to it, but I personally don't think that linux users should support them as long as they keep THAT information private. I don't think you have a right to their source code, but they should make it possible for others to write drivers. They have no responsibility to do all the work for you.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    137. Re:Pragmatism by Anonymous Coward · · Score: 0
      Have you installed one on a SPARC box? You can't! NVIDIA don't provide a SPARC architecture build.


      So can we assume that you're happy with all of the GPL video drivers that Sun is releasing for their video cards? And now you're complaining that NVidia won't release drivers for the three people trying to use their products on Sparc systems?


      NVIDIA don't provide an ARM architecture build.


      Or the two people trying to use Nvidias on ARM systems.


      Have you installed one on an iMac?


      No I haven't, but that's because iMacs don't have any PCI or AGP slots.


      Sheesh. This whole rant gives the impression of a little boy crying because everyone else has a toy that he can't have.

    138. Re:Pragmatism by joaha · · Score: 1

      Sorry, I didn't make the connection over the paragraphs and took it the wrong way.

      The principle of not mingling closed and open source software, might be important to you. It is not even what I would call a principle to me. It is something to strive for though.

      To me, the principle of choice is more important. The ones not releasing either source, drivers or docs and/ or trying to stop open source alternatives with lawyers are a much bigger problem. And that's where we where 7 or so years ago when I first tried linux. I don't see nvidia's drivers poiinting in that direction at all.

    139. Re:Pragmatism by tiger99 · · Score: 2, Insightful
      You are quite correct, and it applies to many other types of device also. Canon, for instance, only disclose programming info if you are a corporate and sign a NDA. Did all that ages ago, because I wanted a driver for ny printer and scanner, never had time to do the programming......(usual story). But, if I had done it, I would only be able to release it as a binary, or at least part of it, which IMHO is better than nothing, but not ideal.

      But, as you rightly observe, what was the point of them doing that? Dismantling the scanner carefully showed exactly what chip was in it, IIRC it was a National something or other, so I got chip data freely, in tha way that most semiconductor manufcaturers have always provided it. The printer could have been reverse engineered using a little bit of code to monitor the parallel port or USB while printing under a Bill OS. (I never got round to looking inside the printer.)

      So, all they have done with their secrecy is to put a minor delay in the way of someone who really needs to find out how it works. A competitor needs at least hundreds of millions to create a new family of ink jets, probably a few millions for a scanner, (tooling charges for the plastic bits alone are horrendous, without software or any custom silicon). so why bother hacking into a competitor's drivers, if you have the budget there are better ways of spending it.

      It is only people with a legitimate need to use a device under a non-Gates OS who are impeded by this obsessive secrecy, there are not thousands of hackers sitting up late at home building reverse-engineereed inkjets or scanners. The only thing such manufacturers do is lose the 5 or 10% of business (an increasing proportion!) that they might have got from people who need or want to use Linux, *BSD, or whatever. They do not protect themselves in any way from serious reverse enginering, it is just not possible.

      Nvidia is a fairly minor annoyance IMHO, the graphics cards are VERY popular and need support, and what the have done works, on the 3 diverse machines with Nvidia cards at muy disposal. Sadly it does not integrate well into SuSE's Yast configuration system, you always have to edit XF86Config by hand, for which I blame SuSE as Nvidia say the drivers may be distributed, but SuSE doesn't distribute them as part of an integrated package.

      The hardware manufacturers could save themselves and us a lot of trouble by publishing proper driver specs in a form that could be easily compiled for any reasonable OS and CPU. That means some kind of definition of registers and how to fiddle them, as you say. It used to be that way, years ago a graphics card or a printer had a proper manual.

      A side issue is that if they do disclose details, it is actually much easier to prove copyright viotations as far as the hardware is concerned, and it also prevents a competitor taking out a patent on something they have done, by demonstrating prior art. There is every advantage for a full disclosure of how hardware works, it gives nothing away to the competition that they can't get anyway, although I think some of the operations involved in 3D graphics, or for that matter dithering algorithms on a printer, may be a bit more complex than your description might suggest.

    140. Re:Pragmatism by Anonymous Coward · · Score: 0

      Wake me up when the Intel e100 driver in linux is better than Intel's

      Hmmm, a ~50MB "universal" driver for all Intel cards because the IBM packaged ones don't work on the newer gigabit cards and Windows is two years out in driver releases now, or two small files (e100 and e1000) that drive all the Intel cards I've tried with no problems?

    141. Re:Pragmatism by spells · · Score: 1

      Why don't the panics go to someone with nvidia's source code, even if it's nvidia themselves? Just asking..

    142. Re:Pragmatism by the+melon · · Score: 1

      To add to this, someone commented that they can release code without releasing specs. Well, it is not only code that they co not own but some of the specs are licenced from SGI and they cannot release them either.

    143. Re:Pragmatism by spells · · Score: 1

      Ahh, we obviously needed to clean up the steps to profitability:
      1. Write open source software for hardware
      2. ???
      3. TIDY profit.

    144. Re:Pragmatism by CarrionBird · · Score: 1
      "I have -- for an IA32 architecture consumer/home PC. Have you installed one on a SPARC box? You can't! NVIDIA don't provide a SPARC architecture build. Have you installed one on a RISC PC? You can't! NVIDIA don't provide an ARM architecture build. Have you installed one on an iMac? You can't! NVIDIA don't provide a POWERPC architecture build."

      Have you ever seen a SPARC version of a geforce card? Cause I sure havent! Can you even put another video card in an iMac? We are talking about hardware designed to work with a specific other kind of hardware. Do these other systems even have an compatible slot?

      What do you want? Sounds like you don't have any reasonable request, just a lot of religous fervor.
      --
      Free Mac Mini Yeah, it's
    145. Re:Pragmatism by wampus · · Score: 1

      Pardon my stupididty, but do SPARC boxes or RISC PC's even have AGP slots?

      Sun's site sells a couple EXPENSIVE graphics cards, but they are 64bit PCI cards.
      Acorn is the only RISC machine vendor I know of, and they ship with an OLD PCI Nvidia card. They also mention that X doesn't work on their machines at all, so I wouldn't be too worried about a lack of video drivers.
      Mac drivers I will give you, I didn't see any, but I didn't see any for OSX, either.

      Based on a quick look around the web, these cards seem to be designed and marketed for the x86 platform. NVidia is doing a decent job of supporting them on it. Linux and FreeBSD support is much more than they had to do. Let's not forget these OS's are gaining ground as SERVER OS's, not desktop/gaming OS's, at least in the eyes of the people making the decisions about where to put the money. Better ROI to get improved Windoes performance, rather than shoehorning a video card where it wasn't designed to go.

    146. Re:Pragmatism by anthony_dipierro · · Score: 1

      It shames me that so many of the current generation of Linux users don't understand what the world before Linux was like. It was hell. Closed source binary-only drivers everywhere. Buggy code that you couldn't fix. Linux changed all that.

      And it did so without mandating that all drivers be open source. You see, your argument is that Nvidia provides binary-only drivers, therefore people use the binary drivers instead of the open-source drivers, therefore the open-source drivers are less tested, therefore Nvidia support on linux is worse off. But you missed the next logical step. Nvidia support on linux is worse off, therefore people are less apt to buy Nvidia hardware in the first place. So yes, Nvidia support on linux may suffer, but this helps people who are making open hardware, hardware for which the drivers are easy to make in the first place.

      If we disallowed binary drivers, we might have a better Nvidia driver, but ultimately, we'd be worse off, because we'd be encouraging companys to make hardware which the open source community will then happily hack up drivers for without getting any support from the company themselves.

    147. Re:Pragmatism by anthony_dipierro · · Score: 2, Insightful

      If NVIDIA gets away with providing half-hearted binary-only support for Linux, why can't every other hardware manufacturer?

      Because those who provide full-hearted open-source support for Linux have a competitive advantage over NVIDIA. If you don't like the Linux support for NVIDIA, don't buy their hardware in the first place. No one is forcing you to do so. If you feel you have been tricked by the advertisement of "Linux support," return your video card and demand a refund.

    148. Re:Pragmatism by anthony_dipierro · · Score: 1

      Because most Linux drivers began their life as "sub-par reverse engineered drivers". It was only because they were open source that they got better.

      And it was only because of binary-only drivers that Linus was able to see his screen and therefore code Linux. Sure, reverse-engineered drivers used to be necessary, but that's no longer the case. Companies which don't provide the details necessary to make driver development easy shouldn't be supported at all, by open-source or by binary drivers. Sure, it might make Linux less attractive to the hard-core gamer, but the cost in terms of supporting a reverse-engineered driver is far too great.

      If NVIDIA wants to make a binary only driver, fine. For those that that's good enough, let them use it. But for those of us who want freedom, we won't buy their hardware in the first place.

    149. Re:Pragmatism by Ambassador+Kosh · · Score: 1

      Your problem with radeon cards is certainly strange. In my experience no configuration has been required at all to make them work under X 3d accelerated. The default distribution kernels build in support for DRI and AGP motherboard support and the default config for XFree86 is to have DRI and GLX enabled. So if you just stick a card in the system and turn it on then 3d should work and it has for me on a Radeon 7200 and 9100 so far. The advantage to this is you can swap cards and the system still just works.

      However my experience with the nvidia drivers have been disasterous on EVERY OS I have ever used them on (linux, mac os 9, win9x, nt4, w2k, XP). They work ok for games but geeze are they unstable when you try to do any actual development. Even for games they crash and lockup the system a lot more then they should. So far I have had the greatest stability from matrox card, then ati. Sure they may not run quite as fast but they run a lot more reliably and I would rather have the system running reliably then running faster since a crash wastes a lot of time.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    150. Re:Pragmatism by anthony_dipierro · · Score: 1

      Binary only drivers have tended to be crude ports of Windows drivers, and frequently crash the users kernel. This results in bug reports that the regular kernel hackers can't solve, and a misconception amongst users that Linux is unstable.

      There's a simple way to stop this, though. Stop supporting binary-only drivers. You don't have to make binary-only drivers illegal. You just stop supporting them.

      It would be like Microsoft banning the original Mozilla builds from being run on its Operating System. Because hey, Mozilla crashes Windows and therefore causes them extra bug reports.

      Of course, that leads to another possible solution. Maybe we shouldn't allow kernel modules to crash the operating system in the first place. But hey, that kind of microkernel design would be too hard, right?

      Far better would be if companies jumped wholeheartedly into the Linux way of doing things, and published their drivers under the GPL.

      Companies are there to make money, not to help Linux. If the Linux community wants open hardware, we need to make it ourselves, or make some sort of deal with those that do. It's kind of a catch 22 at this point, though. In order to convince hardware manufacturers to make hardware for your OS, you have to have lots of users. And in order to get lots of users you have to have lots of different types of hardware supported. Slowly, we're getting there. But in places like video drivers we're farther away, because the Linux software for the desktop isn't up to par yet either.

    151. Re:Pragmatism by Anonymous Coward · · Score: 0

      Fuck you, plain and simply, you arrogant fuck. I'm sick of people like you, go die.

    152. Re:Pragmatism by jusdisgi · · Score: 1

      Well, I appreciate the information concerning the amounts of OSS/non-OSS code in those drivers.

      However, I think the fact that you can't compile these for a SPARC is a minor problem at worst; don't most of those boxes come with their own specialized video systems? I have to guess they don't come with nvidia gear (unless by some serious perversity, nvidia makes a driver for Solaris, which seems highly unlikely) which means there isn't much use for the drivers there. In contrast, millions of nvidia boards are shipped in the x86 world annually, and this driverset runs on pretty much any x86 linux system. Or at least the ones I've tried.

      And anyway, I don't see how that's relevant. This company owns these drivers. They wrote them. They allege that there is IP in the binary part that they aren't willing to let competitors see, but they could just as easily say "we don't feel like it." It's their stuff. So we have a really simple choice...use them or don't. Now, since those drivers have in my experience been as stable and easy to install as any other video drivers I have ever used in Linux, and since my goal is actually using the system, rather than holding idealogical bullshit arguments on /., I use them.

      It is worth noting that I have had about 5 times as much trouble getting ATI gear to work right.

      Oh yeah, and thanks a lot for the baseless insult about sounding like a Windows user. For the record, the last time I had Windows on one of my own computers was in 1999. Now, I still don't run around senselessly bashing those who do use it...

      --
      Given a choice between free speech and free beer, most people will take the beer.
    153. Re:Pragmatism by Minna+Kirai · · Score: 1

      For me the source might as well be written in Hebrew. I get no benefits from having the code available.

      Here on planet earth, we have several million coders, thousands of whom live near you and are available for hiring.

      If you had the code for one platform, and needed another supported, they could do it for you. Your ability to get a specific need met is tremendously higher if you can use the free-market to choose from ANY programmer, not just the 10-20 working at NVidia corporation.

      NVidia wouldn't be interested in porting a driver for $4000, but J.Random kernel-hacker certainly would.

    154. Re:Pragmatism by jusdisgi · · Score: 1

      "You and 7658880 are both right in saying nVidia hasn't given anything (of value) to Linux."

      No, they are both wrong. Nvidia has given an excellent and fully-usable line of video chipsets to Linux.

      That's the big problem here; the module isn't the product! The hardware is...and Nvidia's cards are excellent for running linux. Millions of people (and presumably a large percentage of this year's first-time linux users) already own them. So the fact that they made those boards useable means Linux can reach a much wider audience than it could before, and thus Nvidia *did* give something to Linux.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    155. Re:Pragmatism by Minna+Kirai · · Score: 1

      Why don't the panics go to someone with nvidia's source code, even if it's nvidia themselves?

      1. Because nvidia doesn't care about fixing Linux. It's a tiny sideline for them. Windows and XBox is where the money comes from; it's what they'll concentrate on.

      2. Because a kernel panic could've been caused by any module loaded (or compiled) into the kernel. Where the bug originated may be entirely different from where it started. Kernel modules aren't protected from each other- a bad module could damage anything.

      Therefore the best way to go about solving a kernel panic is to have the entire code for what was running. And since the kernel developers are volunteers, they're not going to waste their time on anything but the "best" way.

      Suppose they figure out after much work that the nvidia driver was at fault? What can they do about it then? Nothing. Why debug something you're not allowed to fix?

    156. Re:Pragmatism by Anonymous Coward · · Score: 0

      "Far better would be if companies jumped wholeheartedly into the Linux way of doing things, and published their drivers under the GPL. Their competitors aren't going to get much of a leg up from seeing the source to most drivers, especially those for network adapters and the like, but the vendor can benefit from bug fixes provided by independent kernel hackers."

      Bullshit. There is significant IP in nvidia drivers. Im not ure whether you're lying or just stupid.

    157. Re:Pragmatism by jusdisgi · · Score: 1

      "Yes, I have. Lots of others have done this too. Being able to look up the source in case of network troubles is really a great help. The debug mode of the driver is very helpful, the source even better."

      Huh, huh. Yeah, ok man. I know lots of people who are capable of doing what you describe, and I know no one who actually has. Everyone I've known to look at driver code has done it for a)fun or b)active development of experimental drivers.

      I can see looking into the code if you are having trouble with a driver that is brand new or known-buggy. But if you are looking at the tulip.o driver to help figure out your network problem, you have a screw loose. I admit that I have never read driver source. I've run Linux for over 5 years and solved a multitude of problems ranging from the simple to obscure. It never required looking at the code.

      And thank heavens...it would be a really shitty system that required you to read its source code to solve normal problems.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    158. Re:Pragmatism by Minna+Kirai · · Score: 1

      this state is easy to achieve. *jedi mind trick* Simply pretend that nvidia has not released any drivers. Don't download them, don't install them. You are now exactly where you want to be. Now, in the true tradition of open source, you have every opportunity to reverse engineer and code up your own drivers. Nothing gained, nothing lost.

      No, your suggestion is not nearly equivalent to his desires.

      If Nvidia didn't release binary drivers, it would effect not just him, but millions of Linux users and Nvidia itself. The combined force of those users wanting software and Nvidia wanting sales would push for a driver to be released- and since it can't be closed source (per his fantasy stipulations), then it will be open.

    159. Re:Pragmatism by October_30th · · Score: 1

      If he's using Mac, nVidia has perfect drivers for it. What he wants is a fringe system: Mac and Linux.

      --
      The owls are not what they seem
    160. Re:Pragmatism by Keeper · · Score: 1

      Somehow I doubt a driver port would only be 1-2 weeks worth of development time ... numbers of 1-2 million lines of code have been thrown out.

      Even assuming that it would only cost $4000, who in their right mind would pay 4-8x the cost of a normal computer to get a driver to work with it? You'd be better off just getting a different piece of hardware.

    161. Re:Pragmatism by Anonymous Coward · · Score: 0

      >And it was only because of binary-only drivers that Linus was able to see his screen and therefore code Linux.

      You're suggesting that some forward-thinking company released binary-only drivers for Linux 0.1?

    162. Re:Pragmatism by TheRealSlimShady · · Score: 1
      Linux will get is name far faster by being accepted on the corporate desktop

      Ever bought a "corporate desktop" machine? If you're buying Dell machines, guess what video card you're likely to get?

      Nvidia

    163. Re:Pragmatism by Screaming+Lunatic · · Score: 1
      I have -- for an IA32 architecture consumer/home PC. Have you installed one on a SPARC box? You can't! NVIDIA don't provide a SPARC architecture build. Have you installed one on a RISC PC? You can't! NVIDIA don't provide an ARM architecture build. Have you installed one on an iMac? You can't! NVIDIA don't provide a POWERPC architecture build.

      Let me just open up my SPARC box and throw in my NV35. Oh wait, I can't. Well, hmm, how about my ARM machine. Oh wait, I can't either. NVIDIA hardware is not supported on these machines regardless of which operating system is being used.

      In terms of Linux on PowerPC. How about you send off an email to devrel@nvidia.com. Has anybody even asked for this driver? My guess is that manufacturers put together special boards with NVIDIA GPUs for the PowerPC. And that Apple has a big chunk of specialized code that their driver is built on.

      You sound like an unreformed Windows-using home/consumer PC builder. "Just download drivers from the manufacturer's support site" is the worst possible form of providing hardware support in an operating system.

      And you sound like a stereotypical Linux elitist that believes that all users should know how to use gcc.

    164. Re:Pragmatism by nathanh · · Score: 1
      So, in short, you would rather the company that makes video drivers for my card not, so that I can't use them to their full extent (until someone reverse engineers the drivers, which won't be a small job.) Hence, me losing some capabilities on my computer.

      Yes, I would rather that the drivers did not exist, but I don't see how you manage to make the leap to "rather I didn't have the freedom to do what I want". I have no desire to impede your freedoms. I simply wish that the drivers did not exist, because then we would be forced to do something about it instead of slumming in this horrible limbo of complacency.

    165. Re:Pragmatism by anthony_dipierro · · Score: 1

      No, I'm suggesting that Linus didn't use Linux to build Linux 0.1.

    166. Re:Pragmatism by nathanh · · Score: 1
      come on now. solaris is plain crap on x86.

      Oh yes, I agree, which is why I know the cost of Solaris is prohibitive. You need to get the Ultrasparc hardware and all the optional non-free software pacakges (Forte) to make it worth your while.

      I actually have Solaris at home running on an ancient Ultrasparc 2. My day job involves Solaris admin work. I don't need any advice on what is and isn't good about Solaris. I've some small amount of experience in this area.

    167. Re:Pragmatism by Grapes4Buddha · · Score: 1

      You seem to be capable of writing a video driver, so why don't you reverse-engineer the binary nVidia driver and roll your own open-source driver?

      If you come out with an open source version of the driver and it's any good, I'm pretty sure it will be accepted into the kernel.

    168. Re:Pragmatism by dgatwood · · Score: 1
      The reason that graphics card vendors don't publish full driver source code is that a lot of what makes their cards powerful is the software itself. Gone are the days where it was sufficiently fast if you simply passed the raw transform commands directly to the hardware. These days, most drivers do everything from NOP removal to instruction combining. Some even reportedly rewrite certain instruction types into different instruction types that the particular GPU can do faster.

      There's a surprising amount of intellectual property in these things, and the core drivers are generally not written for one particular platform, architecture, or even operating system, thus the glue layer. It's nice to see that the glue layer is open source, and it would be nicer to see a broader availability of the core module for multiple platforms, but I can certainly understand why nVidia and other similar vendors would want to keep their core private.

      --

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

    169. Re:Pragmatism by Chester+K · · Score: 1

      Nope. Having binary modules only stops developers from trying to make their own

      That's a weak excuse.

      Having binary-only operating systems available doesn't stop developers from working on Linux, does it?

      If the itch is bad enough, someone will scratch it. Right now it seems the binary-only nVidia modules are itchy enough to compel people to complain, but not bad enough for anyone to actually do anything about it.

      --

      NO CARRIER
    170. Re:Pragmatism by Anonymous Coward · · Score: 0

      Typical "modern" programmer - unaware that code runnable by your CPU is technically already in a readable form. Anything can be understood and debugged, source code or not. It just takes LONGER without the source.

    171. Re:Pragmatism by nathanh · · Score: 1
      You seem to be capable of writing a video driver, so why don't you reverse-engineer the binary nVidia driver and roll your own open-source driver?

      Effectively, we did. Not myself personally but the Utah-GLX project had a working nvidia driver, originally contributed from nvidia, no less. It wasn't very fast but all Linux drivers begin their life "sub-par" and rapidly improve. It's an expectation to have wobbly beginnings and a solid finish. The Utah-GLX driver was rapidly improving; in the few months I worked on it the performance doubled, bugs were disappearing faster than they were being found, and patches were pouring in from dozens of enthusiastic hackers.

      Then nvidia released their binary-only driver.

      The entire user base disappeared. The source of all feedback and patches was gone. The problem was that the nvidia drivers were good and they didn't cost a cent. That is the worst environment possible for the development of a free driver. If the nvidia drivers had cost $50 or were crappy then the free driver would have bloomed. Instead, the entire Utah-GLX/nvidia userbase disappeared practically overnight. No more bug reports. No more feedback. No more patches. No more interest. That's exactly what kills an open source project. It was very demoralising.

      You might be aware that there have always been closed-source X drivers. Back in the early days it was quite common to install the non-free Metro-X software. Their drivers were excellent. In some cases 4-5x faster than their XFree86 equivalents, if XFree86 even supported the same hardware! Red Hat bundled Metro-X to increase their supported cards. But that was all OK because Metro-X wasn't cheap. There was still an incentive to create the open-source equivalents in XFree86. And that was good because although it hurt initially we came out stronger because of it. Nobody bothers with Metro-X anymore; the combination of closed-source and a high price-tag forced the community to produce decent open-source equivalents.

      The nvidia driver is different. It's not only good but it also comes at no cost. That's the worst possible combination. That's that will harm the growth of Linux. Not patents. Not lawsuits. Apathy and complacency are our enemies. The nvidia drivers encourage apathy because they're "good enough" and most people are willing to compromise their principles for the immediate gratification of 3D graphics.

      And the fact that of all the responses I have had, not a single one has agreed with me, shows that there are very few of us who recognise that closed-source drivers are bad. As I said, I have no desire to stop you doing what you want. If you want to use closed-source drivers then you go right ahead. But I think it will slow the spread of Linux, not hasten it.

    172. Re:Pragmatism by RedWizzard · · Score: 1
      But even with those things considered, I still think nvidia's closed source drivers are worse than no drivers at all.
      Without nVidia's closed source drivers I wouldn't be using Linux at all.
    173. Re:Pragmatism by Rex+Code · · Score: 1

      So in your opinion, having no nVidia drivers would be better than the current state, which is that there are drivers for the vast majority of systems that need them (which is to say desktop PC's) which are closed-source but mostly working.

      In my opinion, yes. Like in the old days of Diamond, people would avoid nVidia hardware and wouldn't expect it to work. As a result, distro maintainers wouldn't have to deal with people using these crappy modules and demanding support for them when they don't work right.

      I buy ATI. I wouldn't touch nVidia's hardware (or their "free" drivers) with a ten foot pole. I'm also not a "whiner" -- I've never written to nVidia to try to ask them to change their licensing scheme or to open source their drivers. They can do whatever they want as far as I'm concerned, including following a path straight to hell.

    174. Re:Pragmatism by nathanh · · Score: 1
      Without nVidia's closed source drivers I wouldn't be using Linux at all.

      I honestly wouldn't have a problem with that. Don't ever make the mistake of thinking I care what software you run. I don't even care if you use the binary-only nvidia driver, though it seems to be a common mistake on this thread for people to think that I do. I stated my preference that the closed source binary-only driver didn't exist but, if the driver does exist, it's your choice whether you use it or not.

    175. Re:Pragmatism by RedWizzard · · Score: 1
      I stated my preference that the closed source binary-only driver didn't exist but, if the driver does exist, it's your choice whether you use it or not.
      Um, no. You said a closed source driver was worse than no driver at all. That's an entirely different position from "I'd prefer there wasn't a closed source driver".
    176. Re:Pragmatism by nathanh · · Score: 1
      Um, no. You said a closed source driver was worse than no driver at all.

      That is correct.

      That's an entirely different position from "I'd prefer there wasn't a closed source driver".

      Really? To me they mean the same thing. Tell me, what do you think the difference is?

    177. Re:Pragmatism by mr3038 · · Score: 1
      [The] code runnable by your CPU is technically already in a readable form. Anything can be understood and debugged, source code or not. It just takes LONGER without the source.

      Plus, it can be really hard to fix the issue after you find the problem in the binary driver. Sometimes the new code doesn't fit the existing space (fixed binary code requires more bytes than the original) and extra code is required to jump to another location to execute all the code then then jump back to continue original code. If the problem was in performance critical location this isn't an option and it might be that the problem is practically impossible to fix without the source. Sure, you can more and more code but where's the point? To help the vendor that's not willing to co-operate to make more money? For free? Why??

      Some things that you can do aren't worth doing.

      --
      _________________________
      Spelling and grammar mistakes left as an exercise for the reader.
    178. Re:Pragmatism by Anonymous Coward · · Score: 0

      I'm not sure why fixing the code has to be done in the same space the original binary takes up - disassembling and replacing label names is not really a problem, and only needs to be done perfectly once, and then you have ASM source code to work with.

      I'm not saying it's the ideal solution, of course. Ideal would definitely be having the original source. But in it's absence, it could be gotten around. And as for the point? Well, to have an understanding of what, say, Nvidia is trying to hide, so we could have well-performing open source drivers (and I would never have to fuck around installing patches from unknown sources in order to get the NVidia module to work with 2.6 series kernels...)

    179. Re:Pragmatism by spitzak · · Score: 1

      I most certainly did buy an nVidia card because of the Linux support. My machine is dual-boot but the choice of graphics card was dictated by it working well under Linux. It is true that nVidia also works better under Windows than other cards, but the difference is not so great and certainly would not have influenced me except for the fact that it *also* works under Linux.

      Therefore I definately believe that nVidia's Linux support is responsible for the sales of thousands of additional cards, just like the original poster said.

    180. Re:Pragmatism by spitzak · · Score: 1

      Nonsense. What you are talking about is equivalent to a run-time switch, or perhaps a compile-time option. It is *NOT* similar to having the source code.

      Any knowledgable mechanic can modify a Ford car to remove he catalytic converter using normal tools (ie standard-sized bolts, bits of tubing, etc), and by examining the car (or even the manual that Ford prints) they can easily figure out how to remove it. So I would agree with the original poster that the catalytic converter situation is exactly the same as a hardware manufacturer providing source code, and Ford does not seem to get in trouble for it.

    181. Re:Pragmatism by RedWizzard · · Score: 1

      "I'd prefer there wasn't a closed source driver" is an opinion you are clearly applying only to yourself. "Having a closed source driver is worse than no driver at all" is a blanket statement that will be taken as applying to everyone. If that's not how you meant it you should have been more precise.

    182. Re:Pragmatism by nathanh · · Score: 1
      "I'd prefer there wasn't a closed source driver" is an opinion you are clearly applying only to yourself. "Having a closed source driver is worse than no driver at all" is a blanket statement that will be taken as applying to everyone. If that's not how you meant it you should have been more precise.

      I think you are splitting hairs. "Having a closed source driver is worse than no driver at all" is very clearly an opinion. You would have to struggle to interpret it any other way.

      Unless you are under the mistaken impression that I'm the release manager for nvidia and that I have the power to stop them releasing drivers? Or that I have the power to stop you from using them?

    183. Re:Pragmatism by nathanh · · Score: 1
      In certain cases, manufacturers can provide open source modules, but many times, there simply is no viable way. Complex hardware or hardware/software combination is usually covered by multiple patents, ...

      Red Herring. Patents have to be on the public record. That's a requirement of getting the patent.

      Software vendors bury their patents inside copyrighted code because they're greedy. They get the patent and they don't have to reveal the implementation. It's definitely against the spirit of patents even if it does fall within the letter of the law. But open-sourcing the module only has relevance to copyright licensing and trade secrets and agreements; the patents are still valid and they can charge whatever royalties they like.

    184. Re:Pragmatism by nathanh · · Score: 1
      And it was only because of binary-only drivers that Linus was able to see his screen and therefore code Linux.

      Minix is not and never was "binary-only". It and all the drivers came with full source code though the license was far too restrictive to be considered free software.

    185. Re:Pragmatism by Anonymous Coward · · Score: 0

      So... I gather it's post #7659275 you agree with, right? (That's not quite clear from the "parent" link in yours.)

    186. Re:Pragmatism by zurab · · Score: 1
      Red Herring. Patents have to be on the public record. That's a requirement of getting the patent.

      Software vendors bury their patents inside copyrighted code because they're greedy. They get the patent and they don't have to reveal the implementation. It's definitely against the spirit of patents even if it does fall within the letter of the law. But open-sourcing the module only has relevance to copyright licensing and trade secrets and agreements; the patents are still valid and they can charge whatever royalties they like.


      You are absolutely right with respect to patents. However, patents do have a significance in this discussion because they are incompatible with the GPL. I am not a graphics expert, but if, in a hypothetical (but likely) case, NVidia licensed and used an implementation of a patented software method, or software/hardware combination in their driver that is owned and registered to ATi, then NVidia would obviously not be able to offer the driver source code under GPL. In that case, for NVidia driver source to be under GPL, it would take a consent from all parties that have interests in the software driver including through patents, NDAs, copyrights, and trade secrets to make their contributions ("IP") available under GPL compliance. Specifically, patent owners, ATi in the above case, would have to license their patents for everyone's free use, as GPL requires, and would not be able to charge royalties for its use.
    187. Re:Pragmatism by nathanh · · Score: 1
      However, patents do have a significance in this discussion because they are incompatible with the GPL.

      No, they are not. The existence of RCU (an IBM owned patented technique) in Linux is proof of that. In the case of RCU, Linus demanded and got a royalty-free perpetual license for RCU before he permitted it into the kernel. You even acknowledge this possibility:

      ATi in the above case, would have to license their patents for everyone's free use, as GPL requires, and would not be able to charge royalties for its use.

      So I don't see that there is any dispute here. Nvidia doesn't release the source because they don't want to. Licenses, patents, agreements, trade secrets, these are all solvable problems. Nvidia simply doesn't want to solve them. They are happy with the current situation because the vast majority of their Linux customers don't care. Apathy is our own worst enemy.

    188. Re:Pragmatism by Webmonger · · Score: 1

      Another possible reason for NVidia keeping their source closed would be if there was something they'd be ashamed of in there. Remember the recent NVidia Futuremark fiasco? What other dirty secrets might they have? (He queried, while using a GForce3 card.)

    189. Re:Pragmatism by zurab · · Score: 1
      But open-sourcing the module only has relevance to copyright licensing and trade secrets and agreements; the patents are still valid and they can charge whatever royalties they like.

      However, patents do have a significance in this discussion because they are incompatible with the GPL.

      No, they are not. The existence of RCU (an IBM owned patented technique) in Linux is proof of that. In the case of RCU, Linus demanded and got a royalty-free perpetual license for RCU before he permitted it into the kernel. You even acknowledge this possibility:


      I was disputing the claim that they could still "charge whatever royalties they like." Well, they can, but not for GPLed software. I'm not sure what legal matters would be involved with charging royalties for proprietary software in that case.

      So I don't see that there is any dispute here. Nvidia doesn't release the source because they don't want to. Licenses, patents, agreements, trade secrets, these are all solvable problems. Nvidia simply doesn't want to solve them. They are happy with the current situation because the vast majority of their Linux customers don't care. Apathy is our own worst enemy.


      "Solvable" meaning theoretically. Realistically, it's not going to happen. I revert to my previous example - ask Linus to offer Linux under BSD license. It's a "solvable" issue - all major and minor contributors could be contacted and code re-licensed under BSD and re-released with that license; not to say that Linus et al. would want to do so, or that the scenario is realistic at all.
    190. Re:Pragmatism by mandolin · · Score: 1
      Nathan (Hand?): I remember the work you did on utah-glx, and am grateful for it. My personal solution to this mess was simply to not buy an Nvidia card.

      If you had noted how Nvidia's binary-only module had effectively killed the utah-glx nvidia driver (interesting take on that BTW) a couple of posts up, I think a lot more people would be agreeing with your position.

      I've gotta say I'm still sitting on the fence, though. *If* there is still an itch for high-quality, open-source nvidia 3d drivers out there, it will eventually be scratched. All things in their time. Yadda yadda.

    191. Re:Pragmatism by mandolin · · Score: 1

      .. and by that last paragraph I did not mean to denigrate or trivialize the hard work that you, ripperda, carmack, and the gang put into utah-glx. Thx.

    192. Re: Pragmatism by gidds · · Score: 1

      NVidia isn't a small company; they have clout. If they wanted to release their drivers, I'm sure they could re-negotiate their licenses or find some other way to do so. I'm surprised to see so many people making excuses for them.

      --

      Ceterum censeo subscriptionem esse delendam.

    193. Re:Pragmatism by Crazy+Eight · · Score: 1
      Whether or not installing installing Linux on a Mac makes you the user of a "fringe" system is a matter of opinion. Certainly he's in a numerical minority, but prefering Linux to OS X and Apple hardware to x86 hardware isn't unnatural. Myself, I happen to think Apple makes great laptops but am unimpressed with OS X. In fact, I find it downright annoying -- though I can understand why most like it.

      Yet breaching that subject in the first place only makes me wonder: So what? What is your point? The guy could be telling us that he wants to hook up NV30 to a cluster of iPAQs and it wouldn't change the fact that the only thing stopping him is a lack of open source drivers or even just hardware specs. What exactly about that is upsetting you?

    194. Re:Pragmatism by spitzak · · Score: 1

      I agree with the "removing the catalytic converter is the same as modifying the source code" person.

      The argument that people can violate FCC regulations because they have the source code and this would make the provider of the source code liable is stupid. You can violate FCC regulations easily and much worse with a bunch of parts you can buy from Radio Shack, and the store and manufacturers of those parts are not worried about liability.

    195. Re:Pragmatism by hysterion · · Score: 1
      Rrrright! :-)

      (I was confused too, somehow your posts seem to thread as replies to the parents of the ones you're actually answering.)

      Baffles me to see "ray-auch" go to the length of writing down such a strange (FUD?) argument... and then have 3 mods fall for it ?! Strange.

    196. Re:Pragmatism by October_30th · · Score: 1
      lack of open source drivers or even just hardware specs. What exactly about that is upsetting you?

      Trying to blame the company for the troubles. They don't have any obligation to release any of their specs if they don't want to.

      I had 164LX Alpha in 90s. I tried running Linux on it and yes it worked but it didn't work too well. Did I complain to DEC that they're not doing enough to support Linux? No. Instead, I bought DEC's Unix and was very content with it.

      --
      The owls are not what they seem
    197. Re:Pragmatism by Crazy+Eight · · Score: 1

      I don't think anyone was placing blame here. I agree that Nvidia has no obligation to the open source community. I think their Linux drivers work very well and appreciate the fact that they've made them available. That doesn't mean an open driver wouldn't make their hardware more useful to more people -- like pe1rxq for example. I apologise for my rather loud-mouthed initial response. I was annoyed because it seemed you were either talking at cross-purposes for the sake of an argument that doesn't exist, or didn't know the difference between a binary and code but felt the need to lay a little smack-down anyway.

    198. Re:Pragmatism by spitzak · · Score: 1

      It appears that Slashdot just removes posts that are below your threshold and "reparents" responses to them so they look like they are responses to the parent.

      I would prefer that Slashdot either remove the post and *all* responses, or have it act like the score is the maximum of itself and all responses to it. Ie if somebody posts a down-rated comment, but somebody else posts and high-scoring response, that probably means the down-rated comment is interesting.

    199. Re:Pragmatism by Wolfrider · · Score: 1

      --The choice:

      o NO Nvidia driver, if everyone demands "GPL / open source, or nothing!"

      o Binary-only driver that *works* - albeit only on industry-standard commodity desktop hardware (x86)

      "Alex, I'll take the Lesser of two evils for $0..."

      --
      .
      == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
  4. GPL/Linux Modules? by nil5 · · Score: 0, Offtopic

    So how does this affect hardware developers? I mean come on, are they subject to the same constraints as typical kernel developers? The main proble, as I believe Linux was trying to outline in the article, is that using any sort of licensing scheme will result in some unexpected difficulties. if you go here you will find just the sort of licensing predicament we can expect from now on.

  5. different perspective by millette · · Score: 3, Informative

    The article is actually an email thread. It does explain boths views. Here's another look at it from Kevin Dankwardt. A little dated, sept. 2002, but still relevant today.

  6. Free? I don't think so. by Anonymous Coward · · Score: 1, Insightful

    Thanks to the GPL, any source code derived from the Linux kernel source code must also be freely released under the GPL.

    I believe this is wrong. The GPL doesn't say anything about having to release things for free. You could charge a million bucks. You just have to give the source.

    1. Re:Free? I don't think so. by BESTouff · · Score: 1
      I believe this is wrong. The GPL doesn't say anything about having to release things for free. You could charge a million bucks. You just have to give the source.

      Then don't use the word "free", it has a too weak meaning. Either use analogies ("free as in beer"), or other words ("gratis", "libre", "no charge", whatever ..)

    2. Re:Free? I don't think so. by Anonymous Coward · · Score: 0

      True, but under the GPL you can't prevent the person you sell it to from passing on the code to others free of charge, so long as it remains under the GPL. If you charge any nontrivial amount of money for a GPL'd product, people will just P2P it (legally) and you'll get nothing. Thus releasing under the GPL means de facto releasing free/beer, even though the GPL does allow you to charge money.

    3. Re:Free? I don't think so. by Anonymous Coward · · Score: 0

      Yes, but anyone with sense realizes that if you can acquire and build the source for very little effort, that requirement puts a cap on the amount you can charge for pre-built binaries. For ten bucks, people might be willing to pay for convenience. For a million dollars, almost any customer would find it worth their while to build it themselves.

      The GPL doesn't prohibit you from selling code directly, but it does effectively prohibit it indirectly, by forcing the availability of an alternative source of the product for next to nothing.

    4. Re:Free? I don't think so. by anthony_dipierro · · Score: 1

      If you charge any nontrivial amount of money for a GPL'd product, people will just P2P it (legally) and you'll get nothing.

      You'll get whatever you charged for a single product. So just make sure you set the price for the single product high (like $100,000 or something). :)

    5. Re:Free? I don't think so. by Trejkaz · · Score: 2, Interesting

      This is where a model like an extreme version of the 'random model' might come in handy. Release neither the source, nor the binaries, until the sum total of donations crosses a certain mark.

      Of course it would have to be a bloody good product to achieve it.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    6. Re:Free? I don't think so. by anthony_dipierro · · Score: 1

      The problem is that people aren't going to trust you to make a good product, or that you've made a good product. They're going to want to try it out first, and once you've let them try it out, oops, you've gotta give the source (at least, if it was based on another GPLed product).

      Another potential solution is to break the software up into small parts, and then charge a small fee for each part.

    7. Re:Free? I don't think so. by Trejkaz · · Score: 1

      Yeah, the original ransom model is certainly a lot more sensible (give the binary out for free-as-in-beer, then free-as-in-speech the source once the donations cross a line.)

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  7. Linux driver model doesn't help by Vanders · · Score: 5, Insightful

    This "grey area" exists because there is no clearly defined boundary defining the seperation between the kernel and the drivers. Modules are parts of the kernel which have not been linked yet. When they're required, they are loaded and linked with the kernel.

    The fact that Linus states that there is no exception must worry a lot of companies out there who are producing binary drivers for Linux E.g. nVidia, or SciTech (Who started the LKML thread, after all!) Are nVidia's kernel modules under the GPL? If the possibility exists that they are then I would expect them to suddenly get cold feet over Linux.

    If the kernel had a proper boundary with E.g. a set of API's that the kernel and drivers can use to communicate with each other then it would help to solve the issue of what is and isn't "the kernel". For example in Syllable drivers are ELF images which are loaded by the kernel ELF loader. The drivers are loaded under the kernels memory space but there is a very well defined API between the two, and a very clear seperation between them. Under this model I can argue that the kernel is actually being linked to the driver, so the driver can be under any licence while the kernel remains under the GPL. There is no "cross pollenation" between the driver and the kernel. Which is a good thing IMHO, if it avoids issues like the ones being raised on the LKML.

    1. Re:Linux driver model doesn't help by StenD · · Score: 3, Interesting
      The fact that Linus states that there is no exception must worry a lot of companies out there who are producing binary drivers for Linux
      No, because he immediately explains that it isn't an exception, it's a clarification:
      There's a clarification that user-space programs that use the standard system call interfaces aren't considered derived works, but even that isn't an "exception" - it's just a statement of a border of what is clearly considered a "derived work". User programs are _clearly_ not derived works of the kernel, and as such whatever the kernel license is just doesn't matter.

      And in fact, when it comes to modules, the GPL issue is exactly the same. The kernel _is_ GPL. No ifs, buts and maybe's about it. As a result, anything that is a derived work has to be GPL'd. It's that simple.

      Now, the "derived work" issue in copyright law is the only thing that leads to any gray areas. There are areas that are not gray at all: user space is clearly not a derived work, while kernel patches clearly _are_ derived works.

      But one gray area in particular is something like a driver that was originally written for another operating system (ie clearly not a derived work of Linux in origin). At exactly what point does it become a derived work of the kernel (and thus fall under the GPL)?

      THAT is a gray area, and _that_ is the area where I personally believe that some modules may be considered to not be derived works simply because they weren't designed for Linux and don't depend on any special Linux behaviour.
      And specifically talking about nVidia:
      In contrast, these days it would be hard to argue that a new driver or filesystem was developed without any thought of Linux. I think the NVidia people can probably reasonably honestly say that the code they ported had _no_ Linux origin. But quite frankly, I'd be less inclined to believe that for some other projects out there.
      And, to wrap it up:
      No, the note at the top of the copying file is something totally different: it's basically a statement to the effect that the copyright holder recognizes that there are limits to a derived work, and spells out one such limit that he would never contest in court.

      See? It's neither a license nor a contract, but it actually does have legal meaning: look up the legal meaning of "estoppel" (google "define:" is qutie good). Trust me, it's got _tons_ of legal precedent.
    2. Re:Linux driver model doesn't help by Vanders · · Score: 1

      No, because he immediately explains that it isn't an exception, it's a clarification:

      Um, yeah. So in other words: There is no exception. If you read the text you quote you can see that Linus specifically states that "The kernel _is_ GPL. No ifs, buts and maybe's about it. As a result, anything that is a derived work has to be GPL'd." He does not make any exeptions for kernel modules (Which is the point of the entire discussion on the LKML)

      While Linus gets tied up arguing about derived works and wether the code was originally written for Linux, he doesn't actually solve the problem of the "grey area". I don't believe Linus has thought it through totally.

      Think about it in terms of the nVidia binary modules. The kernel is GPL and the nVidia wrappers are written specifically for Linux. Therefor the wrapper must be under the GPL. If the wrapper is under the GPL and the nVidia driver itself is linked with this wrapper code..what licence is the core part of the driver under? If it isn't the GPL then it can be argued that the "viral" nature of the GPL is fluff, and cannot be enforced or is easily worked around. If it is GPL, then nVidia are going to be concerned because they don't want their driver under the GPL.

    3. Re:Linux driver model doesn't help by Anonymous Coward · · Score: 0

      The work around for this stub problem is to simply declare that the stub is an OS extension that supports a certain architectural interface. Therefore, the driver itself can be written to the interface rather than to the OS driver interface directly, and thereby declare that their driver code is free of GPL code completely.

    4. Re:Linux driver model doesn't help by Anonymous Coward · · Score: 0

      Yes but if the stub links to the kernel it is under the GPL, and if the driver links to the stub it is under the GPL too. If you decide to declare the wrapper as exempted from the GPL, why not just declare that all drivers are exempted? Working around the GPL doesn't work because of the viral nature of the GPL. Adding more layers does not help, and you cannot simply declare one of those layers as exempt from the GPL.

    5. Re:Linux driver model doesn't help by Anonymous Coward · · Score: 0

      The driver layer, though, only links dynamically at runtime, therefore is exempt.

      The stub itself would handle the loading and unloading of kernel objects, and the driver would just interface through a common interface.

      Adding a layer that intentionally breaks the viral nature of the GPL is possible, given that dynamic linking is not GPL-restricted.

    6. Re:Linux driver model doesn't help by fucksl4shd0t · · Score: 1

      While Linus gets tied up arguing about derived works and wether the code was originally written for Linux, he doesn't actually solve the problem of the "grey area". I don't believe Linus has thought it through totally.

      Dammit, Jim, I'm a programmer, not a lawyer!

      Maybe Linus doesn't solve that problem because he knows damn well that he can't. It's a problem all the Linux contributors have to solve collectively, or it requires a platoon of lawyers and a jury of their peers. It seems to me that Linus did everything he could to help people understand the issue, but in the end it either takes people agreeing or winning a fight to solve the problem.

      Personally, I hope the SciTech guy decides to just go ahead and GPL their kernel module and release it anyway. I think they (and we!) will be better off.

      --
      Like what I said? You might like my music
    7. Re:Linux driver model doesn't help by StenD · · Score: 1
      Think about it in terms of the nVidia binary modules. The kernel is GPL and the nVidia wrappers are written specifically for Linux. Therefor the wrapper must be under the GPL. If the wrapper is under the GPL and the nVidia driver itself is linked with this wrapper code..what licence is the core part of the driver under?
      What interface does the wrpper provide to the core driver? I can't say that I've looked at the nVidia wrappers, but I expect that Linus has, and he specifically stated that he thinks that nVidia can honestly say that the ported code had no Linux orgin. If Linus is willing to accept that the wrappers provide an API to the binary drivers that they were already written to, I'm willing to accept his word for it.

      While you seem to be chastising Linus for getting "tied up arguing about derived works", that's what this is all about. For the sake of argument, let's assume that binary portion of the nVidia driver was written for Windows, and the wrapper maps some Windows calls to Linux calls. Is the wrapper a derived work of Linux? Yes, since it's not usable without Linux. Is the binary driver a derived work of Linux? Linus is saying no, because it was written to a different interface, and required a translation layer to work on Linux. The argument that the binary driver is a derived work of Linux because the wrapper makes it work on Linux is akin to the SCO argument that anything that ever touched SysV code became part of SysV.
    8. Re:Linux driver model doesn't help by Anonymous Coward · · Score: 0

      The driver layer, though, only links dynamically at runtime, therefore is exempt.

      Where do you get this from? This is exactly the problem; the driver layer is note exampt, wether the linking is done at run time or not. If it were, then there would be no problem.

      Really, you can't just start adding layers on top of GPL code and declare one of them not-GPL'd The GPL is viral; it "infects" each layer you add. Trying to wrap your way out of it has been tried several times before and has always ultimately failed.

    9. Re:Linux driver model doesn't help by Anonymous Coward · · Score: 0

      No, simply focusing on the issue of derived works does not solve the problem of this "grey area". Think about how the GPL works here. If the wrapper around the nVidia drivers is a derived work of the kernel it must be under the GPL; we both agree on this point. However if that is the case then the driver itself is a derived work of the wrapper (The code in question was specifically written for the wrapper and is linked at compile time with the wrapper code) and therfore it is also under the GPL!

      How can you have one layer of the code under the GPL without making any dependent layers GPL'd, too? It isn't feasible. It is exactly why the FSF created the LGPL; to stop GPL'd system libraries "infecting" upper layers of the system E.g. non-GPL'd software.

    10. Re:Linux driver model doesn't help by MechaStreisand · · Score: 1
      If the wrapper is under the GPL and the nVidia driver itself is linked with this wrapper code..what licence is the core part of the driver under?
      Interesting thought... I think it works in this case because nVidia owns the copyright to both the closed-source part of the driver AND the GPL part. They can distribute the GPLed part because they are complying with the terms of the GPL, and they can distribute the closed-source part because they own it. It may well violate the GPL that covers the other part of their code, but the beauty of this is that no one can sue them for it except for... themselves.

      Beauty, ain't it?
      --
      Disclaimer: IANAL. This post is, however, legal advice, and creates an attorney-client relationship.
    11. Re:Linux driver model doesn't help by julesh · · Score: 2, Informative

      Dynamically linking to a GPL'd library does not _necessarily_ cause a program to become licensed under the GPL.

      It has long been held in copyright law (through case history) that using an API does not, of itself, mean that the program that uses it is a derivitive of an implementation of that API.

      This would be especially true if two implementations of the same API existed, which is probably the case in the nVidia drivers that were being discussed; there is a small driver module (whose source code is available) that merely provides an API layer between the kernel and another program (no source code available). My guess is that that program is simply a recompilation, with no source code changes, of the equivalent program under Windows, which would use a different compatibility layer.

      It is therefore plainly not a derivitive of the Linux compatibility layer, because it could be used separately from it. And by the terms of the GPL, as it is a separable program that doesn't depend entirely upon the other, it does not have to be GPL licensed.

    12. Re:Linux driver model doesn't help by mdielmann · · Score: 1

      I think the more interesting thing that Linus said is that modules that are derived from a non-Linux source may be by definition not derived from Linux. This leads to a conundrum, and a position that may have legal backing. If the only difference between two modules is that one was initially designed for Linux and the other wasn't, how can it be reasonable to assume that the license restrictions are different? What if the source was identical (for, say, the BSD driver), but I compiled for Linux first? Of course, this only applies if the Linux module doesn't use Linux-specific commands, which one would think is a goal of portability. These are the kinds of issues that judges resolve. This also happens to be one of the (maybe the only) elements of the GPL that I find implausible, and may come to a court decision to see if it stands.

      --
      Sure I'm paranoid, but am I paranoid enough?
    13. Re:Linux driver model doesn't help by RealProgrammer · · Score: 1
      This "grey area" exists because there is no clearly defined boundary defining the seperation between the kernel and the drivers.

      The may be no boundary API, but that's an ivory tower perfection versus practical performance issue. There is a legal boundary, however. From a different part of the thread (under the context of what the GPL means by "using the program" versus using the source code):

      So you can run the kernel and create non-GPL'd programs while running it to your hearts content. You can use it to control a nuclear submarine, and that's totally outside the scope of the license (but if you do, please note that the license does not imply any kind of warranty or similar).

      BUT YOU CAN NOT USE THE KERNEL HEADER FILES TO CREATE NON-GPL'D BINARIES.

      Comprende?

      Linus

      The all caps emphasis was Linus, not me.

      As long as you don't use the Linux source code, which includes the header files, you can publish your binary or source under any license you wish. If you use the Linux source code, you can only publish under the GPL (or keep everything to yourself).

      --
      sigs, as if you care.
    14. Re:Linux driver model doesn't help by andrel · · Score: 1

      The kernel developers have clearly said what the boundaries are. On one side the bus interface and the other the system call interface. Everything in between is the kernel. There deliberately is no boundary between kernel and drivers, and Linus has repeatedly said he will not reconsider that decision since the technical reasons for it are still valid.

    15. Re:Linux driver model doesn't help by anthony_dipierro · · Score: 1

      But one gray area in particular is something like a driver that was originally written for another operating system (ie clearly not a derived work of Linux in origin).

      That's simply nonsense. Just because something is written for an operating system does not make it a derived work "in origin." If that were true, then all Windows software would be a derived work of Windows. All Nintendo games would be a derived work of Nintendo. Game Genie would be a derived work of Nintendo.

    16. Re:Linux driver model doesn't help by RedWizzard · · Score: 1
      This "grey area" exists because there is no clearly defined boundary defining the seperation between the kernel and the drivers.
      Wrong. This "grey area" exists because there has been no legal clarification (legislation or case law) that defines what is and isn't a derived work in this case. But for drivers the area doesn't seem to be very grey: drivers are really part of the kernel in almost all cases as they have no use outside the context of the kernel, and have been written with the kernel in mind. Linus' opinion is that there are some cases where a module may not be a drived work, namely if the code in question was written without any consideration for Linux. This is the case with the Andrew File System, and also with the binary part of the nVidia drivers. However it is not clear if these "exceptions" are really not derived: that is the grey area.
  8. here's two well writtens articles: by ciaran_o_riordan · · Score: 4, Informative

    LWN.net do some great coverage of this issue in these articles:
    http://lwn.net/Articles/53780/
    http://lwn.net/Articles/51561/
    These two articles are in relation to Linksys, but they cover the general issue. There have been some other great GPL-related articles on LWN.net if anyone wants to search the site.

  9. What Linus is missing here... by kju · · Score: 4, Insightful

    Linus talks all about linking source with the kernel and stuff like this. But guess what: With most binary modules this part is done by the user, not by the distributor, and this is clearly your right - you just cannot distribute the binary.

    See for example stuff like driverloader (the ndis-wrapper around windows wlan drivers for the centrino and other cards): They are shipping a source which you can compile against the kernel headers (which are provided by YOU!) and will form a kernel module which can be loaded (by YOU!) against the kernel.

    I really can't see how linus can claim copyright to the distribution of any source which happens to run with the linux kernel - but does not contain any part of it. And the enduser is free to compile and link this sources against the kernel, as the GPL allows modifications for own use without any restriction.

    I guess the whole discussion is politics. Linus dislikes binary only drivers (for good reasons: they are unflexible, hard to debug and can cause user confusion and problems) and would like to have them not happen. But i don't think it is helpful to take a extreme shaky legal position (and downright confusing the users by making legal statements which simply do not apply here) to achieve this goal.

    Although i dislike binary-only drivers in general, i came to the understanding that sometimes this might be the best you can get. In the business software world copyright is often a diverse field, and even companies who would like to release the source might be barred from that through NDAs and copyrights of third companies. So some companies have no choice but releasing binary drivers and i'm happy that they do at least that. If all would adhere to linus position we would just keep some users alone out in the rain. I'm all for helping users getting their hardware running. They might have made the wrong purchase in the first (getting a hardware with open sourced drivers would have been wiser), but just saying "tough stuff, you have lost, now go away" won't help them.

    1. Re:What Linus is missing here... by squid_wrangler · · Score: 2, Informative
      I really can't see how linus can claim copyright to the distribution of any source which happens to run with the linux kernel - but does not contain any part of it.

      For device driver (and similar) modules that run within the kernel, the statement that they "don't contain any part of it [the kernel source]" can't be made so easily. To develop and compile the driver, the kernel header files are needed. Even putting aside structure definitions and the like, which are kernel sources, it is very easy to get whole functions subject to GPL be included in binary-only drivers by way of inlining (see the example of "static inline ..." functions mentioned in the original discussion).

    2. Re:What Linus is missing here... by Anonymous Coward · · Score: 2, Interesting

      We're talking about binary modules. In this case, while the linking may be done by the user, the module is compiled before distribution. Consequently the object file may contain GPLd code by ways of inlining. At that point it clearly becomes derived work and cannot be distributed (except with source and GPL).

      Even if it doesn't contain GPLd code there are things to look out for. The GPL defines what is considered derivative and what is not. According to the GPL, kernel modules clearly fall into the former category, even if they don't include GPLd code by inlining. If you are in a position in which you have to accept the Linux kernel license (IOW you distribute the kernel, which you aren't allowed to do without accepting its redistribution license), then you have to provide source to your modules. Only if you don't distribute the kernel you can ignore the GPL's definitions of "derivative" and fall back to standard law definitions which probably allow distribution of a binary module.

    3. Re:What Linus is missing here... by BESTouff · · Score: 1
      Although i dislike binary-only drivers in general, i came to the understanding that sometimes this might be the best you can get. In the business software world copyright is often a diverse field, and even companies who would like to release the source might be barred from that through NDAs and copyrights of third companies.

      You just don't seem to know much about IP law, eh ? You will never loose your copyright by releasing some code under the GPL. You still own the code, and you can still make a proprietary package from it, e.g. to sell it packaged for an other OS.

      Copyright and license are two different beasts.

    4. Re:What Linus is missing here... by kju · · Score: 1

      For development you will need the kernel sources, yes. But the companies are free to use them for inner-house development, and what they are shipping in final is free from kernel sources. See it more like a "patch" against the kernel. This patch is distributed to endusers which happen to use it against the kernel and compile it. And it would work against any other os kernel which happen to have the same module interface.

      For the linking (which is done by the enduser!) you will fairly sure end up with having gpl code contained in your binary (e.g. through using the header files which include static inlines). But as the binary is not distributed (at least not by the company), this is no breach of the GPL.

      I guess the phrase "binary modules" is misleading. Of course a complete binary-only-module would be very likely against the GPL. But most binary modules are only in part binary only but contain a lot of open sourced stuff for interfacing with the kernel etc. The final linking of the GPL'd stuff against binary-only modules is done by the enduser which is free to do so. No point here.

    5. Re:What Linus is missing here... by kju · · Score: 4, Insightful

      Yes, we are talinkg about some binary modules which are compiled before distribution and WHICH SIMPLY DOES NOT EXIST. All "binary only" modules i've seen so far contains at least a short kernel linkage stub which is distributed in source and compiled by the enduser, because this is the only way to ensure that the module is compatible with your running kernel.

      The companies providing "binary only" drivers are only distributing this stub source (which they very often GPL) plus their propitary binary. Compiling and linking is usually done by the enduser. Providing real binary-only-drivers would lead to many problems and therefore just isn't done.

    6. Re:What Linus is missing here... by geirhe · · Score: 2, Interesting
      I really can't see how linus can claim copyright to the distribution of any source which happens to run with the linux kernel - but does not contain any part of it.

      He doesn't. He is claiming copyright for the interfaces you have to use to make a kernel module. You are free to do whatever you wish to the bits you have written yourself - you have the copyright on that.

      However, including the *.h files needed to make your code a derived module makes use of something someone else have written. You are not allowed to make copies of that code without the consent of the copyright holder.

      The other copyright holder is willing to give you the right to make copies of his code and distribute the result. The terms may, however, be dictated by him. He owns the copyright to the code you need, after all. The terms you are being offered are based on the concept that if you want to link to the linux kernel and distribute the result, you have to let everyone else do what you just did to the code you wrote.

      You are, of course, free to try to negotiate a better deal. Be my guest.

    7. Re:What Linus is missing here... by Anonymous Coward · · Score: 2, Insightful

      On second thought, inlining is probably a non-issue. If you aren't bound by the GPL because you don't distribute the kernel, standard copyright law applies and AFAIK (IANAL), you are allowed to use published interfaces, so standard interfaces which cause kernel code to be inlined into your module probably don't force you to GPL the module. However, entering a contract with kernel developers by redistributing the kernel and therefore accepting the GPL does force you to GPL your module, regardless of inlining or symbol-names.

    8. Re:What Linus is missing here... by Anonymous Coward · · Score: 2, Insightful

      Stubs don't save you. The intentional viral nature of the GPL transcends stubs. If the stub becomes a derivative work of the kernel, so does the binary module, because according to the definitions of the GPL the stub and the binary module are not independent programs. The real question is if the stub is a derivative work of the kernel. That is exactly the same question as wether a directly linkable binary module is a derivative work of the kernel. According to the GPL it is, according to standard law it is not. It boils down to the question wether you are bound by the kernel's redistribution license, IOW wether you distribute the kernel or not.

    9. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      hhh. Apply where required by spelling laws.

    10. Re:What Linus is missing here... by MS_is_the_best · · Score: 1

      YANAL, that's obvious.

    11. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      Copyright law allow you to use published interfaces. That alone doesn't make your module a derivative work of the kernel. The GPL makes a more inclusive definition of derivative works under which kernel modules _must_ be GPLd. The question is whether you're bound by the GPL or not. That only depends on whether you distribute the kernel or not. Just making use of a published interface does not force you to GPL your module, even if that interface causes kernel code to be inlined into your module.

    12. Re:What Linus is missing here... by Tooky · · Score: 1

      I really can't see how linus can claim copyright to the distribution of any source which happens to run with the linux kernel - but does not contain any part of it. And the enduser is free to compile and link this sources against the kernel, as the GPL allows modifications for own use without any restriction. If someone is distributing source that the user then compiles themselves against the kernel, that would be fine under the terms of the GPL, as you say. But this discussion is about binary ony modules, which do contain part of the linux kernel. The header files. These are linked against and the modules are distributed binary only, against the terms of the GPL.

    13. Re:What Linus is missing here... by Hobbex · · Score: 1

      The real question is if the stub is a derivative work of the kernel. That is exactly the same question as wether a directly linkable binary module is a derivative work of the kernel. According to the GPL it is, according to standard law it is not.

      The GPL derives it's authority only from copyright law. If copyright law does not recognize the stub as a derivative work, then nothing in the GPL can force it to be, and there are no restrictions under what license it can be distributed.

      The problem seems to be that nobody can say for sure whether such a stub is a derivative work under current copyright laws or not.

    14. Re:What Linus is missing here... by Anonymous Coward · · Score: 1, Insightful

      The GPL is contract law. It derives its power from copyright law, because without copyright law there would be no incentive to enter into a contract with the kernel developers. It then uses this power (in the context of a redistribution contract) to set terms which are more inclusive than copyright law.

    15. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      Erm, that's why he mentioned NDAs, you know, like licenses? The other companies own copyrights and that means they can decide what license you have? You savvy?

    16. Re:What Linus is missing here... by fucksl4shd0t · · Score: 1

      I really can't see how linus can claim copyright to the distribution of any source which happens to run with the linux kerne

      He can't. All he can say is that the source for the kernel that the "other" source requires is GPL, and as such the "derived" work must also be GPL. GPL isn't about assigning copyright, it's about distributing copyrighted code and binaries and the user's appropriate rights.

      --
      Like what I said? You might like my music
    17. Re:What Linus is missing here... by Hobbex · · Score: 2, Insightful

      What part of this contradicts my statement that the GPL "derives it's authority from copyright law"?

      If I download and run application X under the GPL, then I need to enter exactly zero contracts with anybody. If I want to redistribute X, or a derived version X1, then I need to enter a contract under the GPL, but not sooner.

      Say I download and run application X, and then write and distribute application Y. The only way that I would need to get into a contract (the GPL) with the author of X in order to distribute Y is if Y is in some way a derived work of X. The GPL is not a EULA, it cannot add any restrictions on my behavior until such time as I do something with program X that normal copyright law does not allow by default.

      This is exactly the situation with kernel modules. If kernel modules are not a derived work of the Linux kernel under copyright law, then the it does not matter what the GPL says. If kernel modules are considered original works under the law, then they can be distributed in exactly whatever form the author chooses, regardless of what the GPL says. Microsoft likes to talk about the "viral" GPL. But the GPL can never be more "viral" then copyright law is: as long as something is an original work, the author can never be compelled to GPL it.

      This whole question is simply one of legal interpretation. What is a derived work under the law and what is an original work? If something is a derivative of GPLed code like the kernel, then the GPL is required, if it isn't, then there are no licensing requirements. At least Linus seems to understand this much.

    18. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      This then becomes the perfectly legal way to distribute closed-source "binary modules" for the GPLd kernel:

      The "binary module" is not compiled with any kernel code. No headers, no nothing. Therefor, the "binary module" can be licensed for distribution however the company desires, e.g. closed-source

      The stub is (say) open source, and linkable to the kernel. All fine and dandy.

      The user installs/compiles the kernel (GPL), the stub (GPL) and the "module" (non-GPL/non-"open"). And links them.

      Is this fine with the GPL? Sure! What does the GPL actually say for this circumstance:
      "If you want to *redistribute* binaries *linked* to GPLd code, then you must also include the source for these binaries."
      Therefor, *you are no longer allowed to distribute the binary module in this linked state*.

      That's all. The kernel, the GPL and the company are all fine with this, and no none will have to sue anyone else.

    19. Re:What Linus is missing here... by penguin7of9 · · Score: 1

      With most binary modules this part is done by the user, not by the distributor, and this is clearly your right - you just cannot distribute the binary.

      That is a correct observation. The current GPL basically tries to avoid telling users what to do.

      However, the Linux kernel license could be changed to prohibit binary-only drivers. Either it could require driver developers to put any drivers developed using the Linux kernel under the same license as the rest of the kernel, or it could explicitly prohibit end users from linking closed-source modules into the kernel.

      But i don't think it is helpful to take a extreme shaky legal position (and downright confusing the users by making legal statements which simply do not apply here) to achieve this goal.

      Yes, I agree that Linus's reasoning is shaky. If he wants to prohibit binary-only drivers, he probably has to change the license.

      Although i dislike binary-only drivers in general, i came to the understanding that sometimes this might be the best you can get.

      I have tried to cope with binary-only drivers and I think the price is too high. It's better to do without a piece of hardware in the short term and get something well-supported with open source drivers in the long term.

      By permitting binary-only drivers, we are holding up the move of the industry to open source drivers, and that is bad.

    20. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      because according to the definitions of the GPL the stub and the binary module are not independent programs.

      By which logic GPL is allowed to define anything about property which isn't GPL-related?

    21. Re:What Linus is missing here... by Maskull · · Score: 1
      With most binary modules this part is done by the user, not by the distributor, and this is clearly your right - you just cannot distribute the binary.

      That's an interesting point, although it ignores the fact that in order to create a kernel module you have to #include some header files which are GPL (and which have inlines, etc., resulting in GPL code being spliced into your module). Suppose, for a moment, that these header files were distributed under a less restrictive license, say, BSD. Since the creation of a "derived work" is done at run time, by dynamically linking, it is not possible for the resulting "binary" to be distributed; it exists only in memory. If I understand correctly, the GPL only requires you to distribute sources if you are distributing binaries. In this case, no binaries are being distributed (indeed, that's impossible!), so the sources for the dynamically loaded kernel modules would not need to be GPL.

      Traditionally, GPL apps that wanted to allow dynamic linking with non-GPL code could not be written. E.g., the GIMP does not dynamically link with its plugins; they are completely separate processes that communicate via pipes. However, if kju is correct, then there would actually be no problems with dynamically linking non-GPL plugins, as long as the API headers used were not GPLed. It doesn't matter that dynamic linking results in the creation of a "derived (binary) work", since no one is distributing binaries.

    22. Re:What Linus is missing here... by anthony_dipierro · · Score: 1

      The GPL defines what is considered derivative and what is not.

      Wrong. The law, and the courts, define what is considered derivative and what is not.

    23. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      As far as copyright law is concerned, yes, but the GPL is a contract and as such it can provide its own definition which is then used throughout the contract. If you read the GPL closely you will find that it treats certain forms of aggregation as derived works which wouldn't necessarily be considered derived works under copyright law. It's a shame that the GPL itself isn't very precise about this, so what exactly is a derived work according to the definition of the GPL will probably be decided by lawyers and courts. The GPL-FAQ goes into details, but since the FAQ isn't part of the contract, it is merely indicative of what the authors of the GPL intended.

    24. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      As far as copyright law is concerned, yes, but the GPL is a contract and as such it can provide its own definition which is then used throughout the contract.

      Sure, but unless you create a derivative work, you don't have to agree to the GPL contract in the first place.

    25. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      Yes, that was in the (unquoted) context: "The GPL defines what is considered derivative and what is not. [...] If you are in a position in which you have to accept the Linux kernel license [...], then you have to provide source to your modules." At that point, you cannot argue that you have not created a derived work according to copyright law and are thus not bound by the definition of the GPL. Your only choices are to accept the GPL's definition or to not distribute the kernel.

    26. Re:What Linus is missing here... by Anonymous Coward · · Score: 0

      At this point, changing the Linux kernel license is next to impossible. Linus Torvalds is not in the legal position to make this change unilaterally. Every contributor whose code is still in the kernel would have to agree on switching or amending licenses.

    27. Re:What Linus is missing here... by RedWizzard · · Score: 1
      Yes, we are talinkg about some binary modules which are compiled before distribution and WHICH SIMPLY DOES NOT EXIST. All "binary only" modules i've seen so far contains at least a short kernel linkage stub which is distributed in source and compiled by the enduser, because this is the only way to ensure that the module is compatible with your running kernel.
      What Linus is saying is that if the binary part of the driver is Linux kernel specific, or has been written with the Linux kernel in mind then it is at least a partial derived work. All derived works of a GPL'd product must also be GPL'd, so therefore anyone distributing the binary component must make source available, whether it is currently linked to the kernel or not.
    28. Re:What Linus is missing here... by Anonymous Coward · · Score: 0
      I really can't see how linus can claim copyright to the distribution of any source which happens to run with the linux kernel - but does not contain any part of it.

      A binary module does contain parts of the kernel; namely, GPL'ed kernel header files. So it is within the scope of the GPL. The only question is whether it is a derived work or not, and that is one that only courts can determine.

    29. Re:What Linus is missing here... by Eivind · · Score: 1
      The GPL defines what is considered derivative and what is not.

      Sorry, but you're wrong. It's a common misunderstanding, but that does not make it any less wrong, or any less serious.

      Copyrigth-law defines what is considered a derivative work, and what is not. There is nothing the GPL can do, or attempts to do, to change the definition of derivative work from the one in copyrigth-law.

      What the README for Linux (Not the GPL !) *does* do is to state, that the developers do not consider any userspace program merely running under Linux as a derived work. Very likely a judge would agree with this based on copyrigth-law alone, so the statement is fairly moot.

      What the statement *does* do is to prevent some misleaded kernel-developer from even claiming something else. The doctrine of "estoppel" prevents a person or entity from claiming two different conflicting things at one time if a third party is hurt by the claim. Thus, the claim in the README that userspace is unrestricted prevents any copyrigth-owner from claiming the oposite in court.

  10. I love this guy. by the+gnat · · Score: 5, Funny

    Linus really calls it the way he sees it, doesn't he?

    Your logic is fundamentally flawed, and/or your reading skills are deficient.

    You are a weasel, and you are trying to make the world look the way you want it to, rather than the way it _is_.

    Wow. I hope someday I'm enough of a badass to be able to flame people like that and get away with it. (That said, it's particularly impressive how Linus can fling these barbs at people and still come off as a reasonable guy, unlike quite a few open-source "leaders". Having a sense of humor seems to help quite a bit.)

    1. Re:I love this guy. by fucksl4shd0t · · Score: 1

      Wow. I hope someday I'm enough of a badass to be able to flame people like that and get away with it.

      Personally, I would feel a certain pride if Linus flamed me. :) If I said something that was important enough to him to flame me, I'd take a point in my favor for being flamed by Linus.

      Of course, it's not the same as taking a point in my favor because LInus says "Good question" or "you know exactly what you're talking about".

      At the end of the day, though, I figure Linus just sticks his thumb in his mouth and plays with his blanket.

      --
      Like what I said? You might like my music
    2. Re:I love this guy. by Anonymous Coward · · Score: 0

      Linus does not come off as being reasonable in all forums. He does on the Linux kernel mailing list, because he has...well, more than a little bit of authority...but almost every time he posts to the GCC mailing list accusing GCC of being wrong for not doing things the way he expects, he comes off as totally unreasonable. This has resulted in longish flamewars.

    3. Re:I love this guy. by armando_wall3 · · Score: 2, Funny

      That line:

      You are a weasel, and you are trying to make the world look the way you want it to, rather than the way it _is_.

      made me laugh, cause sometimes Linus tries to make the world look the way he wants it to. An example is his Kernel Coding Styles, where he states things like:

      Heretic people all over the world have claimed that this inconsistency is ... well ... inconsistent, but all right-thinking people know that (a) K&R are right and (b) K&R are right.

    4. Re:I love this guy. by Anonymous Coward · · Score: 0

      Well, in this case Linus is pretty well justified... There was a pretty gross misinterpretation of the GPL going on. I would say that it's a reasonable thing to call it as you see it.

      Besides, Linus is on his home turf and that always makes flaming easier, just ask the slashtrolls ;)

  11. sez the GPL by Anonymous Coward · · Score: 0

    It's right there in black and white or whatever your default browser color scheme is.

  12. How viral IS the GPL? by MROD · · Score: 4, Interesting

    OK, from the article it seems that merely writing a device driver which uses the kernel module interface automatically makes the code a derived work. Also, building programs which include the kernel header files automatically makes those programs GPL.

    Now, what if someone wrote another standard driver interface, separate from the kernel interface, wrote a device driver which implemented that and then wrote a GPL'd interface wrapper which translated the Linux module interface to that of the new standard?

    Obviously, the wrapper interface code is now a derived work. However, does it also mean that because the new driver which uses a code interface which the GPL'd wrapper implements now is tainted by the GPL?

    Also, does the driver become a derived work if the person who writes it initially does so to get some hardware working on his Linux box, rather than his other box which runs ObsureOS which also implements this standard device driver interface but the person hasn't installed the hardware on that machine yet?

    --

    Agrajag: "Oh no, not again!"
    1. Re:How viral IS the GPL? by julesh · · Score: 1

      what if someone wrote another standard driver interface, separate from the kernel interface, wrote a device driver which implemented that and then wrote a GPL'd interface wrapper which translated the Linux module interface to that of the new standard?

      Obviously, the wrapper interface code is now a derived work. However, does it also mean that because the new driver which uses a code interface which the GPL'd wrapper implements now is tainted by the GPL?


      From the GPL:

      If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

      Therefore the GPL does not apply to the original devie driver unless and until it is distributed alongside the GPL'd interface wrapper linked together in a single compiled image (by my reading, although IANAL).

      Also, does the driver become a derived work if the person who writes it initially does so to get some hardware working on his Linux box, rather than his other box which runs ObsureOS which also implements this standard device driver interface but the person hasn't installed the hardware on that machine yet?

      I don't think that would make any difference: as long as the driver was useful without the GPL'd code it could "reasonably [be] considered [an] independent and separate [work] in [itself]"
      to borrow the GPL's phrasing and adjust for the singular rather than the plural.

    2. Re:How viral IS the GPL? by MROD · · Score: 1

      This isn't how Linus has interpreted the GPL.

      He says that any work is a derived work if it uses an interface which the GPL program where the software needs an intimate knowledge of the GPL's program. In the case I put forward, the wrapper would need an intimate knowledge of the Linux kernel, hence would be a derived work of Linux. The wrapper would be implementing an interface which the device driver needs to know intimately and gets linked to it when it's loaded. Hence, it could be argued that the device driver is also a derived work of Linux if the first system the wrapper interface is implemented on is Linux even if the interface specification is OS neutral in itself. It would only not be a derived work if it's first implemented on another system, such as *BSD.

      This is part of the grey area Linus talks about in his postings.

      --

      Agrajag: "Oh no, not again!"
    3. Re:How viral IS the GPL? by RedWizzard · · Score: 1
      OK, from the article it seems that merely writing a device driver which uses the kernel module interface automatically makes the code a derived work.
      It is very difficult to argue that a device driver is not part of the kernel. An optional part maybe, but still a part of the kernel. It can't really avoid being derived.
      Now, what if someone wrote another standard driver interface, separate from the kernel interface, wrote a device driver which implemented that and then wrote a GPL'd interface wrapper which translated the Linux module interface to that of the new standard?
      I think this would hold up provided the "standard driver interface" was not Linux specific. If the interface was intended for Linux specifically then the interface itself would be a derived work. Basically you can't use this technique to make an end-run around the GPL if that is clearly your intention. Otherwise you could use it in any GPL situation: eg. extend the Gimp by writing a GPL "interface" to the closed source code you want to add.
    4. Re:How viral IS the GPL? by julesh · · Score: 1

      This isn't how Linus has interpreted the GPL.

      Maybe not. But if it ever came to court, it wouldn't be Linus that had to decide. And, by the straightest possible reading of the GPL, trying to divine the original intention of it when it was written (which is, I think, how a court would approach it), such things are probably allowed.

      It all rests on what a derivitive work is.

      A case to consider: if any software that depends on any other's internal workings in order to funtion correctly is a derivitive work of the other, then is my Windows software a derivitive of Windows, and if so, when will Microsoft be starting proceedings against me? My software "needs to know intimately" the Windows APIs otherwise it wouldn't work, and it "gets linked to [them] when it's loaded", using pretty much exactly the same mechanisms as a Linux kernel module.

  13. lines have to be drawn by ciaran_o_riordan · · Score: 4, Interesting

    it lowers the entry barrier to companys wishing to contribute

    I see it as encouraging companies *not* to contribute. Why give people Free code when you don't have to?

    A binary file is not a contribution, it's just a marketing tactic exploiting our free platform. Since the Linux hackers have written an entire kernel, I don't think it's unreasonable for them to ask for module source code in return. Otherwise the module vendor is a parasite.

    1. Re:lines have to be drawn by jusdisgi · · Score: 5, Insightful

      Er, yeah, that's a little warped.

      It might make sense to take that position, if such a thing as a "module vendor" existed. As it happens, it doesn't, and no one is out trying to sell binary modules for Linux. The creators of binary modules are *hardware vendors* and they are "contributing" by making their hardware compatible with the free system.

      This is not parasitic; if they want, they can just not bother, and you can just not use that hardware in Linux. Let's not forget, it's not like you wrote the driver; why would you want to keep people from making their hardware usable on your system? If a manufacturer says "well, sorry, I want to support linux, but not if it means letting the competition get a sneak peak at this crazy technology in my drivers" you would just say, "ok, parasite, we don't need your stupid hardware."

      When the manufacturer in question is a leading producer of video boards, such fanaticism is extremely foolish.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    2. Re:lines have to be drawn by _Spirit · · Score: 3, Insightful

      This is some seriously deranged logic. This is how your post reads to me:

      I make a video card which I expect to be used with Windows. Some of my users beg me to support Linux. I make a Linux driver. Now I'm a parasite?

      An open sourced driver would be nice but not supplying one is now a crime? What am I missing here?

      --

      beauty is only a light switch away

    3. Re:lines have to be drawn by Anonymous Coward · · Score: 0

      I'd rather run a 95% Free Software operating system, than a 95% closed operating system. We have to be pragmatic if we want Linux to gain marketshare.

      Maybe we need something like DriverLoader, but a wrapper for our own driver specification, so as to make a clear, binary portable driver interface standard. Probably wouldn't be blazingly fast with the extra function call overhead though.

    4. Re:lines have to be drawn by Spoing · · Score: 3, Insightful
      I see it as encouraging companies *not* to contribute. Why give people Free code when you don't have to?

      A few plusses just for maintenance come to mind, there are likely more for maintenance and other reasons such as good PR;

      1. As the kernel changes, the module is kept in sync almost automatically
      2. Others can look at and make changes, fixing defects
      3. Crossplatform support is much more likely
      4. Any defects discovered during the in the kernel port and maintenace will help with the Mac and Windows versions that lack this level of review; remember, the copyright holder does not loose copyright when using the GPL and can dual-licence or re-licence any code they have copyright to!
      5. Knowing that the code will be seen, opening it encourages cleaning up and repairing the nasty parts -- or if it is not a port -- keeping it clean and better organized leading to fewer defects

      There's not much of a benifit to binary-only modules for the vendor except;

      1. They don't have to pull or replace code or binary parts that come from other companies (though this applies to few potential modules)
      2. Likely faster to get an initial version out since there is no requirement for code review to be "accepted" (no acceptance process)
      3. If the code is too messy, there's no need to clean it up so others can figure out what's going on or to avoid embarasment
      4. The old protecting IP paranoia is lowered
      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    5. Re:lines have to be drawn by Spoing · · Score: 4, Insightful
      If a manufacturer says "well, sorry, I want to support linux, but not if it means letting the competition get a sneak peak at this crazy technology in my drivers" you would just say, "ok, parasite, we don't need your stupid hardware."

      The manufacturer is selling hardware. Anything they want to protect from being exposed in the module means little to other hardware companies who have competent developers. The details of how the hardware is controlled and any setup and tables can be discovered using the Windows drivers and debuggers.

      Contrary example: In Nvidia's case, they don't own everything they ship so unless they convince other companies to opening those parts (unlikely) Nvidia has to either drop those parts or replace them.

      The motivations of different companies are important. Server-grade hardware companies fall all over themselves supporting Linux in the main kernel source tree. If Linux becomes popular on the desktop -- even if modestly so -- the kernel modules that support desktop software will likely be open. Nvidia might even change (though this is speculation on my part).

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    6. Re:lines have to be drawn by penguin7of9 · · Score: 2, Insightful

      This is not parasitic; if they want, they can just not bother, and you can just not use that hardware in Linux.

      Yes, it is "parasitic". And the kernel license should be updated to put a stop to this. If we believe in free software, we want to support companies that support free software.

      When the manufacturer in question is a leading producer of video boards, such fanaticism is extremely foolish.

      No, it's not. It will give other companies a chance to get into the market, with Linux-friendly products with open source drivers.

      You see, leading or not, nVidia doesn't really have anything that is so unique. Dozens of companies can put together decent 3D graphics cards. Maybe they aren't quite as fast or quite as cheap, but they are plenty good.

    7. Re:lines have to be drawn by CarlDenny · · Score: 1

      Yes, it is "parasitic". And the kernel license should be updated to put a stop to this.

      That just can't happen without a significant change to the driver interfaces. Those driver developers already have those rights under the existing license to derive from the current version of the kernel. As long as the drivers are binary compatible, they're alright regardless of what other derived works have whatever other licenses applied to them.

    8. Re:lines have to be drawn by drinkypoo · · Score: 1

      You see, leading or not, nVidia doesn't really have anything that is so unique. Dozens of companies can put together decent 3D graphics cards. Maybe they aren't quite as fast or quite as cheap, but they are plenty good.

      Where are these "plenty good" video cards? Fast and cheap are two of the the two most important items on the graph of a "good" video card. The others include stability and image quality. In terms of the broader market, linux support is the very last item on the agenda.

      Kyro? Crap. Anything from intel or SIS? Crap. So where's these useful competitors?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    9. Re:lines have to be drawn by penguin7of9 · · Score: 1

      Where are these "plenty good" video cards?

      They are waiting for an opportunity to jump into the market as soon as there is a market niche where nVidia and ATI can't crush them.

      If nVidia and ATI abandon the Linux market because they can't deal with the license, that would provide just the niche they need.

    10. Re:lines have to be drawn by penguin7of9 · · Score: 1

      That just can't happen without a significant change to the driver interfaces. Those driver developers already have those rights under the existing license to derive from the current version of the kernel. As long as the drivers are binary compatible, they're alright regardless of what other derived works have whatever other licenses applied to them.

      I don't think the interfaces have to change.

      A new license could say something like: "If you hold the copyright on a module and you ever link it against this kernel and you distribute it, then you must distribute it under the same license as this kernel. If you do not hold copyright on a module and it does not fall under the same license as the kernel, you may not link it with the kernel."

      That way, kernel module developers cannot test binary-only modules against the new kernel without coming under the open source license. Furthermore, even if they did release a binary only driver and claim that it was only developed using the old kernels, it would be useless to users of recent kernels.

      Logistically, it would still be hard to change the license on the Linux kernel, because that involves getting permission from lots of kernel developers. But if the license is changed, it could be changed to achieve the desired goal.

    11. Re:lines have to be drawn by mr3038 · · Score: 1
      The creators of binary modules are *hardware vendors* and they are "contributing" by making their hardware compatible with the free system. This is not parasitic; if they want, they can just not bother, and you can just not use that hardware in Linux.

      If the vendor is selling hardware, they have nothing to lose if they release the source code for the drivers. However, if they are selling software combined with some hardware parts, like some winmodem, they are clearly parasitic; they want to use free code (linux) to help selling their proprietary software product (codec for their modem) and they do that by linking those pieces of software together. The 'hardware' is just the required dongle to make the software to work.

      The border area is definately grey.

      And I think that having no driver at all is better than having a binary driver. Yes, it sucks if you've already bought the piece of hardware and cannot make it work but how's that different from not being able to use Commadore C64 diskette drive with your PC? Or if the piece of hardware had "Designed for Windows XP" logo on it, why do you think it would work with anything else - like Linux, for example? How about if it had "Designed for Mac" logo? If it doesn't say it works with Linux, don't buy that piece of crap. If we allow binary drivers, the box can say that the hardware "Works with Linux" when they really mean "Works with RedHat(r) Linux Desktop(tm) 10.5 on AMD(r) Opteron(r)" because that's the only environment/CPU they decided to compile the driver for.

      In the end, if the only way to have Linux driver is to open source the driver, a vendor is either going to release the source or lose all the customers using Linux. It seems pretty clear to me that Linux is going to get big enough in any case so the difference in potential customer base is going to force the hardware vendors to release the source. It might be that Linux could get bigger faster if we allow binary drivers now and disallow those later, but I think it's cheating and against the spirit of open source movement and free software.

      --
      _________________________
      Spelling and grammar mistakes left as an exercise for the reader.
    12. Re:lines have to be drawn by jusdisgi · · Score: 1

      yes...biding their time with their video technology. "We'll release this in a few years!"

      He must be talking about bitboys ;P

      --
      Given a choice between free speech and free beer, most people will take the beer.
    13. Re:lines have to be drawn by jusdisgi · · Score: 1

      "Yes, it is parasitic,..."

      Er, were you going to support that at all? I said why it wasn't...

      --
      Given a choice between free speech and free beer, most people will take the beer.
    14. Re:lines have to be drawn by LousyPhreak · · Score: 0

      No, it's not. It will give other companies a chance to get into the market, with Linux-friendly products with open source drivers.

      I would bet that once a company with a decent graphics card with GPL'd drivers come out many (if not most) of the linux users would switch. The only problem is I know of no such company/card (to be honest I don't know the situation with ATI but afaik they also have binary only drivers).

      You see, leading or not, nVidia doesn't really have anything that is so unique. Dozens of companies can put together decent 3D graphics cards. Maybe they aren't quite as fast or quite as cheap, but they are plenty good.

      So could you please contact those companys to start working? I can't wait to get my hands on a decent card with about the same features as ATI/NVIDIA, reasonable speed and GPL'd drivers, even if they cost 30% more.

      Until then please forgive me my binary driver usage to get some gaming on linux (while supporting the vendors of such games to increase linux support on their side).

      --
      -- Karma: beyond good and evil - mostly affected by posting political
    15. Re:lines have to be drawn by CarlDenny · · Score: 1

      I was quoting from someone who responded to you, that first line was supposed to be italicized, but I had a brain fart.

      I am in basic agreement with you that it is not parisitic on the part of binary module verndors.

    16. Re:lines have to be drawn by penguin7of9 · · Score: 1

      yes...biding their time with their video technology. "We'll release this in a few years!"

      And your point is what? Plenty of manufacturers could produce 3D graphics cards with technology from a couple of years ago. That is still better than depending on nVidia's and ATI's bogus Linux drivers that cause constant headaches, provided you can get them to work at all.

  14. SCO Derivative works theory & Linux modules by putaro · · Score: 4, Interesting

    The SCO case will have some far reaching effects if a sufficiently bone-headed judge rules in certain ways. One of the cornerstones of SCO's "case" is their theory on derivative works: notably, JFS. JFS is in the same category of kernel module as AFS which Linus references. SCO claims that JFS is a derivative work of Unix and therefore falls under IBM's contract obligations and SCO's copyright. Were SCO's theory to be accepted, it would be theoretically possible to try to force AFS to be GPL'd under the same theory.


    An even more interesting stretch of the theorem would depend on how this "derivativeness" would be defined. Why is JFS a derivative work? If it's because it has substantial similarities to other Unix file systems (tree structured directories, permissions) there's an interesting case against MS for NTFS and DOS FAT, as these both have tree-structured directories and MS has been a Unix licensee. Now, wouldn't that be fun. Unfortunately the only entity that could bring that case would be our good friends Darl and SCO at this time.

    1. Re:SCO Derivative works theory & Linux modules by Anonymous Coward · · Score: 0

      WRONG.

      If this is really SCO's case then it has a fundamental flaw: the linux port of JFS came from the OS/2 codebase. The OS/2 implementation of JFS was done in a clean room fashion based on a specification. There was no sharing of code.

    2. Re:SCO Derivative works theory & Linux modules by po8 · · Score: 1

      WRONG.

      The legal theory of "clean room" software development is quite complicated, and AFAIK not well-tested in court.

      In traditional publishing, US courts have decided that copyright extends not just to text, but to characters, situations, etc. (IMHO, this was a fundamental mistake, but that's irrelevant...)

      Now, imagine that I publish a book whose plot, characters, etc. are those of Harry Potter and the Sorcerer's Stone. My legal defense, when sued, is that "It's a clean room implementation. I never read HPatSS. I read book reviews, talked to folks who had read it, etc."

      AFAIK (and IANAL), I'd be laughed out of court. My book is still a derivative work.

      Don't be so confident that "no sharing of code" = "no copyright".

    3. Re:SCO Derivative works theory & Linux modules by Anonymous Coward · · Score: 0

      Harry Potter and the What? There's no such book. ...oh, I remember now, they changed the title for the American market, didn't they? They thought American kids were so dumb they'd be frightened of a book with "Philosopher" in the title. So they changed the title of a book that revolves around the legend of the philosopher's stone to something else. God help^H^H^H^Hbless America!

    4. Re:SCO Derivative works theory & Linux modules by putaro · · Score: 1

      Well, that's really SCO's case no matter what you think of it. And, you're not the judge. Let's hope that sanity prevails.

    5. Re:SCO Derivative works theory & Linux modules by Anonymous Coward · · Score: 0

      So basically...
      If SCO wins, Linus is fucked.
      If SCO loses, Linus is fucked.

      Right?

    6. Re:SCO Derivative works theory & Linux modules by tigga · · Score: 1
      Now, imagine that I publish a book whose plot, characters, etc. are those of Harry Potter and the Sorcerer's Stone. My legal defense, when sued, is that "It's a clean room implementation. I never read HPatSS. I read book reviews, talked to folks who had read it, etc."

      I don't think "implementation" is applicable to books at all. Books and software are very different. In case of books ideas and implemetation considered the same. Well, some of books have no ideas - but nice implementation ;)) and it matters. For software implementation usually is hidden under the hood.

    7. Re:SCO Derivative works theory & Linux modules by tigga · · Score: 1
      The SCO case will have some far reaching effects if a sufficiently bone-headed judge rules in certain ways. One of the cornerstones of SCO's "case" is their theory on derivative works: notably, JFS. JFS is in the same category of kernel module as AFS which Linus references.

      Basically you are saying Linus is in the same boat as SCO ;))

      Nice ;))

    8. Re:SCO Derivative works theory & Linux modules by Anonymous Coward · · Score: 0

      Harry Potter and the What? There's no such book. ...oh, I remember now, they changed the title for the American market, didn't they? They thought American kids were so dumb they'd be frightened of a book with "Philosopher" in the title.

      Yep. Those brits have a pretty low opinion of Americans, don't they. They even went to a whole bunch of work to change all the words they thought Americans might not understand to American versions. After the first movie came out -- British word-choice intact, though with the Americanized name -- an found out that Americans had no problem with any of it, they backed way off. The American version of book five is almost identical to the British version.

      So, I guess the brits are just ignorant, not stupid, since they obviously can learn.

    9. Re:SCO Derivative works theory & Linux modules by Anonymous Coward · · Score: 0

      I think it is obvious that being a derivative work requires a certain type of causal connection, and that similarity alone is not sufficient to make something a derivative work.

  15. Fair Use by Anonymous Coward · · Score: 5, Interesting

    So, I think there's lots of things to quibble about here, and appended is part of the law that might prove relevent. I'll try to make a case for a driver company attempting to create a non-GPL driver that uses snippets of GPL'd code in a 'fair use' way.

    The key I think is if you can convince a judge that what they are doing is furthering 'research'. But the rest of the tests obtain:

    1) Binary Linux drivers are generally release with a non-commercial nature - people don't charge for the software (although the opposite case, that you have to buy the hardware, could be argued to contradict this) - specifically, note that the word "including" modifies the two called out styles of use (commercial and non-profit eduacation) - thus other things might very well cause this section to obtain.
    2) The copyrighted work is humungus and designed to be used in explicitly this manner
    3) The portion of the whole is miniscule - it could be characterized as a 'quote' from an original source
    4) The effect on the market value of the copyrighted work can be argued (successfully, I think) to be _positive_.

    One other thing: I am under the impression that you can't copyright tables of raw data (such as names and their numeric mappings), so with Linus, I'd argue the #defines and such don't count for these calculations. The comments can't be said to contribute to the (binary) final work, even if someone read them once. Linus noted, and I agree, the compilable code (macros, subs defined in .h files), is what matters, and not all of the compilable code even in the subset of files referenced are used to create the .obj.

    I think I've made a (albeit shakey) case for 'Fair Use' in this way.

    (ObSCO: I wouldn't be _at all_ surprised if SCO is going to attempt to argue that the overwhelming weight of the detrimental effect of #4 on SCOnix's value will outweigh the relatively trivial amount of infringement of #1, #2, #3 should IBM attempt to suggest fair-use of a couple of lines here and there)

    ------
    Title 17, Chapter 1, Section 107
    Notwithstanding the provisions of sections 106 and 106A, the fair use of a copyrighted work, including such use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright. In determining whether the use made of a work in any particular case is a fair use the factors to be considered shall include --

    (1) the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes;

    (2) the nature of the copyrighted work;

    (3) the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and

    (4) the effect of the use upon the potential market for or value of the copyrighted work.

    The fact that a work is unpublished shall not itself bar a finding of fair use if such finding is made upon consideration of all the above factors.

  16. if it happens that....... by Anonymous Coward · · Score: 1, Interesting

    If it happens to be that that some modules ARE indeed being GPL'd, where does that put the company that made them? Case in point, Nvida seems to making a VERY obvious statement that it doesnt want the sourcecode to be given to the GPL? Would Nvida be allowed to refuse to release the source? And if not, what then? How would you go about such a thing?

  17. Kernel and module compability by Anonymous Coward · · Score: 4, Interesting

    I hate binary-only kernel modules, and all kernel modules should be available as source.

    I recently purchased an IDE Raid controller, and naturally I chose one where the box said "Yes! Works with Linux!".

    Sounds great so far, doesn't it? Problem was that the drivers turned out to be precompiled binaries for the kernel shipped with the following distributions: SuSe 7.1-8.0 and RedHat 7.2-9.0.

    I returned the controller and demanded my money back.

    First of all, I ran Debian with a kernel not supported by the binary drivers.

    Second, with these kernel-spesific drivers I would be unable to upgrade my kernel (what if an dangerous kernel exploit is found?)

    Third, "Yes, works with Linux!" is a lie. What the label should say is "Yes, works with a couple of Linux kernels!"

    Fuck the binary drivers. I don't see the point. It's not like they would loose money by giving away the source to the driver -- they'll sell the hardware anyways, won't they!?

    1. Re:Kernel and module compability by Anonymous Coward · · Score: 0

      That's what would happen if linux would 'destroy' windows. You now have multiple distros trying to make a buck out of something that is free. Like farming in a dry land with only one well (Bad analogy and poorly structered, but hey, Im an AC)

    2. Re:Kernel and module compability by latroM · · Score: 1

      And while using non-free drivers you are exchanging your freedom to functionality. That kind of trade should never be made. It is better to choose hardware which is supported by Free software.

    3. Re:Kernel and module compability by Anonymous Coward · · Score: 0

      Why not YOU code it yourself and release it under gpl.

    4. Re:Kernel and module compability by Anonymous Coward · · Score: 1, Interesting

      I would gladly code the driver myself, if I only had the spesifications of the card. Reverse engineering the whole shit is ofcourse an option, although a time-consuming one.

      What's your point anyway? Should I nod thankfully and not complain? I *paid* for the damn hardware, so I expect it to work the way I want it to.

    5. Re:Kernel and module compability by Anonymous Coward · · Score: 2, Interesting

      And imagine this scenario

      your raid driver requires kernel 2.2.18
      your sound card driver requires kernel 2.4.19
      your network adapter driver requires kernel 2.2.21

      the drivers has to be open sourced.

    6. Re:Kernel and module compability by Anonymous Coward · · Score: 0

      Wrong, you expect it to work they way THEY want it to. Not YOU unless you extended the agreement by both parties in agreeing.

    7. Re:Kernel and module compability by goranb · · Score: 3, Insightful

      That's not true, they might lose money...

      The IDE Raid controller you're talking about uses some functionality which I have a patent on. To make this functionality work the driver includes some code which of course I wrote and are the copyright owner.
      I see no point in releasing any of my code as that would lower my income, because none of the manufacturers would need to buy my code anymore...

      Ok, I admit, I'm not holding any patents and didn't write any driver code that's included in any RAID driver (not that I know of, at least)...
      But I think you get the picture here... It doesn't have to be the actual hardware manufacturer who's responsible for the drivers not to be released in source form. They might be restricted by other parties....

    8. Re:Kernel and module compability by Anonymous Coward · · Score: 0

      uh? if you have a patent on your code, why the hell you care if others can see your code?

      That is the whole point of patents, to make something *public*, you keep the right to license for *usage*, but knowledge about it is free...

      \\k

    9. Re:Kernel and module compability by vicotnik · · Score: 1

      You were basically fooled by "marketing", and I don't see why your conclusion would be "Fuck the binary drivers". The problem in this case isn't the binary drivers themselves, it's just that the claim on the box was false. Just because the manufacturer created drivers for a specific distro/kernel doesn't mean that you or anyone else is somehow forbidden from writing open source drivers. With respect to the point of losing money, I recommend you to read some of the other posts in this thread. They might actually contain some useful information.

    10. Re:Kernel and module compability by putaro · · Score: 1

      His point in buying the card was to have something that would work under Linux WITHOUT having to write a bunch of code. Other people have pointed out the basic problem for binary only drivers, namely that Linux is such a moving target that it's almost impossible to produce binary drivers that run under "Linux" rather than some specific version.


      You did not explain why his conclusion shouldn't be "Fuck the binary drivers".

    11. Re:Kernel and module compability by Anonymous Coward · · Score: 0

      I don't see why your conclusion would be "Fuck the binary drivers".

      As another AC posted above:

      And imagine this scenario

      your raid driver requires kernel 2.2.18
      your sound card driver requires kernel 2.4.19
      your network adapter driver requires kernel 2.2.21

      the drivers has to be open sourced.


      Think that says it all

    12. Re:Kernel and module compability by Anonymous Coward · · Score: 0

      You to get freedom, you are sacrificing... freedom.

      Interesting.

      Perhaps I should shut up and get my gun?

    13. Re:Kernel and module compability by Lost+Race · · Score: 1, Redundant

      I agree with you 100%, but... I can see a fairly good business reason for a company not to want to release their driver as Free software. Imagine you are FooCard manufacturer. Your FooCard uses the BarChip and is basically built to the BarChip company's reference board design. You write a driver for it and put a check in the init code to look for your card's special signature and abort if that isn't present. If the driver is Free, your competitors (also building cards using BarChip's reference board design) will just hack the signature part and, voila! they have full Linux support too. If you keep the source closed (and proprietary, no license) they have no driver (and can't use yours because of the signature check) so they have no Linux support and you have a competitive advantage.

    14. Re:Kernel and module compability by irix · · Score: 1

      I think that most people ship binary modules with the kernel interface distributed as source for this reason. You compile the part that links directly with the kernel and that loads the binary-only portion at runtime.

      For example, NVidia and VMware do this, and I have never had problems with any kernel.org or vendor (RedHat, Debian) kernel using these modules.

      Of course, typically the binary portion is shipped for an i386 architecture only, which could be another problem.

      It's not like they would lose money by giving away the source to the driver -- they'll sell the hardware anyways, won't they!?

      Typically the source either contains "intellectual property" that the company does not want to GPL (sometimes this is silly, but a PHB makes the decision anyway) or it contains licensed 3rd party "intellectualy property" that legally cannot be GPLed.

      Personally I prefer GPLed modules, but given a choice between binary-only and nothing, I choose binary-only. However, I understand and respect the opposite opinion.

      --

      Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
    15. Re:Kernel and module compability by tigga · · Score: 1
      your raid driver requires kernel 2.2.18
      your sound card driver requires kernel 2.4.19
      your network adapter driver requires kernel 2.2.21

      the drivers has to be open sourced.

      It is not possible in all cases. I would like to see clean and concise interfaces published. It would help create drivers for multiple kernel versions. Like driver for 2.2, 2.4.0-2.4.9, 2.4.10-2.4.25 etc.. Well it's not going to happen any time soon.

    16. Re:Kernel and module compability by spitzak · · Score: 1

      If you have a patent on some method, that IDE Raid manufacturer is violating your rights whether or not their driver is open-sourced.

      You probably meant a copyright, and that you have personally sold your code to the IDE manufacturer (if they stole it from you, they are in just as much of trouble whether or not they open-source the result).

    17. Re:Kernel and module compability by ChefBork · · Score: 1

      Not true.

      The drivers just all need to be supported across all later versions.

      So that you would get:
      your raid driver works with kernels 2.2.18 up through 2.4.19 (or later)
      your sound card driver requires kernel 2.4.19
      your network adapter driver works with kernels 2.2.21 up through 2.4.19 (or later)

      You can't let a driver manufacturer get away with only supporting one kernel version; if they're going to support Linux, they need to support all of it -- or at least publish what they do and don't support.

    18. Re:Kernel and module compability by nathanh · · Score: 1
      I see no point in releasing any of my code as that would lower my income, because none of the manufacturers would need to buy my code anymore...

      Yes they would. Copyright doesn't evaporate once somebody sees the code. You still own the copyright. They have to license it from you. If you want to charge them money for the license then they must pay. Them's the rules. I don't know where this crazy meme "software must remain secret or the copyright disappears" came from, but it's plain wrong. Copyright is enforcable whether the source code is open or closed.

      If you want to keep the code a secret because you think all the manufacturers are unscrupulous thieves who will steal your code and not pay you as copyright requires, then that says more about the rampant dishonesty in the software industry than anything else.

      The IDE Raid controller you're talking about uses some functionality which I have a patent on.

      Bear in mind that patents can NOT be kept secret. Patents MUST be on the public record or the patent will not be granted. This is another crazy meme "if it is patented I'm obliged to keep it secret". Wrong! You are obliged to tell everybody exactly how it works. That's the purpose of a patent; you must disseminate the idea far and wide to receive the time-limited exclusive monopoly.

  18. Don't bother... by Anonymous Coward · · Score: 0

    Please, don't bother opening that link.

    1. Re:Don't bother... by Anonymous Coward · · Score: 0

      Great, another MS Astroturfer (TM) trying to shut Linux users everywhere up. Fuck you buddy! Your OSonopoly is going down bitch!

  19. Unfair moderation by Anonymous Coward · · Score: 2, Interesting

    Yes, I'm replying to my own down-modded post. I feel that the Flamebait moderation is uncalled-for and believe that the moderator has simply missed the point of my post.

    It is a morally incorrect stance to demand that 'because I did all this work that you are benefitting from, you must pay me back in kind', as the original poster to whom I was responding to said (in a sort of way). He correctly makes the point that this is a community and that it is in everyone's best interest (cumulatively) for everyone to play by the rules, so to speak, and release source code into the open. However, to demand that someone open their source code is to usurp that person's Freedom and that is where the moral error arises.

    When a person derives a work from GPL'd code, there is a legal understanding that the derived code must be placed under the GPL as well. This is designed into the GPL because the derived work benefits from having existing source code to be based off of and as 'payment' for this use the deriving programmer gives up his rights to copyright the derived code. It is a raw deal to some, heaven to others, but all parties come into the deal knowing what is required of them.

    OTOH, a person who simply writes a driver that is linked at runtime to the kernel is under no such obligation to do so. This is precisely because the code is not based off the GPL'd kernel code but rather designed to a specification which the kernel implements. The use of kernel headers and libs would arguably be considered Fair Use of the GPL-copyrighted work. It would be nice for the developer to include the source under the GPL, but he is in no way required to do so by law. He does not benefit from the GPL'd code in any way except in the sense that the GPL code exists and he is finding a way to serve a need in users of that code.

    But another point that I was making in my original response was that closed source binaries in no way hinder the uptake of an OS. Windows, being the premier closed source whipping boy, does no worse because Windows drivers are closed. It is arguable that it does better because binaries can be standardized at the source rather than having many incompatible user-altered binaries floating around. Support becomes a matter of fixing a problem once and floating a new binary rather than applying a patch to the source code and hoping that everyone who's using the source can merge the changes correctly.

    Linux is not hurt by closed source drivers. The Free Software Movement may be set back because drivers for advanced hardware may not be available in any form except binary, but Linux itself will soldier on regardless. In fact, the more drivers that are available for Linux (open or not), the more likely it is that a user will be able to use the operating system without an incompatible hardware problem.

  20. Why don't they just introduce a proper driver API? by MisterFancypants · · Score: 4, Insightful
    With Windows and other OSes, there is a clearly defined API that drivers code against to work with the system. In the Windows case this is *required* because the driver authors do not have the Window source code (well, most of them don't). If Linux had something similar to the Windows DDK, this would all be a non-issue as that API would become a clear boundary of where the GPL ends and commercial company lawyers wouldn't have a near-heart-attack worrying about this huge (in Linus' words) 'grey area'.

    I know some people just hate the idea of binary drivers to begin with, and if that is your stance, fine; I don't agree, but I understand where you're coming from. But if you're going to allow binary modules (as Linux does), why do it in such a half-assed fashion that a company that might provide a Linux driver can't be sure one way or another how you're going to view their code (exempt from GPL or bound by it)? Either do it right and enforce a clear boundary or just stick with source only drivers.

  21. Though true, it's stupid to argue that point by Anonymous Coward · · Score: 0

    Why argue such borderline cases as that?

    If someone creates a work derived from the GPL and never distributes it, it DOESN'T MATTER what the author wishes to license the work with.

    HOWEVER, if at some point the guy wants to distribute the work, it is REQUIRED that the work revert to GPL'd code.

    So your point is moot. It is true, but useless to argue.

  22. DISGUSTING LINK!!!!!!!!! by Anonymous Coward · · Score: 0

    Trust me, you don't want to see what that really links to. And if you did want to see it, I'd suggest a trip to your therapist instead.

    1. Re:DISGUSTING LINK!!!!!!!!! by eeyore · · Score: 1

      Too late 8-((

  23. Jon Johansen verdict next week by Anonymous Coward · · Score: 0

    From a Norwegian newspaper (free translation): "Experts estimate that Jon Johansen will lose the case..."

  24. Developer resources and graphic cards drivers by HuguesT · · Score: 2, Insightful

    The huge problem pertaining to graphic cards is that they probably are, on PCs, the item that is replaced /upgraded most often and are developed at the highest pace immediately after CPUs.

    While CPUs are well documented and a critical resource well looked after by developers, GPUs are in contrast shrouded in mystery and buried in patents. Also most kernel developers, I'd wager, don't care one bit about dual screens and accelerated OpenGL.

    Before NVidia came on the scene with their drivers the high-quality multi-screen 3D Linux desktop was very very hard to come by. It think it is still true today that you cannot have accelerated 3D and xinerama together under XFree. This causes no problem with the NVidia drivers.

    So yeah, it's bad, and the NVidia stuff does cause mountains of weird problems still (I still can have my USB webcam running with the combination of NVidia drivers, dual-head and SMP, not that this is crucial, mind you, but it is annoying). OSS drivers only give you 2D.

    Meanwhile I'd like to know how are things with the ATI camp, probably not much better.

    Paradoxically, if NVidia had not come forward with binary-only drivers, the situation would probably be a bit better even with their hardware: it would have been reverse-engineered to some extent.

    However the pool of available talented OSS developer is finite, and some other project would have suffered almost certainly.

    1. Re:Developer resources and graphic cards drivers by pe1rxq · · Score: 1

      Meanwhile I'd like to know how are things with the ATI camp, probably not much better.


      Actually I just bought an ati card...
      Although not a perfect situation it is better than with nvidia. Ati have released enough specs to allow the gatos project to produce some good drivers which even have 3d support and most important for me tv-out support.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    2. Re:Developer resources and graphic cards drivers by Anonymous Coward · · Score: 0

      Eh? Why is it nobody ever seems to know about the ATi Linux drivers? Gatos are cool and all, but ATi and nVidia are comparable when it comes to Linux support.

    3. Re:Developer resources and graphic cards drivers by pe1rxq · · Score: 1

      Only when you measure support in official drivers from the vendor. For linux good support means good documentation or source code and in that ATi is far better than nVidia.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
  25. Original purpose by tjackson · · Score: 4, Insightful

    The original purpose of restricting derived works was to make it so that authors (companies or not) could not copy code from the public domain and claim it as private work, No?

    Kernel Modules cannot exist without the Linux Kernel. This dependancy means that any part of the Kernel Module that depends on the kernel for *module* interface purposes is not derived work. It is when authors base their code off of other code that is in the GPL that they must in turn release thier code under the GPL.

    So in short, if the module could have been written entirely with Manpages and documentation, it is not derived work. If the author views the code of other modules, then it is derived work.

    Deriving functions and invoking them are two very different things.

    1. Re:Original purpose by Akai · · Score: 1

      So by your argument, every addition/function that IBM, SGI, etc have developed for their unix versions is a dervative and cannot be donated to the linux kernel?

      Where JFS/XFS/RCU/NUMA/EIEIO developed using the UNIX .h files? I'm sure they were.

      It's my understanding that since the information traditionally included in .h files (excepting perhaps inline'd code) is not considered copyrightable, since all it does is define data types and methods, it does not implemeent them.

      --
      Please send all UCE to scally@devolution.com so I can f
    2. Re:Original purpose by soccerisgod · · Score: 1

      It's my understanding that since the information traditionally included in .h files (excepting perhaps inline'd code) is not considered copyrightable, since all it does is define data types and methods, it does not implemeent them.

      Not 100% correct, I'm afraid. Many include files contain macros, which are indeed code. Thus, if you include such an include file and use one of the macros, you have a derived work, at least to a certain extend.

      --
      If a train station is a place where a train stops, what's a workstation?
    3. Re:Original purpose by Lost+Race · · Score: 2, Insightful
      The original purpose of restricting derived works was to make it so that authors (companies or not) could not copy code from the public domain and claim it as private work, No?
      That is one wacky misunderstanding of "public domain"! If a work is in the public domain, anyone can do whatever they want with it. I can take Shakespeare's Hamlet, delete the "Shakespeare" part and publish it with a "Copyright 2003 by me" notice, and I won't have broken any laws or opened myself to any legal action at all (just public ridicule). Of course that doesn't give me ownership of Hamlet; you could copy "my" Hamlet and just claim you also cribbed it from Shakespeare and there's nothing I could do about it.

      Now, if you took Hamlet and added a few scenes, that would indeed be your work, and nobody could copy the "new" work without your permission. That's what the public domain is all about. In fact, that's where Disney make most of their money -- derive movies from public domain fairy tales and tightly control the resultant work.

  26. Static Linking with libstdc++ by Anonymous Coward · · Score: 0

    What about static linking with libstdc++ and other C++ development libraries in a commercial application?

    Is this allowed or not allowed?

    1. Re:Static Linking with libstdc++ by soccerisgod · · Score: 1

      Yes it is, but then your program falls under the scope of the GPL. You can still sell it though...

      --
      If a train station is a place where a train stops, what's a workstation?
  27. Why binary-only modules? by file-exists-p · · Score: 2, Insightful

    I never understood why companies are so reluctant to provide the source codes. The reason I hear usually is that such source codes would help competitors to design similar hardwares. Is this just urban legend and the real reason is more an habit of secret, or does this argument is real (i.e. seeing APIs implementation helps you design hardware) ?

    --
    Go Debian!

    1. Re:Why binary-only modules? by sylencer · · Score: 1

      AFAIK there are some wireless lan chipsets that are very flexible, you can even change the frequency range used with a different firmware.
      So this firmware is distributed with the driver, to stay flexible and to reduce hardware cost - no flash ROM or static RAM on the card, only DRAM.
      Trouble is that the use of radio frequencies is heavily regulated, so the manufacturers would be in deep trouble if they allowed every Tom, Dick and Harry to turn that WLAN nic into whatever they like.
      Unless hardware manufacturers understand this problem we are stuck with "proper" WLAN nics that bring their own firmware on chip and dont need it loaded by the driver. Same problem with winmodems...

    2. Re:Why binary-only modules? by Anonymous Coward · · Score: 0

      Let's take GPUs as an example. They are very complex, very parallel devices. In order to achieve good performance you need to achieve following:

      - good optimization to take advantage of all features of GPU and achieving good parallelism.
      - these optimization must use as little CPU cycles as possible. You won't have high-performance drivers if you achieve good performance within GPU, but spend 30% of CPU time for doing these optimizations.

      Thus GPU drivers are VERY complex, if you release source code for your drivers, your competition can use same tricks to improve performance.

      For the same reason Intel, HP, SUN and IBM won't realease source code for their compilers.

    3. Re:Why binary-only modules? by Zork+the+Almighty · · Score: 1

      I think seeing an API would help you uncover limitations in the hardware, and this could potentially help competitors. Honestly, it depends on the market for the hardware. If you're selling a cheap commodity then who cares ? If you're selling $500 graphics cards and coding all of these non-standard "optimizations" for specific programs into your driver, then maybe you have something to hide.

      --

      In Soviet America the banks rob you!
    4. Re:Why binary-only modules? by soccerisgod · · Score: 1

      The firmware is more a part of the device than of the driver for the device. It's practically the device's OS, in a way. It is generally not linux-based, except in a few cases and thus does not fall inside the scope of this discussion. Yes, the firmware might be uploaded by the driver, but you could just as well consider it pure data the driver handles.

      Concerning your statement about being stuck with WLANs with 'static' firmware - I can't quite follow that. I've just recently worked with WLAN cards that had their firmware uploaded on every bootup...

      --
      If a train station is a place where a train stops, what's a workstation?
    5. Re:Why binary-only modules? by Anonymous Coward · · Score: 0

      In the professional market, those "optimizations" are called "certifications" and are quite expensive to obtatin. Virutally the entire price of a pro 3d card is determined by the software, not the hardware.

      (This may be true in the consumer market as well, with lower-end cards being "crippled" by software.)

    6. Re:Why binary-only modules? by tigga · · Score: 1

      here is a bit more: http://wifinetnews.com/archives/001604.html

  28. kernel-api-headers package? by Akai · · Score: 2, Interesting

    I'm no C expert, but I imagine there is a to get a list of available functions from the kernel, some query or another. One that is available, at least as root, from userland. Something like how the System.map file is generated from a kernel compile.

    If this facility exists, would a dump of the function calls in the kernel, with apropriate calling information (data types, number of parameters, etc) converted info a new set of .h files (which don't contain any inline'd code, just function defs), would the resulting .h files be considered GPL? After all if I use a GPL word processor, my documents are not GPL'd, right?

    In ethical belief, I side with the GPL-only crowd, in the rome-wasn't-built-in-a-day argument, binary drivers wins for me.

    If I were NVidia, which seems to be both the most loved and most hate bin only driver, I would see if it was possible to move all protected/proprietary code to the X11/GLX driver. X11 has full (or near full) access to the system a t a low level, and it's BSD licensed so no toes are stepped on.

    --
    Please send all UCE to scally@devolution.com so I can f
    1. Re:kernel-api-headers package? by putaro · · Score: 1

      A key part of the header files is the #define's of all of the magic numbers needed for the various parameters. There's no way to derive those from the binaries.

    2. Re:kernel-api-headers package? by Anonymous Coward · · Score: 0

      It's doubtful that that information is eligible for copyright -- a list of parameters is facts, not a creative work.

  29. Binary modules & GPL by tr0llx0r · · Score: 3, Redundant

    Several issues need to be more clearly defined before the forest is seen for the trees.

    The phrase "Her bosom heaved..." can probably be found in 152,234 fictional books. If I add a few more words, it becomes a sentence and can probably be found in 1,289 books.

    Derivation means you take the original work which has some 'body' of substance and add or subtract to it. Using less than that results in an excerpt. We know that excerpts can be used all over the place. There is also a difference in whether the material is 'instructional' in nature. Significantly more leeway is given. The kernel and associates aren't 'instructional'.

    Simply including one line of a system or function call will not make a work a derivation. Including a file (or, even if not a 'file') of substantial body will make a work derivative. Two people writing a play may write separate acts which are then combined and published. Their final work is not one derived from another, but a shared work - joint equal ownership. If they individually copyright their own 'act', the joining would be derivative - the former not.

    Binary code is a derivative work. It could not have occurred without the source file. But is it a copyright derivative? Colorization of B&W films results in new copyright, but also contains information for the 'source' that is identifiable. Binary code doesn't except for strings which might appear.

    If I use a proprietary compiler on a GPL code, I get a binary. In one sense, it's derivative. In another, it's not. If I create my own scrambler, and process the novel Gone with the Wind text, is that new work a copyright derivative? I think not. This may even imply that using a GPL compiler on GPL source may result in a work that is -not- GPL because it could only be created via the creators unique use of the tools.

    Joining a transmission to a motor will not result in copyright infringment over either the motor or tranmission, without regard that they have complex connectivity, assuming there were only separate copyrights beforehand. Patents aren't an issue either provided there is one for the motor and one for the transmission.

    Whoever put the two together can sell it or use it as they wish.

    Titles cannot be copyrighted. For more protection over things like system or function calls which may be specific to Linux, it may be necessary to do more legal legwork. For example, it may be necessary to assign a trademark to the function one-liner. Overkill? Not in todays legal world. Perhaps a GPL for trademarks used in Linux will become necessary.

  30. Another copyright defense. by ron_ivi · · Score: 5, Funny

    My driver is a parody of their driver. :-)

    1. Re:Another copyright defense. by TheSHAD0W · · Score: 3, Funny

      /* non-ATI hardware detection */
      if (!startswith(hwid, "ATI") {
      cout "You stupid Englishman! I wave my private parts at your aunties!";
      return(FALSE);
      }

    2. Re:Another copyright defense. by Anonymous Coward · · Score: 0

      Syntax error. You're missing an insertion operator.

    3. Re:Another copyright defense. by TheSHAD0W · · Score: 1

      Yeah, Slashdot stripped the double-less-than.

    4. Re:Another copyright defense. by Anonymous Coward · · Score: 0

      Could have something to do with the fact that you didn't escape it, you n00b.

    5. Re:Another copyright defense. by TheSHAD0W · · Score: 1

      Thanks, but when I'm just entering text -- especially when the mode is "Plain Old Text" -- I don't usually realize stuff should be escaped. Perhaps /. should be intelligent enough to figure out when a less-than or greater-than sign isn't a tag and should stet it?

    6. Re:Another copyright defense. by Anonymous Coward · · Score: 0

      Boy it's been a long time since I read a modded "Funny" post that actually was.

      Well done.

    7. Re:Another copyright defense. by Anonymous Coward · · Score: 0
      Thanks! I always thought all the fake-microsoft-on-linux stuff was kinda like making a parody of windows, so it felt apropriate.

      And about the modding, yeah, I can't believe all the beowulf cluster of goatse belong to us postings that keep getting modded funny and on-topic humor all-too-often gets ignored.

  31. But why close the drivers? by BigRedFish · · Score: 3, Insightful

    OK, I've wondered about this since the dawn of PCs, and wonder about it every time I have to install nVidia drivers: Why do this? Onceupponatime, you bought hardware and drivers were just kinda there with it. Then they started putting copyright callouts on 'em. Now they're treating 'em as if they were standalone programs - doesn't an nVidia card kind of function as a dongle for the nVidia drivers, if they're so worried about copying?

    If the driver spec is floating around in the open, that's a value-add for me as a comsumer (the company can't force-obsolete the cards by yanking drivers away, easier to switch OSes) and for the company (it makes the devices marketable to more people, and they get free optimizations and ports from the OSS community). On embedded devices it's even sillier, I mean, what good does PalmOS do me if I don't have a Palm? If I were trying to reverse-engineer an nVidia card or a Palm, wouldn't I start with the hardware? And if I did make a 100% Palm-compatible, I could just sponge off Palm's binaries then... ditto nVidia...

    So, why be all grabby about drivers anyway? The cavalier something-for-nothing closed-source approach to open-source support seems vaguely dishonest to me somehow - it just makes me uneasy, and affects my purchasing decisions. If they're so happy to rip off the OSS community, won't they also be happy to rip me off, I ask myself.

    IMO, binary-only is a trap: All it takes is closed-source drivers for motherboard devices, the manufacturer doesn't make a new version of the drivers to support a new kernel, and you're stuck buying a new computer or using Windows. A trap. Since an open driver spec is a value-add for both the consumer and the hardware company, I am very suspicious of proprietary drivers and the motives behind them. Trap. Linux is better off without binary-only taps. I mean drivers.

    1. Re:But why close the drivers? by RevMike · · Score: 4, Insightful

      OK, I've wondered about this since the dawn of PCs, and wonder about it every time I have to install nVidia drivers: Why do this? Onceupponatime, you bought hardware and drivers were just kinda there with it. Then they started putting copyright callouts on 'em. Now they're treating 'em as if they were standalone programs....

      If the driver spec is floating around in the open, that's a value-add for me as a comsumer (the company can't force-obsolete the cards by yanking drivers away, easier to switch OSes) and for the company (it makes the devices marketable to more people, and they get free optimizations and ports from the OSS community)....

      So, why be all grabby about drivers anyway?....

      In ye olde days, drivers did nothing more thancanfigure and move data back and forth to a piece of hardware. They were fairly trivial pieces of software, and so no one cared if they were protected. Many types of drivers are still like this today. Network card drivers typically do nothing magical.

      A few generations ago, hardware designers realized that they could offload some of the task traditionally done in hardware to the driver. Thus they could simplify the hardware and save money. The driver for a WinModem doesn't just configure and communicate with a hardware modem, it actually performs in software some tasks that were usually done in the modem hardware itself.

      At this point, drivers aren't trivial programs, but represent substantial investment and competative edge for the hardware manufacturer. If WinModem company B could look at WinModem company A's driver, they would see the tricks that they used in order to reduce the part count that much further. Company B could immitate Company A, and match their price.

      Video cards are like WinModems, although the competititon is not based price but performance. The card manufacturers are using tricks in the driver in order to boost the performance of their hardware. Those tricks may confer to them a competetive advantage, so they won't open source the drivers.

      Smart companies are quick to release software as open source when the software doesn't give them a specific and compelling competitive advantage. Cisco released CUPS as OSS because they felt they would benefit far more from having a community enhance their internal printing system than the would be hurt because Bay Networks could reduce their overhead a few hundred thousand dollars. Cisco is not going to open source their routing software anytime soon, because other router manufacturers could use it to compete against Cisco.

    2. Re:But why close the drivers? by TheRaven64 · · Score: 1
      We've recently bought an nVidia Quadro card for a VR workstation. The hardware in the Quadro lines is exactly the same as in the Geforce lines (there are hacks that turn a Geforce into a Quadro), but they are a lot more expensive. The difference is the drivers. The Quadra drivers support (among other things) stereo OpenGL, and are subject to a tighter QA proceedure. If nVidia released these drivers under the GPL then I can see two things happening:
      1. People would buy consumer cards and run them with the pro drivers, with a single line in the card detection routine modified.
      2. No-Name-Manufacturer-#47 would suddenly release a pro card with their own low level drivers linked to the high-level components of the nVidia drivers. They would undercut nVidia, since they would not have the R&D overhead involved in writting these routines.
      R&D and the resulting software are not cheap, and if you force a company to give away the results then they will simply not invest in R&D in the future.
      --
      I am TheRaven on Soylent News
    3. Re:But why close the drivers? by phorm · · Score: 1

      All it takes is closed-source drivers for motherboard devices, the manufacturer doesn't make a new version of the drivers to support a new kernel, and you're stuck buying a new computer or using Window

      No, you're stuck with using an OS driver that doesn't quite run with 100% of the advanced-features (that you may not even use) of the binary, but that would sure-as-hell be worked on fervently by many if the binary were suddenly to become unusable leaving a large amount of linusers in need of an alternative.

      If the only possible way to use a piece of hardware is a binary-only driver, then I'd say at least partial blame belongs to all those that decided to use said binary without attempting to reproduce its functionality in an open-source component.

  32. "If the author views the code of other modules..." by Anonymous Coward · · Score: 0

    WHAT? Now you're just being silly! As long as you are not covered by any confidentuality agreements, then only LOOKING at the other source code is fine, because you are NOT copying anything. It has to be a derivative for it to be a derivative work! For example, if I looked at the Amiga Quake 2 source code in order to learn the basics of writing (OS-friendly) Amiga programs, would that mean EVERY SINGLE Amiga program that I wrote from then on had to be GPL'd? I don't think so!Also, if something is really public domain, then there would be no restrictions placed on derivatives, right?

  33. this one is good! by aLEczapKA · · Score: 2, Funny

    Linus: "So you can run the kernel and create non-GPL'd programs while running it to your hearts content. You can use it to control a nuclear submarine, and that's totally outside the scope of the license (but if you do, please note that the license does not imply any kind of warranty or similar)."

    --
    -- All Gods were immortal.
    -- S. Lem
  34. Interesting by Anonymous Coward · · Score: 0

    Gee, I just read that entire thread and it was very interesting. Now I think I'll go back to bed.

  35. Think Back by ajs318 · · Score: 5, Insightful

    My second printer was a Citizen 120-D 9-pin mono dot matrix, and it was also very Epson-compatible. It had a beautiful programmer's manual replete with examples of how to access each feature, from simple double width text to high-density image graphics, and even went so far as to provide timing details for the Centronics interface. {Hey, you might be plugging the thing into some device of your own construction}. It was even known for owners of EPROM burners to patch the charsets to match certain manufacturers' non-strict interpretation of ASCII {the BBC model B, for example, had a pound sign at CHR$(96) instead of a backtick, so it could keep the comment mark at CHR$(35) - a comment in BASIC is denoted by REM, but the # was used to specify immediate mode in assembler}.

    Compare and contrast that with today ..... you get a Quick Start guide which says "Plug the printer into your computer. Do exactly what Windows tells you to do" and a huge manual, replete this time not with useful programming information but with dire warnings about attempting to do anything "unauthorised" with the printer, and it probably illegal to examine the printout with a magnifier to see how the fonts are made up.

    IMHO the lawful owner of an instrument has the right to know everything about that instrument. My property can, by definition, contain no secrets from me {though I might reasonably be bound to keep any secret I discover}. It's time that this was enshrined into law. If you can't handle the concept of people knowing how to write drivers for your hardware then you perhaps shouldn't be selling it. Mandatory Full Disclosure would put an end to this argument once and for all.

    --
    Je fume. Tu fumes. Nous fûmes!
    1. Re:Think Back by EnglishTim · · Score: 1

      Ah yes. I had a BBC B with a Panasonic KX-P1081 dot matrix printer, and it came with a lovely manual telling you exactly what codes you should send to drive the printer. (Mind you, it had to - if you wanted to do anything more than basic text, you needed to write the driver yourself)

      I wish I had something similar for my current printer.

    2. Re:Think Back by Anonymous Coward · · Score: 0

      First of all, your premise is incorrect. If you buy a commercial quality printer from say HP, you can get reams of PostScript3 and PCL6 documentation which tells you exactly how to program it. Yeah, it comes on a PDF rather than a printed manual.

      Even back "in the day", an cheapy consumer thermal printer did not come with tons of programming docs.

      Second, your wonderful dotmatrix printer was and is a completely trival device. Even if they didn't publish, you could reverse engineer it in an afternoon. Now try reverse engineering an GeForce. Good luck -- there's a reason that Linux users are dependant on the manufactures for GOOD drivers for modern equipment.

    3. Re:Think Back by ajs318 · · Score: 1

      That is my whole point - printers are transparent by comparison to graphics cards. I'm saying that NVidia, and every other hardware manufacturer, should be compelled to document the way their graphics cards &c. work, so that anyone can write drivers for them and not be dependent on one company. After all, there are plenty other regulations they have to follow {health and safety, electrical interference &c.} so one more won't make a lot of difference.

      --
      Je fume. Tu fumes. Nous fûmes!
    4. Re:Think Back by Anonymous Coward · · Score: 0

      There's numerous examples, especially with graphic cards, when hardware documentation has not produced a good driver. Specifically with Matrox G-Series and ATI's newer stuff, the company tried passing docs to XFree devs and eventually gave up and wrote the driver themselves.

  36. Linus, nice guy, but wrong. by mumblestheclown · · Score: 3, Insightful
    From what i get of linus' posts, he seems to take an (from his standpoint) overly optimistic view of what "derived" works are.

    By his definition, if X was created primarily to work with the linux kernel, then it is a derived work, and therefore falls under his copyright regimen of choice (GPL). this is like saying that if you make a super efficient oil filter that was clearly designed exclusively for mercedes engines, then mercedes can tell you how to sell it.

    while mercedes clearly has the right to protect its trademarks and copyrights, as long as the oil filter maker doesn't pass it off as anything but an aftermarket job, his business is secure. this is true whether the aftermarket add-on fits onto an easily identifiable interface (the little bit that the oil filter screws on to) or not (those places that hack up a whole mercedes and turn it into a stretch limousine or something - though the latter may well run into trademark issues if they are not careful).

    yes, software is not like physical items in many instances. but, in this one, it is.

    1. Re:Linus, nice guy, but wrong. by soccerisgod · · Score: 1

      Perhaps you should read his comments again.

      He clearly states that user space applications are not subject to this.

      --
      If a train station is a place where a train stops, what's a workstation?
    2. Re:Linus, nice guy, but wrong. by mumblestheclown · · Score: 1

      user space vs kernel space is an artificial and meaningless distinction. it's like mercedes claiming that they can control the sales of oil filters, but not of seat-covers designed to fit mercedes seats because the oil filter is essentially part of the engine. it's a nonsense argument based in linus optimistic wishful thinking.

    3. Re:Linus, nice guy, but wrong. by Anonymous Coward · · Score: 0

      Stop comparing software to cars. That's stupid. Software is sofware and cars are cars.

      User space vs kernel space is not an artificial and meaningless distinction at all imho.

    4. Re:Linus, nice guy, but wrong. by Anonymous Coward · · Score: 0

      Artificial and meaningless distinction between user & kernel space? You're kidding right? Have you ever hacked kernel code? Is there some deeper argument behind why you say this, or do you just not know the difference between the two?

    5. Re:Linus, nice guy, but wrong. by taj · · Score: 1


      Mercedes does not give you the car free of charge. The Linux kernel is not given out without compensation either.

      Hate to point this out to you but copyright law is intended to give people a chance to recieve compensation for their works. In return they share their works in hopes that it promotes arts and science.

      The compensation that is requested in this case is the code to derivative works should be licensed in the same fashion. The derivative works are defined in the license. If you don't like the license, then don't agree to it. If you don't agree to the license you have no right to use the works.

      The GPL has other issues that will be tested over time but it is very reasonable under copyright law to specify compensation for using copyright material.

      In closed source, you usually see an extra step in this process. Money is demanded in compensation which in some cases is used to produce more code under the same license. The law does not specify what type of compensation you must ask for.

    6. Re:Linus, nice guy, but wrong. by mumblestheclown · · Score: 1

      oh (and this goes to the other respondant too)stop gazing at your own navels. of course it's an important distinction as far as technical matters go. however, it's a meaningless and artificial one as far as the law goes. it was just a convenient line in the sand that linus arbitrarily chose as far as issues of GPL and licensing go.

    7. Re:Linus, nice guy, but wrong. by Anonymous Coward · · Score: 0

      Ah, so because the GPL doesn't explicitly say anything about kernel vs. user space, we're not allowed to make any reasonable interpretations based on important technical distinctions, and instead we should follow your car analogies. Who's gazing down their navel?

    8. Re:Linus, nice guy, but wrong. by mumblestheclown · · Score: 1
      again, ac, you miss the point.

      the point is that linus or "the linux community" don't have the standing to decide what a "reasonable interpretation" is any more than the RIAA has the right to decide copyright law (oh look! a slashdot-clone friendly analogy!)

      The RIAA can say that you don't have the right, under fair use, to share your physical dvd with your brother. the problem with this, of course, is that despite the riaa's intimidation, this view would likely not stand the test of law. likewise, just because "the geek community" might find the kernel/user interface to be a perfectly good place to delineate issues of license and maybe evern wrote pieces of their own license to accomodate this no more makes it enforcable or correct than you writing "i hereby own every lear jet ever built" on a piece of paper does.

      So, can I make it any clearer to you? the law - copyright law - doesn't care about the user/kernel distinction just like it doesn't care about the engine/passenger compartment distinction. both are imporant to engineers. both are important, in a certain sense, to users. none have any bearing whatsoever as far as the relevant discussion here goes. the binary module writers are not using any GPLd code.. they are merely connecting at interfaces.

    9. Re:Linus, nice guy, but wrong. by mumblestheclown · · Score: 1
      ooh. so, you're argument that copyright is essentially a guarantee of compensation then? i'm sure that will go over real well in slashdot. hint: mpaa/riaa.

      second hint: the fact remains that binary modules don't use copyright material (or rather, if they do, that's a seperate issue). they only use available interfaces. but let me guess--you were one of those far-sighted geniuses who were against plug-compatible peripherals for the ibm/360 series.

    10. Re:Linus, nice guy, but wrong. by Anonymous Coward · · Score: 0

      This is incorrect, because the GPL doesn't cover use, only copying.

      If the driver manufacturer is not distributing the Linux kernel in any way or form, they don't need to worry about the GPL.

      The "grey area" is related to whether distributing a binary driver should be considered distributing a derived work of the kernel; if it contains substantial parts of the kernel in the form of inlined functions, it clearly should. If it merely interfaces to the kernel, it is an interesting question whether it should or not.

      Consider the possibility that someone creates (without copying code verbatim) a kernel with a driver interface more or less compatible with Linux, and writes drivers that work under that kernel that also happen to work with Linux. Those drivers definitely can't be considered derivative works of the Linux kernel.

      Someone might claim that nobody is permitted to create such a kernel; but that wouldn't be far from the argument that Linus shouldn't have been permitted to create a kernel with a userland interface more or less compatible with Unix.

      The broadest claims presented here sound exactly like SCO's overly broad definition of derivative works.

    11. Re:Linus, nice guy, but wrong. by Anonymous Coward · · Score: 0

      Fun. Two ships passing each other in the night.

      Yeah, I agree. What Linus says is not law. What the "community" says is not law. It's an interpretation of law's applicability under the constraints of the GPL that seems reasonable to a number of people. People do interpret how to apply existing laws instead of making new ones all the time (see your "connecting interfaces" interpretation). Until it gets settled in a court case somewhere, it seems as reasonable as anything else I've heard.

    12. Re:Linus, nice guy, but wrong. by woods · · Score: 2, Insightful
      By his definition, if X was created primarily to work with the linux kernel, then it is a derived work, and therefore falls under his copyright regimen of choice (GPL). this is like saying that if you make a super efficient oil filter that was clearly designed exclusively for mercedes engines, then mercedes can tell you how to sell it.

      That's a misleading concusion and resulting analogy. The work doesn't fall under the copyright of his choice just because it's a derived work; there's no such law. It falls under the GPL because presumably the derivative work authors agreed to those "extra" set of rules when they used the linux source to create their work.

      There's no such agreement with Mercedes. If there were some kind of GPL'd Mercedes that everyone collaborated on, the analogy would make more sense. Then companies wouldn't be allowed to create custom add-ons for tricking out your GNU/Mercedes without also making their add-ons GPL'd.

    13. Re:Linus, nice guy, but wrong. by ecki · · Score: 1

      I fully agree. Another analogy would be Windows drivers. I assume most of them do only work with Windows and were implemented with Windows in mind. But if you'd accept the notion that they are derived work of Windows because of this (as Linus argues for Linux drivers/kernel modules), then Microsoft would own their copyright (at least shared with the original author).

      Somehow, this seems hard to believe. Or are there Microsoft copyright statements in non-Microsoft Windows drivers now? Can't check now since I've got no Windows machine here...

    14. Re:Linus, nice guy, but wrong. by spinkham · · Score: 1

      Say what now? The analog to copyright in the Mercedes instance is what again? As far as I know, there isn't one...
      I am free to cast every one of the Mercedes parts and build an exact duplicate and sell it, as long as I don't use the name Mercedes. That's trademark protection, not copyright. In the US only limited kinds of work qualify for copyright, and cars don't make the cut.

      --
      Blessed are the pessimists, for they have made backups.
    15. Re:Linus, nice guy, but wrong. by cyberformer · · Score: 2, Insightful

      This isn't an anology: It's exactly the same! The question isn't really abotu the GPL, it's about how copyright law applies to software: Do the copyright holders of an OS have the right to control how drivers are distributed?

      The GPL explicitly states that it's intended only to add rights, not take them away. It isn't a signed contract or a dubiously-legal EULA; it's just a limited copyright permission. If you can create drivers for Windows without permission from Microsoft, you can create drivers for Linux without permission from the kernel contributors.

      One difference is that creating drivers for Linux may be easier than for Windows, because the source code is available. But arguing that a programmer merely seeing the source code makes the next thing he/she writes somehow a derivative of that code seems contrary to both the spirit of free software and the nature of creativity. It's like saying that novelists shouldn't read books, or that composers should never listen to music.

    16. Re:Linus, nice guy, but wrong. by morgue-ann · · Score: 1
      the point is that linus or "the linux community" don't have the standing to decide what a "reasonable interpretation" is any more than the RIAA has the right to decide copyright law (oh look! a slashdot-clone friendly analogy!)

      And the GPL also says that Linus can't extend it and still call it the GPL. That's what he's doing by making special provisions for drivers.


      GNU GENERAL PUBLIC LICENSE
      Version 2, June 1991

      Copyright (C) 1989, 1991 Free Software Foundation, Inc.
      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

      Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.


      If his comments had only appeared in a commentary on Linux licensing on LKML, that would be one thing, but right at the top of COPYING in linux-2.6.0-test11.tar.bz2 is


      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.

      Also note that the only valid version of the GPL as far as the kernel
      is concerned is _this_ particular version of the license (ie v2, not
      v2.2 or v3.x or whatever), unless explicitly otherwise stated.

      Linus Torvalds

    17. Re:Linus, nice guy, but wrong. by Anonymous Coward · · Score: 0
      That's trademark protection, not copyright. In the US only limited kinds of work qualify for copyright, and cars don't make the cut.

      Then you may find out that some parts are patented. And some parts are considered as artwork - here intellectual properties rights.

      That's example - even as company in question is Japanese, I believe US have about same laws: http://investmentsmagazine.com/ManageArticle.asp?C =120&A=5966

  37. The only thing I got by Chuck+Chunder · · Score: 2

    was a crackingly playable Quake 3. That was worth something to me.

    --
    Boffoonery - downloadable Comedy Benefit for Bletchley Park
  38. Re:Why don't they just introduce a proper driver A by trenobus · · Score: 3, Insightful

    An even better alternative would be for the proprietary part of the driver to be a provider of a public, documented API, so that anyone could write a driver for it for any OS, instead of it being a consumer of some particular OS driver API. This would completely eliminate the need to use any GPL'd code in the proprietary driver binary.

    Such an API could (and in many cases should) conceal proprietary aspects of the associated hardware, and in so doing perhaps remain stable for more than one generation of the hardware. Also, such an API could (but in most cases should not) have hidden functionality (e.g. "reserved" arguments to functions) that could be transparently used by proprietary application code (assuming the driver for a particular OS passes the arguments through unchanged).

  39. All about /. by Anonymous Coward · · Score: 0
    Your logic is fundamentally flawed, and/or your reading skills are deficient.

    I thought that was a big shout out to the general Slashdot population.

    You are a weasel, and you are trying to make the world look the way you want it to, rather than the way it _is_.

    And I thought that was a shout out to the sizable (or maybe just loud) neo-con Slashdot population.

  40. Wouldn't it be great... by frankjr · · Score: 1

    If there was a LAW requiring hardware manufacturers to release hardware specifications and/or source code?

  41. Depends by famazza · · Score: 2, Interesting

    It depends rather the module uses or not other GPLed files, either source or headers.

    It's as simple as MS claims to be. GPL infects everything it touches. If you use any header or any source code from Linux kernel (or whatever GPLed code) it MUST be released under GPL.

    But this is theory. We must avoid problems with this kind of GPL violation in order to keep major non-free drivers avaiable. (oh no, if Stallman sees me talking like this... :o) At this moment popularity is also very interesting.

    Let's not become like SCO.

    --

    -=-=-=-=
    I know life isn't fair, but why can't it ever be un-fair in MY favor!?
    1. Re:Depends by Anonymous Coward · · Score: 0

      bullshit.
      Infection implies an involuntary victim, with the GPL there is none. The GPL grants you restricted extra rights, it doesn't force you to use them.

      IF YOU DON'T LIKE THE RESTRICTIONS, DON'T USE THOSE EXTRA RIGHTS. code your own.

      NDA's are the real infections. If you accept one it can make working in related areas a pita if not impossible.

      And what about standard, non-free licences- isn't the act of forbiding giving a copy to your friend an anti-social virus?

  42. Re:Amazing by TiggsPanther · · Score: 1

    You'd have a point iff the Linux Community actually believed any of SCO's IP was actually in there.

    In fact, even if it is there, then most of the Linux community wants to know what and where, so it can be removed and replaced.

    Now if we were going "Yeah, SCO's IP is in here, so what!" Then that'd be double-standards.
    However, seeing that most of us as saying "Darl's talking out of his ass", then you can be pretty sure that no-one believes that any of SCO's IP is in Linux. At least, not intentionally. So I can't see any double-standard here.

    Tiggs
    --
    Tiggs
    "120 chars should be enough for everyone..."
  43. Re:Why don't they just introduce a proper driver A by CondeZer0 · · Score: 0, Insightful

    Binary drivers are a load of braindamage, and should be make as difficult as
    possible.

    With binary drivers the whole point of Open Source is lost, and you could as
    well have a proprietary kernel.

    As you very well know, most BSOD in windoze are mainly caused by faulty
    drivers, do we want the same "feature" in Linux? what about other OSes like
    *BSD, what should they do? and other arches like PPC or Alpha? should they all
    give up their OSes and systems and follow the "one true way of Linux proprietary
    drivers"?

    And don't even tell me about those "cross-platform-driver-interfaces", what a
    joke... FYI, that didn't work for M$, and it wont work for anyone else, M$
    tried to make a "standard" driver interface to allow win9x drivers to work on NT,
    it was a *DISASTER*; there are loads of hardware out there that didn't make the
    transition and has *no* drivers for WinNT/2k/xp, because the manufacturers were
    bankrupt, because they were clueless, because they wanted you to buy new
    hardware; do you want the same to happen with Linux?

    What we *need* is for hardware vendors to get a fucking clue and start
    releasing documentation about the crap they sell, that is the only way for a
    stable and open system. Hardware vendors that refuse to document their hardware
    are just too stupid to be dealt with.

    If I buy something, I have a *right* to know how it works and how I can use it
    in any OS I like.

    Best wishes

    uriel

    --
    "When in doubt, use brute force." Ken Thompson
  44. No closed source means... by Anonymous Coward · · Score: 1, Interesting

    No software for linux.

    No software for linux. Linux = dead without software.

    You cannot have it both ways. Free and commercial support.

    1. Re:No closed source means... by Anonymous Coward · · Score: 0

      The subject of the thread was device drivers, not software in general.

      But even if it were software in general, what proprietary software is so important that Linux would be dead without it? Oracle? Mathematica? UT2003?

      I don't currently run Linux myself, but I run much of the same software that a typical Linux user might under FreeBSD. I have no proprietary software on the entire machine, yet I have everything I need.

      You can argue that without proprietary software, Linux will never become as popular as Windows, but less popular than MSWin is a far different state than "dead".

      Just like despite all the trolls, BSD isn't dying, Linux isn't going to die either, not unless all the people who currently prefer it switch away. Windows will probably not do as a replacement for very many of those people. Some people might switch to MacOS X. But as long as a lot of people prefer open source software, they aren't going to switch just because there's less proprietary software available.

      Why should Linux compete with Windows or even MacOS X? As long as the people who do prefer it are happy, isn't that the most important thing? Why would an operating system need to have mass appeal in order to be a valid choice for those who want to choose it anyhow?

  45. Re:Pessimists are mind-killers by jlar · · Score: 5, Insightful

    You clearly missed the point in my signature. It has nothing to do with pessimism. Karl Popper (famous natural philosopher) wrote a book after WW2 called "The Open Society and its enemies" as a defence of democracy and a critique of totalitarian rule (including fascism, communism and various religious ways to rule).

    In the book he argues that democracy has an incremental approach to society building whereas e.g. communism (and political islam for that sake) has a "revolutionary" approach. The point is that those who promise us paradise on Earth after we have made the society in whatever way they would like us to - they have always ended up giving us hell on Earth (Soviet Union, Iran, Afghanistan and so on).

  46. Why it wont work. by MonkeyINAbaG · · Score: 1

    This is my take on the whole thing:
    Linux, inded, Open Source is like communism. It doesnt work unless everyones involved in it.
    I know many of you will disagree with my example, but heres my meaning:
    Open Source Kernel Modules submitted by hardware manufacturers WILL NOT work unless EVERY hardware manufacturer opens their code. They keep their binaries, and they keep their trade secrets, but if everyone opens their source, the benifits felt by all would outweigh the losses of information, much in the same way as Linux distributions prefer to work alongside each other, even though they are realistically in competition with each other.
    I think the real issue here isnt with Black Box Modules on the desktop, but rather hidden modules in embedded systems, such as consumer devices (dvd players, for instance) where the company who could very well be violating the GPL is doing it under cover, and away from the prying eyes of most Linux Hackers, possibly even compiling their own code into the kernel, and not GPLing it. I think embedded device manufacturers should be taking this step of opening their source, for common gain, especially since they are the ones that most frequently use the kernel without singing its praises.
    A binary module to save a desktop customer, who has forked out money for a nonfunctioning product is a good thing, and I hope this technology flourishes, and intergrates properly, but using the expertese of thousands of devolopers who give their time for free, creating a Linux system for end users, but not crediting linux, thus creating a world where most Linux users dont even REALISE that they use it, and only contributing to it by inserting a binary module to save a $lot_of_money$ on R&D, or licencing is WRONG.

  47. Parent plagiarized from kerneltrap comments by Anonymous Coward · · Score: 0

    Parent comment is lifted from a comment in the article's comment thread. just FYI for anyone reading who might have mod points.

    Discussion in article is actually halfway interesting, by the way.

    1. Re:Parent plagiarized from kerneltrap comments by Anonymous Coward · · Score: 0

      COCKSUCKER!

  48. Pragmatism -- need protection, not license by Morgaine · · Score: 1

    Pragmatism can be a double-edged sword, but let's assume that pragmatism is a good thing in this area.

    Binary modules need to be tolerated - fine. But kernel instability cannot be tolerated, ever. Put these two things together and I can think of only one way out of the dilemma: binary modules must be run within a restricted execution environment where the harm that they can do is reduced to a minimum. Existing taint+symbol controls do not provide such protection.

    What this means is, we should use the MMU to allow non-GPL modules access only to a small section of kernel space for interfacing purposes, and not to the entire kernel. This is pretty easy to do as far as code access is concerned (they should not be calling kernel code anyway if they claim to be independent), but it would impact markedly on data handling since data would have to be copied first into module-space buffers before a binary module could access it. This would make GPL modules run faster than binary-only modules in most cases. That seems fair.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
  49. Re:Why don't they just introduce a proper driver A by lorien420 · · Score: 2, Insightful

    You're mistaking the GPL for the LGPL. The API would not be subject to copyrights, but any sources compiled against it would be GPL because the license of the GPL does not allow for abstraction layers like that.

    --
    "[We'll be] really getting inside your head and making it an unpleasant place to be" -- Trent Reznor
  50. This isn't limited to the kernel. by Moderation+abuser · · Score: 2, Interesting

    There are a load of GCC headers and other GPL'd library headers which are compiled into any code you build. The library itself may be LGPL'd but the code, data astructure definitions in the headers are included into the resulting binary, so if this problem is as you state, it is a GPL issue rather than a Linux kernel issue.

    If this is the case then *any* binaries produced by GCC or which even look at headers or data structures included with any GPL'd or LGPL'd library must also be [L]GPL'd.

    --
    Government of the people, by corporate executives, for corporate profits.
    1. Re:This isn't limited to the kernel. by adrianbaugh · · Score: 2, Informative

      I'm pretty sure that (even) RMS has said that code produced by GCC does not /have/ to be GPLed. Therefore it seems you need a bit more than dependence on headers to transmit the so-called "GPL virus".

      --
      "'I pass the test,' she said. 'I will diminish, and go into the West, and remain Galadriel.'"
      - JRR Tolkien.
    2. Re:This isn't limited to the kernel. by Moderation+abuser · · Score: 1

      I agree, but it seems to be what some people are saying with respect to kernel modules.

      --
      Government of the people, by corporate executives, for corporate profits.
    3. Re:This isn't limited to the kernel. by jusdisgi · · Score: 1

      Aren't the headers all LGPL?

      --
      Given a choice between free speech and free beer, most people will take the beer.
  51. Re:Amazing by nathanh · · Score: 2, Informative
    Wow. It's just amazing to me how the Linux community supports the wholesale theft of SCO's intellectual property,

    Hard to believe you're not a troll but just in case...

    The Linux community wants SCO's "intellectual property" out of Linux. The GPL doesn't permit their IP to stay in there. It must be removed; the license and the law demands it.

    But first they have to tell us WTF their IP actually is. We can't remove it because we don't know WTF they're talking about! Even IBM doesn't know and the judge couldn't figure it out either, which is why SCO has been compelled to tell the court WTF they think they own in 30 days time.

    Linux developers are very respectful of IP rights, even if sometimes the users (*cough*MP3 thieves*cough*) are not. This is why we wrote our own operating system, from scratch, rather than subject ourselves to binary-only licensing.

  52. Refreshing, very by Anonymous Coward · · Score: 0

    its good to see the variety and originality of first posts these days.

  53. Re: Think Back (and mod parent up) by Anonymous Coward · · Score: 0

    You make an excellent point.

    It was like this with any hardware product you bought in "the good old days". All personal computers and hardware came with excellent programming manual.

    Remember the C64? It was shipped with a big manual explaining everything from how to program to how it was built. All ports were carefully described, and you were even given a brief introduction to assembly programming.

    Seems like the manufacturers are taking the focus away from "how it works" and directs our attention to "it works, just use it".

  54. the real problem is... by jonwil · · Score: 3, Insightful

    that sometimes there is no other choice.

    For example, try to find a combination of GPU and drivers that is good enough to play linux games like Neverwinter and Unreal or emulated games through WINE that is 100% open.

    You cant.
    I suspect that even if you were able to completly Reverse Engineer (through disassembly or otherwise) the windows or linux Binary-Only drivers and/or the interface and hardware APIs for and from that, make an open source driver, you would probobly be violating several patents or other IP thingos and would have your ass sued by the makers of . Also, the makers of would probobly state that using the code means you get no tech support, no warranty, no nothing. Plus, the makers of would get some kind of court order to state that since the open source driver violates the patents etc that distributing, using or working with it is illegal and have all the copies in existance removed.

    Also, 802.11* wireless network cards. I dont know of any 802.11* wireless network cards that have 100% open source drivers for linux except for 1 or 2 that have been Reverse Engineered by someone. For those, you dont get technical support, you may not get warranty service and the manufacturers would probobly shut down the Open Source driver projects if they had a way to do it.

    Personally, I love Open Source and Open Specifications (i.e. Open file formats, Open APIs, Open network protocols, Open hardware interfaces etc) and push for such things wherever I can. (I was involved in a push to get Electronic Arts to release stuff connected with the gameplay scripts for Command & Conquer Renegade. They didnt release it. But in the end, I wrote my own DLL that sits between the game exe and the official DLL and allows one to implement ones own scripts but its still nowhere near as good as having the official stuff would have been)

    1. Re:the real problem is... by Anonymous Coward · · Score: 0
      Also, 802.11* wireless network cards. I dont know of any 802.11* wireless network cards that have 100% open source drivers for linux except for 1 or 2 that have been Reverse Engineered by someone. For those, you dont get technical support, you may not get warranty service and the manufacturers would probobly shut down the Open Source driver projects if they had a way to do it.
      Not true at all. The Prism2 drivers are fully open and were written with the co-operation of Intersil.
    2. Re:the real problem is... by soccerisgod · · Score: 1

      Also, the makers of would probobly state that using the code means you get no tech support, no warranty, no nothing.

      Ever loaded a "tainted" kernel module? It says there you can't get support from the kernel people if anything goes wrong while it's loaded.

      In a way I guess, it boils down to a choice between plague and cholera :|

      --
      If a train station is a place where a train stops, what's a workstation?
    3. Re:the real problem is... by Just+Some+Guy · · Score: 3, Insightful
      For example, try to find a combination of GPU and drivers that is good enough to play linux games like Neverwinter and Unreal or emulated games through WINE that is 100% open.

      The problem is trying to determine causality. You could equally argue that were it not for NVidia's binary drivers, there would've been enough need for someone to have spent the time and money to reverse engineer an MX-400 and build good open source drivers. From that point on, NVidia would have a vested interest in supporting the community drivers with their new boards, since it would be cheaper than maintaining their own in-house closed drivers.

      Instead, they beat us to the punch, and removed 99% of the motivation to do it "right".

      --
      Dewey, what part of this looks like authorities should be involved?
    4. Re:the real problem is... by Psyrg · · Score: 1

      For example, try to find a combination of GPU and drivers that is good enough to play linux games like Neverwinter and Unreal or emulated games through WINE that is 100% open. I'm not sure about Wine, but a 3DFX Voodoo 5 under Linux plays Neverwinter Nights and Unreal without much trouble. Under Debian it is a very simple matter of apt-getting the right libraries. Since the kernel module is included as a part of the 2.4 kernel, and that I have the Slackware Glide source, it is my belief that all the libraries and modules necessary for 3DFX support are open source. In fact, I consider the Voodoo 5 a great example of how well open source drivers can work. OpenGL support ended at version 1.1 under Windows, but has continued to progress allong with the Mesa project under Linux. When Neverwinter Nights Linux client was released, I was able play the game on my computer due to its OpenGL 1.3 requirement. That was a few months ago however, and I have replaced the Voodoo 5 with an ATi 9700. If I were to dump Windows today, I would probably remove my ATi 9700 video card in favour of the Voodoo 5. I never had a problem with the Voodoo 5, always giving me rock solid uptime, but now almost all of my Linux issues are caused by ATi's drivers.

    5. Re:the real problem is... by nathanh · · Score: 1
      Since the kernel module is included as a part of the 2.4 kernel, and that I have the Slackware Glide source, it is my belief that all the libraries and modules necessary for 3DFX support are open source.

      Correct. The entire tdfx driver-chain is open source. From Mesa (high level OpenGL) to the DRI (direct rendering) to XFree86 (resource manager) through to Linux (tdfx kernel module) and Glide3 (basic hardware interface from client-side libGL direct-rendering library).

      In fact, I consider the Voodoo 5 a great example of how well open source drivers can work. OpenGL support ended at version 1.1 under Windows, but has continued to progress allong with the Mesa project under Linux.

      Also correct. 3DFX is dead but their drivers live on. The latest improvements to Mesa improved tdfx as well. Future improvements to Mesa will also improve tdfx. Glide3 is still maintained and probably will be until the very last 3DFX card dies.

    6. Re:the real problem is... by Psyrg · · Score: 1

      Cheers for reply, if it wernt my first Slashdot post I figure I could have scored a mod point or two if I had known how to add a line feed... :)

      See, I'm learning!

    7. Re:the real problem is... by emil_nikolov · · Score: 1

      Not really. nVidia guys have already seen the code of the third parties so anything they do is contaminated. They have to get comepletely new people to work on that starting from scratch. Obviously if they thought that was in their best interest they would have done it long ago since they are for profit company.

  55. Very simple answer. by Anonymous Coward · · Score: 0

    If you are worried about the GPL and its implication, don't use a GNU/Linux fork.

    Use FreeBSD (if you want X86), NetBSD (if you want to have portability across platforms) or OpenBSD (tries to make sure all code on the platform is under a BSD compatible license).

    Very simple. To date however, no 'you have infringed on the GPL in linux' lawsuits have been filed, even with violations like the Virgin WebPlayer.

  56. Re:Why don't they just introduce a proper driver A by trenobus · · Score: 1

    And don't even tell me about those "cross-platform-driver-interfaces", what a joke... FYI, that didn't work for M$, and it wont work for anyone else, M$ tried to make a "standard" driver interface to allow win9x drivers to work on NT, it was a *DISASTER*; there are loads of hardware out there that didn't make the transition and has *no* drivers for WinNT/2k/xp, because the manufacturers were bankrupt, because they were clueless, because they wanted you to buy new hardware; do you want the same to happen with Linux?

    Yes, and M$ keeps trying to make a secure version of Windows and so far that's a disaster too. You aren't seriously suggesting that if M$ can't do something then it can't be done? Hardware can be virtualized in software.

    If I buy something, I have a *right* to know how it works and how I can use it in any OS I like.

    I sympathize, but how many device manufacturers provide hardware schematics. Don't you really need those to really know how it works? Providing proprietary software with the proprietary hardware is just drawing the line a little higher. If the proprietary software is buggy, don't buy the product (just as you wouldn't buy buggy hardware). And you'd find out real quick whether the software is buggy if Windows were using the same proprietary binary.

  57. After the CB Radio goatse.cx... by adamofgreyskull · · Score: 1
    "You are a weasel"
    That's the second mouthful of coffee I've lost thanks to /.
  58. I think that's a bad precedent by penguin7of9 · · Score: 2, Insightful
    Basically:
    - anything that was written with Linux in mind (whether it then _also_
    works on other operating systems or not) is clearly partially a derived
    work.
    - anything that has knowledge of and plays with fundamental internal
    Linux behaviour is clearly a derived work. If you need to muck around
    with core code, you're derived, no question about it.
    I think arguing what is a "derived work" is both dangerous and unnecessary.

    It's dangerous because if Linus's argument actually holds, than Microsoft can legitimately claim that Mono is a "derived work" from .NET and SCO can legitimately claim that Linux is derived from UNIX. Fortunately, courts, so far, do not seem to have agreed.

    It is also unnecessary because the kernel falls under a license. A license can state under what conditions something can be used. Whether or not the GPL has enough teeth, you could certainly write an open source license under which any module developed using the Linux kernel must itself have an open source license. Or you could write an open source license that explicitly prohibits the linking of closed source modules into the kernel. That makes the question of whether something is a "derived work" or not irrelevant and still enforces the intent.

    Now, we only need to figure out what the intent should be. Do we actually want closed source kernel modules?
  59. Re:Pessimists are mind-killers by ajs318 · · Score: 1

    If you are going to help redesign society, you should be prepared to accept any role given to you at random within the new society. Otherwise, how can anybody be sure that the society that you helped design really was fair?

    --
    Je fume. Tu fumes. Nous fûmes!
  60. So the GPL in fact hurts Linux... by Otis_INF · · Score: 3, Interesting

    You don't have to agree with me, but I can only conclude that the restrictive GPL with its vague derived work clause is hurting Linux: a company won't put trade secrets into a binary driver to run the risk of losing these trade secrets because of a lawsuit based on the GPL which states that the binary only driver has to be opened up because it violates the GPL.

    OR get a proper system into place like in Windows, for kernel modules so the modules are not 'derived works' (calling kernel modules derived works is pretty stupid IMHO, but that aside) OR live by the fact that not a lot of hardware vendors will offer drivers for their hardware. (which then results in the 'home brewn' drivers which are not always up to par).

    Reading all the comments here I simply can't understand why so many people are so hardheaded. Don't you see / understand that to make Linux an OS with great support for a LOT of hardware, you have to convince hardware vendors their drivers will not be part of a GPL-case? Apparently not.

    --
    Never underestimate the relief of true separation of Religion and State.
    1. Re:So the GPL in fact hurts Linux... by soccerisgod · · Score: 1

      Reading all the comments here I simply can't understand why so many people are so hardheaded. Don't you see / understand that to make Linux an OS with great support for a LOT of hardware, you have to convince hardware vendors their drivers will not be part of a GPL-case? Apparently not.

      Consider this: If I wanted to use a system where everything's closed source, what do I need linux for? I could just as well use Windows. And as many previous posters have pointed out, if you explicitely allow binary-only drivers, you discourage manufacturers from making their drivers available as source code. It's how the market works. Manufacturers never make unnecessary concessions.

      --
      If a train station is a place where a train stops, what's a workstation?
    2. Re:So the GPL in fact hurts Linux... by Platinum+Dragon · · Score: 1

      Don't you see / understand that to make Linux an OS with great support for a LOT of hardware, you have to convince hardware vendors their drivers will not be part of a GPL-case?

      Alternatively, to keep Linux a great, free OS with great support for hardware, we need to convince hardware vendors that fully embracing open source is the way to go. It's a harder path than wimping out and changing the licence to allow binary-only drivers, but I think it would be ultimately a more rewarding one for everyone involved.

      --

      Someday, you're going to die. Get over it.
    3. Re:So the GPL in fact hurts Linux... by Anonymous Coward · · Score: 0

      Bullshit, I hate the GPL, GNU and RMS as much as anyone else, but I have to admit that the GPL is good to keep propietary crap out of the kernel.

      Binary drivers are *EVIL*, if you don't understand something that simple, go back to your cave to use windoze.

      Who the fuck wants "trade secrets" into their drivers anyway? I want drivers that work in any platform(or that I can port if needed), that don't lock me in, that I can fix if they break, that I can read to reimplement them in another OS, whatever.

      \\k

    4. Re:So the GPL in fact hurts Linux... by Anonymous Coward · · Score: 0

      BTW, the Windoze driver "system" is a fucking joke, hell, even brainwashed M$ droids know that 90% of BSOD are caused by faulty drivers!

      And what about hardware that only has drivers for Win9x? Maybe you don't have any, but I know someone that had to throw to the trash a really expensive sound card because the company that made it went bankrupt and never released drivers for anything newer than Win98, too bad I only found out afterwards, because the card is very well supported under Linux(ALSA)!

      \\k

    5. Re:So the GPL in fact hurts Linux... by Anonymous Coward · · Score: 0

      Classical chicken and egg problem.

    6. Re:So the GPL in fact hurts Linux... by SuiteSisterMary · · Score: 1

      You assume that the only reason they don't embrace Open Source is personal reluctance, not business realities.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    7. Re:So the GPL in fact hurts Linux... by Platinum+Dragon · · Score: 1

      You assume that the only reason they don't embrace Open Source is personal reluctance, not business realities.

      Nope. I fully understand that business contracts and licences can prevent companies from being fully open with their specifications and interfaces. It's the job of people interested in promoting open source to convince manufacturers of any computer technology that embracing open source and freedom of information is not just a good idea, but beneficial for promoting innovation and prosperity. This goes beyond the board manufacturers, reaching to the chipmakers and firmware developers that tend to lock up their own technologies.

      Short version: open source advocates need to convince hardware manufacturers that opening code, releasing specs, and issuing royalty-free patent licences when possible is ultimately better for the industry, programmers, and users than playing Can You Top This Patent Portfolio?

      --

      Someday, you're going to die. Get over it.
    8. Re:So the GPL in fact hurts Linux... by SuiteSisterMary · · Score: 1

      But is it better, from a business/revenue point of view?

      If ATI comes up with a whiz-bang way of doing surface culling, how is turning around and giving that information to all of their competitors going to do ATI any good?

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    9. Re:So the GPL in fact hurts Linux... by spitzak · · Score: 1

      a company won't put trade secrets into a binary driver to run the risk of losing these trade secrets because of a lawsuit based on the GPL which states that the binary only driver has to be opened up

      This is NOT going to happen. You are talking about a copyright violation. The worst that will happen is the company will be told to stop distributing their driver.

      Okay, possibly the manufacturer may be liable to damages from some copyright holder of a part of Linux. That is going to end up being money, it is not going to be a requirement that the company lose their copyright. If you can find a single case anywhere where a copyright violation has caused a company to lose it's other copyrights I would be interested in hearing about it.

      The "you may lose your copyright" boogyman argument is FALSE and is FUD being perpetuations by those who will gain if GPL code is discouraged.

  61. Don't need the source code, heh? by Trbmxfz · · Score: 1

    I'm not a coder. (...) I get no benefits from having the code available.

    Actually, I think you would get benefits from having the source code.

    For example, it doesn't seem like nVidia is in a hurry to release drivers for new kernel versions, and just renaming their current driver doesn't work in Linux 2.6. The day you want to move to 2.6 (and you may have reasons; for example if it brings support for a new device you buy), you'll find that you can't just go to the manufacturer's site and download a binary.

    (Note: it is possible to use the current nVidia drivers with 2.6, but with some patching.)

    1. Re:Don't need the source code, heh? by 10Ghz · · Score: 1
      For example, it doesn't seem like nVidia is in a hurry to release drivers for new kernel versions, and just renaming their current driver doesn't work in Linux 2.6.


      To my knowledge, there are plenty of Gentoo-folks using the NVIDIA-drivers with 2.6-kernel. I would assume there are users of other distros as well.
      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
  62. keep an eye on step two by ciaran_o_riordan · · Score: 2, Interesting

    > I'd rather run a 95% Free Software operating
    > system, than a 95% closed operating system

    All software should come with permission to study, share, modify, and redistribute. If 95% of the software you use comes with these freedoms, that's a great, but we mustn't lose sight of the final goal. We've come so far, we have soooo many pieces of software that people said we'd never have. If hardware companies would just give us specs, we could write our own drivers, and y'know I bet we'd write better drivers than they do! ;-)

    1. Re:keep an eye on step two by Yartrebo · · Score: 1

      Even better would be open-source hardware. Although you wouldn't be able to 'compile' your chip layouts at home, any manufacturer or government could make them, and anyone could write drivers for them.

      If open-source hardware even became competitive in performance to closed-source hardware, the cheaper price and the (hopefully) standardized interfaces will eat the lunch of the closed-source hardware.

  63. Re:Pessimists are mind-killers by jlar · · Score: 1

    Well, I prefer a society where roles are not "given". I prefer that people are handed as much freedom as possible to shape their own lives as they see fit.

    Your proposition seem to based on the premise that all should be equal in all respects and therefore it should not matter what role you have in society. That is not one of my priorities. I would like a society with equal opportunities - then people have the responsibility to shape their own future (for good or for bad).

  64. and still by Anonymous Coward · · Score: 0

    no one is making money -- look at your local LUG do most of them even have jobs using linux, let alone making money?

  65. Re:Why don't they just introduce a proper driver A by CondeZer0 · · Score: 0, Troll

    You obviously got no clue what you are talking about.

    First, M$ might not make very secure software, but they sure got a load of
    talented people working there, and even if their software is crap they know how
    to do some things right, the NT kernel is not all that bad(after all, it's just
    VMS ;)), and they did put a *load* of effort in making drivers compatible, and
    they had the src for all the OSes they wanted to make compatible, and they
    still failed miserably, other efforts by a bunch of amateur kids aren't going
    to work much better(and if you do some research, you will find that some other
    people have tried, and failed too).

    And that is for a very simple reasons, drivers and kernel modules, by
    definition
    are *very* tied to the underlying kernel architecture, that you
    really want to be able to change, and when you change that, you will need to
    change the interface to it, and you will break code that uses that interface,
    and if you only got a binary you are in a world of shit.

    And yes, I *really* need to know how to interface with my hardware, and no,
    adding a layer of proprietary software on top of proprietary hardware is *not*
    OK, for *many* reasons, for example security, stability, CPU and OS
    portability, etc...

    There is *no* excuse for not releasing the necessary specs for hardware, the
    interfaces to them are meaningless to other hardware vendors, and the only
    reasons hw vendors don't release them are: ignorance; to keep more control over
    the (l)users and make them more dependant(eg., force upgrades by removing
    support for old hardware...), and to hide embarrassing bugs in their
    hardware(or advertise fake features that are implemented in software, eg.,
    winmodems, winprinters, etc.)

    In all cases specs are withheld to screw the user, and nothing else, which is
    *exactly* what Open Source tries to avoid.

    You have to remember that in Open Source, we are all the developers, and M$ got
    access to the src of all their drivers(their license for hardware vendors force
    them to give the src to M$), and we at the very least need the same.

    Best wishes

    uriel

    --
    "When in doubt, use brute force." Ken Thompson
  66. Any hw vendor may create a binary kernel module... by scharkalvin · · Score: 1

    And what is to stop them? If they do NOT distribute any part of the Linux kernel with their hardware, but only provide the binary kernel module (say in the case of a driver provided with a video capture or decoder card) they *MAY* have technically violated the GPL, but this is clearly a case of looking a gift horse in the mouth. If you ban the binary module, they will just stop providing it, and now you can't use their hardware anymore in Linux.....
    OTOH if they were to provide a complete hw solution based on Linux, running the Linux kernel, using a binary kernel driver module they wrote (such as a router box) they they would have to stop shipping the router unless they provided the source to the derived work.

  67. Re:Any hw vendor may create a binary kernel module by soccerisgod · · Score: 1

    Of course you can argue that this is a two-way relation, and that users probably would no longer buy those products if there's no support for linux. And since the linux userbase is growing constantly, that might prove to be a bigger problem for the manufacturer.

    --
    If a train station is a place where a train stops, what's a workstation?
  68. Re:Pessimists are mind-killers by aled · · Score: 1

    Khun kills Popper :-)

    --

    "I think this line is mostly filler"
  69. Because they have to by brunes69 · · Score: 2, Insightful

    Companies like NVidia provide binary-only modules because they have to. Their code contains stuff that is patented and licensed from other companies, and they *cannot* legally release that code.

    For example, NVidia's linux drivers contain S3TC tecxture compression algorithms, which is patented and licenssed. It is not theirs.

    They CANNOT open source these drivers, nor could Linux developers create an implementation of them without being sued by the company who owns the rights.

    And people just don' t seem to get this and it really really pisses me off. NVidia is just trying to do The Right Thing (tm), releasing Linux drivers at a LOSS nonetheless ( you think they make enough on Linux-owner sales of their cards ot cover these programmers salaries? I doubt it. ), and all the community does is flame them. No wonder hardware companies are so hesitant to support Linux in any shape or form.

    I also need to throw this in to close... I don't know what people's problems with these drivers are. I have been using them since version 1043, and I have *NEVER* had a problem that wasnt fixed by reading the FAQ. And their feature and 3D support totally blows away any of the open source drivers (ATIs always lag 1-2 years behind the release of a card, and they still don't have all the features of the windows ones).

    1. Re:Because they have to by DaAdder · · Score: 1

      Why couldn't you release an open source version of the driver where all the parts that were under 3rd party patent, or even the parts Nvidia wants to keep hidding, are singled out and linked to in included binary modules?

      It's work, but it's possible isn't it?

  70. So quite a few products are illegal... by Anonymous Coward · · Score: 0

    E.g. quite a few Linux based security products.

    Checkpoint SecurePlatform for example is based of Redhat and the modified sources are not available.

    And the firewall itself is inside the kernel, not even sure that it is a module...

    The good point is that Checkpoint have very deep pockets, some developpers could make big bucks suing....

  71. Simple solution: dont buy nvidia by gad_zuki! · · Score: 1

    Of all the comments on here, no one is advocating a boycott against nvidia products or at least shopping smart. I had a geforce 3 in a RedHat box and it was really just a waste of money and energy. Linux isn't exactly a gamer's platform and I spent almost all of my time in 2D. Now that box has a Matrox card from 1995 or so. Works great.

    Support manufacturers who work with the OSS community, give them your money. Sure, Linux is usually just installed on whatever junk Dell or Compaq sold you, but you do have a choice with desktop machines and especially machines you build yourself. Pull that offending card out, replace it with something with decent drivers and write a letter to the manufacturer/coders thanking them for supporting your OS. Eventually this will hopefully escalate to being a big stain on nvidias image.

    Until Linux is sold by various OEMs this problem will continue. Ideally OEM competition will help force OSS drivers into existance as they simply would work better freshly compiled and have cross-platform capabilities (porting to solaris, etc).

    Its understood that nvidia probably has contracts forbiding them to release an OSS driver. Well, perhaps in the future they can avoid such agreements and provide OSS drivers.

    I'm not holding my breath, Linux isn't exactly what comes to mind when talking about 3D apps (with the exception of rendering farms), especially games. Do they even still make OpenGL games?

    Even with tons of pressure this issue may never be resolved. Its a compromise the Linux community may have to live with for a long time. Not to mention chastising users who choose the binary path also goes against the free pricinples of "doing whatever I want with my computer."

  72. -1 Flamebait by brunes69 · · Score: 4, Informative

    Companies like NVidia provide binary-only modules because they have to. Their code contains stuff that is patented and licensed from other companies, and they *cannot* legally release that code.

    For example, NVidia's linux drivers contain S3TC tecxture compression algorithms, which is patented and licenssed. It is not theirs.

    They CANNOT open source these drivers, nor could Linux developers create an implementation of them without being sued by the company who owns the rights.

    And people just don' t seem to get this and it really really pisses me off. NVidia is just trying to do The Right Thing (tm), releasing Linux drivers at a LOSS nonetheless ( you think they make enough on Linux-owner sales of their cards ot cover these programmers salaries? I doubt it. ), and all the community does is flame them. No wonder hardware companies are so hesitant to support Linux in any shape or form.

    I also need to throw this in to close... I don't know what people's problems with these drivers are. I have been using them since version 1043 (3+ years), and I have *NEVER* had a problem that wasn't fixed by reading the FAQ. And their feature and 3D support totally blows away any of the open source drivers (ATIs always lag 1-2 years behind the release of a card, and they still don't have all the features of the windows ones like FSAA and anisotropic filtering, while NVidia has had them for years).

    1. Re:-1 Flamebait by soccerisgod · · Score: 0, Troll

      <irony>
      Ah look, it's our friend from the nvnews forum. Didn't you write there a few months ago that you thought open source drivers can't be anything but sh*tty? Glad to see you around here, matey.
      </irony>

      I think someone already pointed out 5 months ago that the drivers no longer contain that code. Of course I have no idea if that's true. What I can say is that many people asked either for the source to be released or for specifications of the hardware so that open source drivers could be made. That wouldn't concern stuff like your S3TC texture compression I'd say.

      You've been debunking all those requests with your it-all-works-on-my-pc attitude, blissfully unaware of the possibility that other users might have other experiences. In fact, one gets the impression from your posts that you're an opponent of Open Source and that you think that anything free (as in speech) has to suck. I wonder, why are you not using Windows then? NVidia's drivers work beautifully there (for the most part) and you don't have to hear those Open-Source-The-Drivers requests anymore.

      And get that into your head: You're not the measure of everything, and other people might have different requirements than you. Now kindly go troll someplace else.

      --
      If a train station is a place where a train stops, what's a workstation?
    2. Re:-1 Flamebait by atriusofbricia · · Score: 3, Insightful
      Not likely anyone will see this at this point but I just had to say something.

      What pisses me off are the, as was said, hardheaded people who are of the immovable position that either a driver is open source or it's evil. Or worse, those who say that either it should be open source or not exist!

      You correctly, finally someone did it, pointed out that even if nvidia wanted to release their drivers under the GPL they can't! The owners of S3TC would own them inside of a week.

      And it is not a bloody solution to just say people with such hardware can just bite off. I want to see Linux on the desktop, not just relegated to the server room, and that is only going to happen with good driver support across the board.

      I'm sorry, not everyone who makes a board wants to GPL their drivers. They all have their reasons, right or wrong.

      I would rather see such drivers then have to tell someone when they ask me about linux,

      "Yes, it's a great OS. It's stable, runs fast, isn't full of bloat, blah, blah, blah. But you can only buy a model blah video card, model blah sound card. Because those are the only ones there are drivers for." Keep in mind that model blah and blah would likely be pretty old and out of date.

      And to those saying that nothing "important" would have to be released to OS their drivers, that would logically mean it should be pretty easy to write OS drivers that are just as good as the, in this example, Nvidia binary drivers. Why is it then I haven't seen such drivers? (I am not a programmer, so I am likely off base on this, feel free to reply if I'm wrong)

      Thank you no, I'll take my fully working, yes with binary nvidia drivers, system anyday. bah!

      --
      I was raised on the command line, bitch

      "Nemo me impune lacesset"

    3. Re:-1 Flamebait by cpeterso · · Score: 1


      NVidia's linux drivers contain S3TC tecxture compression algorithms, which is patented and licenssed. It is not theirs.

      Suppose NVidia really wants to open source their code, but they cannot open source the S3TC code they have licensed. They why doesn't NVidia distribute THEIR code as open-source (say BSD) and then include a smaller binary blob nv-s3tc.o or whatever?

    4. Re:-1 Flamebait by brunes69 · · Score: 2, Informative

      You do realize that hardware specifications can, and likely are, also covered by patents owned by either Nvidia, another company, or jointly?

      I am 100% in favour of Open Source, but I am also 100% in favour of ENCOURAGING companies that TRY to support it.

      Open Source People don't seem to understand the concept of compromise and that Rome wasn't built in a day. Alienating hardware companies with your ideological rants is just going to discourage them and turn them off of the idea of supporting Linux altogether, and then you'll be stuck with no specs AND no drivers.

    5. Re:-1 Flamebait by brunes69 · · Score: 1

      S3TC is not the only code. Most liekly the drivers are littered with stuff that is either licensed, or trade secret stuff like how NVidia does its UDM.

  73. American law seems to disagree... by Anonymous Coward · · Score: 0
    I read this on Groklaw the other day, ironically in a thread about Linus looking up this very subject...

    Authored by: PJP on Friday, December 05 2003 @ 02:20 PM EST

    What this doesn't mention is the definition of derived work from the same source:

    A ''derivative work'' is a work based upon one or more preexisting works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which a work may be recast, transformed, or adapted. A work consisting of editorial revisions, annotations, elaborations, or other modifications which, as a whole, represent an original work of authorship, is a ''derivative work''.

    Now isn't that interesting? the definition seems to require a large part, if not all of the original to be included for a work to meet the definition of derivative.

    Simply being inspired by a work, or even writing something which can perhaps only have value in the context of the original work does not appear to meet this definition, provided you don't package the original with your work.

    Linus seems to be saying that black box drivers are derived works and thus should be GPL'd. However the definition of derived work means the original or part-thereof must be included.

    If the black box driver does not include the original when it is distributed then it cannot by definition be a derived work and thus not need to be GPL'd.

  74. There's "simple" and then there's simplistic... by Svartalf · · Score: 1

    In the case of something like handling industrial I/O devices, yes, they ARE simple and there's no excuse for anyone to keep those as closed modules.

    In the case of something like 3D drivers, they're not simple, per se, but the details of the writing to the card, etc. IS simple and as such, the overall commanding of the device in question is very similar to another card. (For example, there's a DMA pathway on each and every modern card...) There's nothing in the programming for most, if not all, of 3D cards that merits NVidia's or Imagination's (and to a lesser extent ATI- they've released most of the details of the earlier generation of cards which make up their low-to-middle product line to the DRI team...) apparent need to keep the details proprietary- just because it's a complex task doesn't make it something that nobody else thought of and provided a similar implementation thereof.

    It's in the best interests of nearly everyone (whether they see it that way or not...) to provide the driver source and technical info to program for their devices. This way they can provide a couple of developers for the hard stuff and let the rest of the community build and support the bulk of the work producing driver code for the operating system.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  75. Actual case of a module affected: PWC/PWCX by Nemosoft+Unv. · · Score: 5, Interesting

    So far, most posts in here have been about binary only drivers provided directly by hardware vendors. My case is somewhat different, yet if I read everything correctly, I could still be affected by all this.

    I am the author of the Linux Philips webcam driver, which supports a lot of Philips and Logitecht webcams, and a few others. This driver has been in development for nearly 4 years, has been formally introduced into kernel 2.4.5 and has been in continual support by yours truely ever since the first public release, some 3 years ago. Now here's the catch:

    Part of the driver (PWC) is Open Source, even in the kernel under the GPL. With it, you have a functional webcam driver, but there are some limitations; you can't get the full resolution and not as high as framerate as is possible. For that, you need a binary only plugin, called PWCX. It contains decompression routines that allow you to use the cam at its full performance. These decompression routines fall under an NDA and are thus not public. Judging by the number of mails and webvisitors I think this driver has been quite a success. And now this may no longer be possible.

    The point is, that by the strict interpretation held by Linus et al. I can no longer make this PWCX driver, thereby depriving a lot of users of a useful bit of hardware. Or at least make it quite a bit less enjoyable. I might as well remove the PWC driver altogether form the kernel then, hmm?

    First off, I feel sorry for the thousands of Linux users that use my driver (PWC and/or PWCX) and may no longer be able to do so. Second, I'm getting pissed off beyond measure by this Open Source fundamentalism because it is my driver that may be turned into a worhtless piece of code.

    It is my ass here that's on the line; I signed the NDA with Philips and if I goof up and accidently post the decompressor code or fail to protect it properly, I will be the one standing in court, not Linus. Second, I went through all the trouble of getting in contact with Philips, trying to convince them to help the Linux community and indeed they have, and I commend them on that. But they have their reasons to shield some parts from prying eyes (read: competition) and I can't blame them. So that's why there's and NDA and it's even fairly relaxed. Without the NDA there wouldn't even have been a driver.

    BTW, Philips spent exactly 2 webcams and a couple of manhours on getting the paperwork done in order to get their product supported in Linux for 3 years across 3 major kernel versions, including online helpdesk. I think that's damn cheap. I cannot count the hours I spent on programming and debugging and tracing intractable bugs, not to mention the time spent in helping users by e-mail. I've also spent many an hour to get this PWCX module crosscompiled to various hardware platforms in order to extend it's Linux usage as much as possible. Now that may appearantly all have been a big waste of time. Thank you very much!

    No, it is time to realize for anybody who thinks that the GPL is the Holy Grail of computing that this is not going to work. You cannot force anyone to oblige by a volountary license (because that's what the GPL is: nothing more, nothing less). As I wroting in my piece on tainting the kernel, if you make it any harder for (hardware) vendors to support their product in Linux, they'll drop it like a brick because they don't have to. This way Linux will never gain any real acceptance.

    Finally, it's also not very wise to piss off people like me, who are doing their best, and made some small yet clearly apreciated contribution to Linux. I would also rather have a complete Open Source solution, but I'm realistic enough to know that is not possible in this Universe. So I think I've struck quite a good comprise. But if I am being told now: "well, that isn't good enough", I might just throw in the towel in the ring altogether.

    - Nemosoft

    --
    "Fix it? It has been disintegrated, by definition it cannot be fixed!" - Gru in Despicable Me.
    1. Re:Actual case of a module affected: PWC/PWCX by soccerisgod · · Score: 2, Interesting

      As I see it, you link your GPLed work to some proprietary work. There's hardly any base for calling this a violation of the GPL. If normal binary-only drivers are in a grayzone, than your zone must be #FEFEFE. I wouldn't worry about legal implications here too much.

      Besides, I think this discussion is mostly aimed at manufacturers - which indeed have a choice wether or not to include everything as source code. On the other side, anyone who disses you for doing what you do is clearly a moron. I'm sure the great majority of users appreciates your ongoing effords - most likely even the evangelists. Otherwise your driver wouldn't have made it into the kernel :)

      --
      If a train station is a place where a train stops, what's a workstation?
    2. Re:Actual case of a module affected: PWC/PWCX by Anonymous Coward · · Score: 0

      mods, get real. this is not flamebait, it's his fine opinion. not that i agree, mind you... linux needs the binary drivers to grow, for now...

  76. Re:Why don't they just introduce a proper driver A by Anonymous Coward · · Score: 0
    what about other OSes like *BSD, what should they do? and other arches like PPC or Alpha? should they all give up their OSes and systems and follow the "one true way of Linux proprietary drivers"?

    Excuse me, but I was under the impression that *BSD was dying. Why should we worry about supporting it?

  77. Closed source SCSI modules... by Junta · · Score: 1

    Ok, I know of some closed source SCSI controller modules. The issue here is, to interact with the SCSI subsystem, a lot of things have to happen, including a '#include ' statement. That means any binary only SCSI module contains the scsi_module.c file contents compiled into the binary. Whatever the nature of other bits of code and include, clearly the implementaition of scsi_module.c is contained, and that c file is GPL.

    With this in mind, is it true that all companies shipping binary-only SCSI modules are in violation of the GPL? One prominent example is Adaptec's 1210SA SATA card, which implements itself as a SCSI driver on the Adaptec website. It annoys me because to use the card, I have to stick to their compiled binaries, which doesn't have anything newer than RH8.0, or SuSE 8.1, and certainly is far removed from Gentoo, my distro of choice, but annoyance aside, is Adaptec violating the GPL? I wanted to use the siimage driver, but it simply wouldn't work for me with that particular card (found out after buying it).

    --
    XML is like violence. If it doesn't solve the problem, use more.
  78. Why close drivers' sources anyway? by Qzukk · · Score: 1

    I understand that way back at the Dawn of Time, Creative published the soundblaster specs and interface so that game creators could produce games that worked with it. And the result was dozens of "knockoff" cards that were produced far cheaper than the soundblaster, and could boast compatibility, which was important because back in those days there was no such thing as "abstraction layers" and barely anything you could call an "operating system".

    However, in these days, why do companies continue to do this? Unlike back then when games only used a soundblaster, applications now use the operating system and library calls to produce output of whatever kind. Arguing that revealing the driver or the interface to the card would allow people to clone their card is rather silly. Sure, someone could spend a lot of money to develop a card that operates exactly like your card, and therefore skip the driver development step, but is there a savings in that? And would the hardware operate sufficiently alike to make it a "drop-in" replacement (especially in these days of complex graphics hardware).

    So not releasing your source because "someone will develop a drop-in replacement for our hardware and drive us out of the market" is no longer a valid excuse, because thanks to the wonders of drivers in the first place, all hardware became drop-in replacements for other hardware. Does anyone have another excuse?

    --
    If I have been able to see further than others, it is because I bought a pair of binoculars.
  79. Re:Pessimists are mind-killers by ajs318 · · Score: 1

    It doesn't work like that. Things over which you have no control shape your destiny too. A baby born with one leg is extremely unliklely to win the FA cup, for instance ..... fair enough, it's an extreme example, but not everyone starts out capable of success at everything, and society does assign you a role, whether or not you realise it.

    --
    Je fume. Tu fumes. Nous fûmes!
  80. Laws by fnj · · Score: 1

    Wouldn't it be great if there was a LAW requiring hardware manufacturers to release hardware specifications and/or source code?

    How about just a law requiring people to be NICE?

    That would cover your wish, plus a whole lot of others, in one simple stroke.

  81. GPL v3 will need to address this by linuxbikr · · Score: 2, Interesting
    The problem with kernel modules is as Linus has stated: they fall into a grey area of the GPL.

    Under a strict GPL interpretation, modules can be considered "derived works" because they link dynamically into a GPL environment (the kernel). The modules depends on kernel headers to compile and use internal kernel data structures exposed through module interfaces that are technically under the GPL. Thus, if you interpret the GPL as written, then yes, all modules would be required to be released under the GPL.

    Clearly such a situation is not acceptable to hardware manufacturers and Linus recognized this. Hence his "binary only is allowed for modules" rule. It is the kernel developers themselves that are changing the module environment to try and enforce the strict constructionist view of the GPL.

    RMS recognized this issue and developled the LGPL. The intent behind the LGPL was to allow for the development of GPL'd code that could be incorporated into binary-only products without tainting those products provided the binary product announced was linking to LGPL code and made it available on request (or distributed it with the product). As long as a clear separation exists between the proprietary product and the LGPL'd code (in other words, the proprietary code links to the LGPL'd work. If it copied LGPL'd code into its code base, then it would become tainted), the two models can co-exist.

    RMS doesn't like the LGPL. It is a compromise license designed to fit the realities of the world rather than what he wishes it could be.

    In my opinion, maybe the simplest solution is to relicense future versions of the Linux kernel under the LGPL. The distribution and modification requirements for the kernel proper would still be in force as with the GPL and make it compatible with binary-only modules explicitly since this very issue of linkage and mixing is exactly what the LGPL was designed to address. For the record, I prefer the LGPL over the GPL for practical, real-world open source development. It provides the best of both worlds when approached correctly.

    If the LGPL cannot fit, then clarification is required for the definition of derived works as encompassed by copyright law and how the GPL perceives it. v3 of the license should maybe incorporate a better, clearer definition of dynamic linking when no source is exchanged between two programs.

    I agree with Linus. Binary-only modules should be acceptable under the GPL since they do not incorporate GPL'd works directly except through runtime linkage.

    1. Re:GPL v3 will need to address this by SuiteSisterMary · · Score: 1

      So, if I understand, it's not that the GPL allows binary-only kernal mods, it's that Linus, as holder of the copyright for the Kernel, has stated on public record that he, personally, won't take action against that particular violation of the GPL.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    2. Re:GPL v3 will need to address this by Anonymous Coward · · Score: 0

      Linus is only one of the thousands of copyright holders to the kernel code and no he has NOT said that he won't take action against any binary only kernel modules. He has only said that he believes there is an argument for SOME binary modules not being derivatives. If you follow the links in the articles you'll see he spells this out very clearly.

    3. Re:GPL v3 will need to address this by Anonymous Coward · · Score: 1, Interesting

      Clearly such a situation is not acceptable to hardware manufacturers and Linus recognized this. Hence his "binary only is allowed for modules" rule.

      There is no such rule and never has been. Linus has commented on this many times including in the comments linked to from the story. Linux is licensed under the GPL. The GPL makes specific requirements with respect to derivative works. Linus is of the opinion that SOME binary modules may not be derivative of the kernel. He very sensibly recognises that ultimately that's a legal question on which he isn't qualified to give an absolute answer.

  82. Re:Pessimists are mind-killers by jlar · · Score: 2, Interesting

    Of course, in real life not all are born equal. What I was trying to convey was that, in my opinion, society should work towards giving, e.g. disabled people, equal opportunity (though I do realise that it is a goal that cannot be reached in full).

    Equal opportunity does not mean that everybody will be able to become astronauts. But it does mean that most people will have greater opportunity to shape their lives according to their wishes than in other societies.

    And sure society is influencing how you live your life. But we also have a choice for ourselves. In my 'dream society' this choice is maximised.

  83. A little rude, weren't we? by Anonymous Coward · · Score: 0

    Was anyone else taken aback by Linus calling someone a 'weasel' and 'deficient', and telling someone else that they were 'wrong' in a crudely forward way? This isn't how you make friends. Kind of a jerk, I thought.

  84. Re:Pessimists are mind-killers by b17bmbr · · Score: 1

    sadly, those who want equality focus on outcomes. thus, affirmative action, preferences, etc. arguig logic here at /. willonly have you banging your head against a wall. the best part is when it ends.

    --
    My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
  85. Re:It's really simple - not by Anonymous Coward · · Score: 0

    Thanks to the GPL, any source code derived from the Linux kernel source code must also be freely released under the GPL.

    That's really nice when you are the owner of a project and you want to use a non-GPL license. How can you switch to a non-GPL license without backing out all of the GPL licensed changes.

  86. Ahem by autechre · · Score: 1

    http://www.linuxant.com/company/

    For some people, these (admittedly low-cost) drivers are the only way to get their modem working in Linux. This is not a hardware company.

    --
    WMBC freeform/independent online radio.
  87. can people use GPL and not use GPL? by RouterSlayer · · Score: 1

    ok, let's get really muddy here.
    I'll probably get flamed and modded down for this, but I've actually been tossing this around for a few years now...
    I've read a lot of these comments, and even Linus' comments on LKML, etc. and it's pretty good coverage.
    But I have a question that doesn't seem to be covered, because it'd be considered pretty "Grey" and probably downright underhanded...

    Could a company create a commercial proprietary product using GPL code for portions of it (assume even large portions), but have their own proprietary modifications, modules, and additions, AND... could they then keep their modifications/additions private by releasing ONLY the original GPL code source ?

    I hope readers can catch the meaning of this. What I mean is, say for example (just example) the "hello world" program was GPL'd (yes, I know it can't be, but that's not the point), and say Fred's company wants to change it to say "Hello Fred" instead, so they modify hello.c, compile it and release it, but only release the original unmodified hello.c with it. Yes, I know this seems to violate the GPL terms, in a sense. but does it?

    Let's get really muddy... Take the Linux kernel, make a "ton" of modifications and additions to it, re-release it as a new product, give the original authors, contributors proper notice in copyright files, licenses, and documentation, release the original kernel that was used as source with it, AND, just for kicks, release a document file listing which "lines" in which "files" of the original were modified. Not the modifications themselves, just the "tap" points, as it were. But don't list the actual modifications, and don't list the additions made.

    I've always wondered about this scenario. It means the company is perhaps "technically" complying with the GPL, but more than likely breaking it. However, in these grey muddy waters, I have no idea where each of these would stand legally.

    the idea is this - a company wants to create a product, they have a great idea, but they're not about to re-invent the wheel, they find that there is GPL code that does a "lot" of what they need, but is missing stuff all over the place, and key critical modules and functions are also missing. They can't afford to hire coders to "white room" rewrite all that GPL code and can't afford the time to do this even if they could, and they can't afford to release their unique creation to GPL.

    So what are they supposed to do?
    This is all based on my thoughts of commercial uses of "GPL" code (note the QUOTES!). and please don't flame me...

    1. Re:can people use GPL and not use GPL? by Todd+Knarr · · Score: 1

      What you suggest would violate the GPL so blatantly that it probably wouldn't even get to a trial. When you modify the "Hello, world." program to print "Hello, Fred.", you've at that point created a derivative work. You are allowed to use the original work as a base for derived works that you distribute if and only if you release the modifications in source form. If you distribute your derived work but only include the source for the original work, not your modifications, you're blatantly and clearly in violation of your license to distribute the original work.

      It's a trade-off: you can pay in dollars to license the base product commercially, or you can pay in programmer costs to implement your own base product from scratch, or you can pay in source code to use a GPL'd base product. In no case can you use someone else's product while refusing to abide by their license terms.

    2. Re:can people use GPL and not use GPL? by RouterSlayer · · Score: 1

      Yes, the derivative works stuff, that's been getting really messy these days.

      My understanding is that the GPL doesn't allow the company to license the base product commercially. How do they do that? Contact the author to write a non-GPL version of the same base? Is that even possible?

      There are a lot of products that fit into this area, such as "Zebra" which has GPL and non-GPL (read: commercial) licenses. I guess I always wondered how this was done (legally)...

      if the code is released GPL, then none of that code can be in the commercial version, or be a derivative of it. What I mean is, I create "hello.c" with "hello world" as GPL, can I then turn around and create "hellofred.c" with "hello fred" using identical code, modules, etc? Or do I, as the originator of the code need to white room my own creations?

      This really gets into the future of this, how can commercial entities exist within the GPL universe? As soon as you release it, all your competitors have access to your code.

      So how is it done?

    3. Re:can people use GPL and not use GPL? by Todd+Knarr · · Score: 1

      You can always go to the author of the base product and get a non-GPL license for it. He can license it out under as many different sets of terms as he wants. It's his property, after all. The complicating part comes where there's more than one contributor (you need licenses from all the contributors) or when the base product is itself a derivative work of another product (you'd need licenses all the way up the tree).

      As for commercial use of GPL'd code, that depends on what the code is worth. Yes, your competitors have access to your contributions. But you get access to all of their contributions in return. It boils down to a simple question: is what you're getting from everyone else more valuable than what you're giving them? There's also a question of what the code's used for. For example, if you've patented a new 802.11g chipset and release the source code for the drivers for it, how much use is that source code without the hardware it drives? Sure your competitors could reverse-engineer your hardware from the information in the driver. So what? You hold the patent, they're going to have to get a license from you to legally make the hardware and without the hardware drivers are useless.

  88. Much ado about nothing by twitter · · Score: 1
    the_gnat dreams of insulting with impunity:

    Wow. I hope someday I'm enough of a badass to be able to flame people like that and get away with it.

    All it takes is truth, gnat. Depending on what was said, the poster in question may have been a weasel.

    In any case, all of this is temporary. Binary only modules suck. Compared to free code, their quality is poor. Even when the quality is good, they are not flexible enough to survive kernel changes and don't work. I've heard of Nvidia binaries that make X take 5 minutes to load and I've dealt with a wi-fi binary only that would only work with specific versions of Red Hat. Free software is taking over and hardware makers are going to release GPL'd drivers if they want to be competitive. It's only a mater of time before binary only distribution is just a bad memory.

    --

    Friends don't help friends install M$ junk.

  89. Re:It's really simple - not by ajs318 · · Score: 1

    You can't. Release under the GPL or don't use GPL code at all. RMS, Linus, ESR et al did not write their code so some selfish tosser could take it and lock it away in a piece of closed-source proprietary software. It was their intention that the code should remain out in the open, where anyone can study it and make changes. And that's the way it should be: not sharing is theft.

    --
    Je fume. Tu fumes. Nous fûmes!
  90. what? by twitter · · Score: 1
    though I might reasonably be bound to keep any secret I discover [about your own equipment}

    You might not want to tell anyone anything and no one you know may be intersted, but there's no reason you should not be able too. If you accept this, you accept the worst kind of prior restraint on your property. Apply your thinking to your old parallel printer. Are you telling me that you would accept not being able to go to a local meeting to share your hacks as you just did here? That's nuts. The whole reason the kernel works with so much hardware is that people have been able to share their hacks. DMCA type laws interpreted by people willing to be shut up would kill free software off completely and no amount of mandatory disclosure would make up for it. Hardware used by free software routinely does much more than it's makers ever envisioned.

    --

    Friends don't help friends install M$ junk.

    1. Re:what? by ajs318 · · Score: 1

      The idea about being in on the secret was an anti-kneejerk trap - another moment's thought betrays it as totally unenforceable. Of course, if I went to a local 120-D owners' club meeting, all the other members would be entitled to know about the innermost workings of the 120-D by virtue of owning one -- nobody could ever prove that they had not discovered it independently anyway. Saying "Well, I can make mine do something that isn't mentioned in the manual, but I'd have to kill you if I told you what" isn't the most convincing word-of-mouth advertising either -- features should make the product attractive to more potential customers.

      I certainly don't think it's an absolute prerequisite, but it might make MFD a little easier for paranoid manufacturers {who generally aren't used to being on the receiving end of "Tough shit, asswipe, it's the goddamn law"} to swallow at first.

      --
      Je fume. Tu fumes. Nous fûmes!
  91. Pragmatism-Stealth DRM. by Anonymous Coward · · Score: 1, Insightful

    There's one other thing that the "I'm content with binary" people forget as well, DRM. Nvidia and any other "binary" release could have DRM introduced and no one would be the wiser until the switch was thrown. I also think the "I'm happy with binary" group don't fully understand that FOSS is about control. Control of your hardware that you bought. That must be important judging by all the "wining" that goes on whenever a RIAA/MPAA story comes up. "I bought this CD/DVD and the big, bad corporation is dictating to me what I can do with it", and yet no one see's the problem with hardware companies "dictating" what you should be able to do with your hardware. I also think that most haven't learned their lessons from the Windows side. How much finger pointing have we seen between OS and hardware manufacturers? How many times has a manufacturer "taken their time" with a driver release? Or "It's time to rake in some more money, lets get everyone with older hardware to upgrade".
    Everyone with a binary driver, regardless of platform. Can you honestly say that you control your computer, in every sense of the word? Why not?

  92. BSD by fuck_this_shit · · Score: 0

    An argument in more than 300 comments by now is the cause for me to prefer the BSD license which does not tend to have so many grey areas which need about as much interpretation as some religious text which is a couple of thousand years old. Keep it simple, use the BSD license.

  93. Modems - was Re:Pragmatism by originalhack · · Score: 1
    The modem hardware on most motherboards is merely an A/D and D/A. The actual modem you pay for is implemented in DSP firmware that has been ported to the driver.

    If modem companies are forced to release the source of that to support Linux, there will be no Linux modem support for any of these.

    So, the community is left a choice of learning to accept supported binaries or no support at all.

    Alternatively, you could wait for the GNU Radio project to echo cancel, then equalize, then demodulate QAM, then trellis, then LAPM, then V42bis. Then, you'll be within 8 years of up-to-date.

    I am a big believer in open-source. But I don't expect every company to give their products away just to make Linux users happy. Many good companies will take a few extra steps to support Linux drivers, but not if they have to give away their own products to do it.

  94. What rights have nVidia stolen? by mr_mischief · · Score: 1

    Are you noit still free to put a PCI SVGA card in your Linux box and use the GPLed driver for standard VGA or for SVGA?

    I don't see the binary-only drivers for the top current cards (nVidia and ATI) as giving us fewer choices. I see them giving us more choices, although some of the choices are somewhat tainted by being closed source.

    No, I'm not a new Linux user. I've had to compile the Linux kernel on DOS and use loadlin myself in the past. I've used Yggdrasil, SoftLanding, and a few more distributions that haven't been around in years. These were a great step forward in getting Linux in wider use. Better distributions (Slackware, Debian, RedHat, Mandrake) than those have helped more since then.

    Using a distribution involves making choices between control and ease. The FSF isn't always thrilled about the Linux kernel, but a hell of a lot more people use GNU utilities with Linux than with the Horde. Embracing Linux as part of the GNU system is about taking what's available and widely popular in place of having the extra control they have over the Horde kernel.

    So you have every right to write your own nVidia drivers (although the tech info for the cards not being released does make this much harder), you have the right to use the black box driver instead, you have the right to use another card and driver, and you have the right to use the black box driver and feel uneasy about it until something better comes along. I'd recommend the last of these options if you can't find an acceptably performing card with an open driver, but of course many of us are willing to accept less performance because the driver is open. This is of course especially the case for machines that don't do much with 3d or even fast 2d graphics.

  95. CAD/3d modelling/GIS ? by buchanmilne · · Score: 1

    Linux will get is name far faster by being accepted on the corporate desktop. There you don't need gaming performance, you don't need 3d performance.

    So you're saying that Linux should never be used for (say) CAD/CAM work (for instance Pro\Engineer), 3d-modelling, 3d GIS visualisation, and many other sceintific uses of OpenGL?

    Maybe you haven't noticed that Pro\Engineer + NVidia cards actually make one high-end business case for Linux on the desktop (especially with the deals HP is pushing for their Linux Workstations, which AFAIK come with NVidia Quadro cards).

  96. Pragmatism-Irony express. by Anonymous Coward · · Score: 0

    Am I the only one who sees the irony in the "we don't control all that's in our driver" excuse? An excuse that can neither be proven or disproven due to the black-box nature of the driver.

  97. Don't push it... by OneFix+at+Work · · Score: 3, Insightful

    The reason most of these companies develop binary-only modules is to keep a leg up on their competition. Put simply, companies like nVidia don't want ATI or Matrox getting hold of their improvements. Some drivers include proprietary technology and speed or quality improvements that either can't or (in the interest of profit) shouldn't be open.

    Hardware manufacturers have very little that sets them apart from each other. Their biggest concern is that the driver source code would give away how the hardware works and therefore would show their competitors how to implement their technologies.

    Let the hardware manufacturers develop their binary only modules. It's better than what we've seen with the wireless market...which is what we would likely see if we started spouting "show us your source code" to all of the hardware manufacturers that choose to make binary only modules...

    And of course the other reason for a binary module is to charge for it (like is being done with Linuxant's DriverLoader) but...just like anything else worthwhile, there is already an open sourced equivalent under development.

  98. Re:It's really simple - not by Floody · · Score: 1

    You can't. Release under the GPL or don't use GPL code at all. RMS, Linus, ESR et al did not write their code so some selfish tosser could take it and lock it away in a piece of closed-source proprietary software. It was their intention that the code should remain out in the open, where anyone can study it and make changes. And that's the way it should be: not sharing is theft.

    Would that be "theft" as in "downloading mp3s for music I don't own (and don't have the artist's permission) from Kazaa style theft?" Or are we talking about two different types of theft here?

    If music copyright violation isn't theft, how can this be?

  99. Why your clean API doesn't exist, and about GPL... by einhverfr · · Score: 1

    From what I understand, the module API used to be much cleaner. However, as additional performance tuning has been done, there have been many additional interfaces added, so that you have a sort of coding equivalent to urban sprawl. The typical example is the interaction between the block device driver and network API's in order to read a block off a disk and directly send it across a network.

    You have an interesting problem though-- the GPL was clearly intended to be used with self-contained, modular programs, hence the descriptions of aggrigation, communication using pipes and sockets, etc. We also have the LGPL for libraries where such self-containment is not exactly possible.

    The questions of dynamic linking are interesting questions and I have heard different answers as to how sound the GPL's prohibition of dynamic linking with non-GPL programs is (IANAL). You also have the question of what the definition of "use" is in the GPL (which is stated to be beyond the scope of the license). For example are the following actions permitted under the GPL (assuming you are not redistributing what you compile)?

    1: Downloading a GPL'd source in C and compiling it against a binary-only LIBC library with supplied source header...

    2: Downloading a BSD'd source and compiling it against a GPL'd LIBC library... Better yet-- providing patches to the BSD source so that it better supports the GPL'd library...

    3: Distributing a GPL'd "wrapper" you wrote and emulates proprietary NDIS Windows Networking drivers?

    4: Distribute a non-GPL'd (non-redistributable) PHP script that plugs into a GPL'd PHP application server? Is this similar to dynamic linking?

    Don't get me wrong. I like the GPL and use it for several of my projects, but these are questions that I don't have the answers to, partly because IANAL, but also partly because it is not clear when the GPL comes into effect-- whether it does so at compile time in which case it is the user downloading the software that is violating the license, or whether it does so at redistribution time (in which case-- no redistribution == no foul). I suspect that the way I have seen courts work, that the line is likely to be very gray.

    --

    LedgerSMB: Open source Accounting/ERP
  100. The way I understand the GPL.... by atriel · · Score: 1

    Is that you must release source code to the program/module linking to GPL libraries... however, I also understand that just because the program is GPL, that it does NOT prevent you from linking with proprietary, closed source, libraries.
    So, what is to stop a module developer from creating his own closed source API, and then using an open source wrapper to interface between the Kernel module API, and the proprietary portions of code???
    and' as any profit would technically be derived from the code in the proprietary portions of the code, it would be perfectly legal to charge for the module. As long os the source for the actual Module (wrapper) code was released under the GPL license, and said code linked to the proprietary code (in object form).

    As, contrary to popular opinion in the community, the GPL does not prohit linking to proprietary code, nor does it nessecitate that code must not depend upon a non-GPL component. It only requires that, in the case of the kernel -- because of a module being considered a derived work -- the code which actually interfaces to the kernel be released under the GPL.

    And, before I get flamed, I would like to state that I am very much for open-sourced modules. Hawever, if a closed source driver is the only option, so be it... and, from dealing with hardware companies (and the stacks of paper/many lawyers)... the engineers themselves would like nothing better than to distribute driver openly..., however, it is usually the managers, stockholders, and corp lawyers who prevent this from happening... Mostly due to a completely illogical fear of losing IP, and the mis-belief that invaluable IP is contained within a device driver.... (and in the case of Machining Equipment.... this makes absolutely no sense, as all the guts are in an embedded system within the equipment, and all the driver handles is the communications protocol) But, the GPL makes them nervous, and if we become overly aggressive about device drivers, and the GPL -- I'm afraid that where we may have once been able to rally support for a driver, we will be turned away as a bunch of fanatics who don't care about IP...

    I make my money as a consultant for various companies, and this is the one thing that truly scares me... the communities insistance that everything involving the kernel (or I've even heard Linux) be completely free and open-source... and this makes companies extremely nervous, especially with the SCO disaster looming over us. Edison Gieswein

    1. Re:The way I understand the GPL.... by Anonymous Coward · · Score: 0

      So, what is to stop a module developer from creating his own closed source API, and then using an open source wrapper to interface between the Kernel module API, and the proprietary portions of code???

      Absolutely nothing. IIRC, this is how nVidia releases their binary-only drivers by using a GPL wrapper.

    2. Re:The way I understand the GPL.... by atriel · · Score: 1

      I suspected as much, although I didn't know as a fact, so I didn't state it as fact.

  101. Re:Pessimists are mind-killers by Anonymous Coward · · Score: 0

    Heh. So communism etc. gives us hell on earth immediately, while capitalist democracies do it incrementally. Great...

  102. Stops developers? by phorm · · Score: 1

    Having binary modules only stops developers from trying to make their own

    No. I don't think so. What it might do, is give lazy developers a reason not to make a driver, or time to work on a different driver while the current binary is working. Neither NVidia nor anyone else who released binary-format drivers is "stopping" developers. Do they have a court-order out asking for a cease-and-decist on all non-NVidia endorsed source drivers? No? Didn't think so.

    You might also want to consider that there are drivers to interface with NVidia boards that aren't binary. They don't do everything the binaries do, but they get the job done in many cases.

    Say if you want that the linux world would be a nicer play with full-source NVidia drivers, I'll agree with you. But if you want to argue that by providing "Y" NVidia is at fault for reducing development on "X," I'd say your blame is misplaced and your arguement flawed.

    Conspiracy theorize as you may, but I believe the NVidia driver release is more about getting their hardware sold to linux users than it is about slowing/stopping any attempt at making open-source drivers.

  103. Re:It's really simple - not by uberdave · · Score: 1

    The copyright (gpl) says that it must remain open. If you close it, you are violating copyright. So yes, it is the same "theft" as in "downloading mp3s for music I don't own." (Where "theft"=copyright violation).

  104. Re:Pessimists are mind-killers by Anonymous Coward · · Score: 0

    Sounds like a sugar coated version of communism? Wasn't that the point of communism? Everything was equal so everyone was the same.

  105. smp by Dave_bsr · · Score: 1

    ever tried getting a tnt2 to work in an smp box? no? didn't think so. It doesn't work with nvidia's drivers.

    However, I can use a crappy card with open drivers to get better performance on that smp box than the nvidia card with it's open drivers.

    Binary drivers can really bite the big one.

    --


    Who is this Anonymous Coward character, how does he post so much, and why is he always such a whore?
  106. Re:Pessimists are mind-killers by Anonymous Coward · · Score: 0

    Capitalism is probably the only true way to run a government. At least with in a capitalist democracy, everyone has equal chance to make money, those with money control how things work, but even the average joe can become a millionare and have power. The reson communism failed is 2 key points. 1> Everyone is not equal, generaly the ruling body keeps the power and money while the "common people" are the ones forced to all be "equal". 2> Since everyone is kept at bane to be equal ,there is no motivation to better yourself, it strips people of ambition, bascialy a social system deisgned on the weakest link theory.

  107. smp by Dave_bsr · · Score: 1

    I agree. stupid nvidia smp...crap. you can try turning AGP off, that helps. and the usual noapic, etc. Stupid binary drivers.

    I submit that the only ones that like Nvidia's binary drivers are ones who use standard kernels (never recompile) on standard systems (no funny configurations, no smp...). For the rest of us, ARGHHT!

    --


    Who is this Anonymous Coward character, how does he post so much, and why is he always such a whore?
  108. If tha't the case ... by buchanmilne · · Score: 1

    Most drivers simply push data to the right place and fiddle with registers in the right way. There is nothing the competitor wouldn't have already thought off.
    If youre competitor has to learn from your driver they are atleast two generations behind you and you have nothing to fear.


    So why don't we have competitors (Linux kernel DRI developers etc) that have written drivers with similar 3d performance?

    Why isn't there a competitor providing open-source drivers for cards in the same league?

  109. Re:Why don't they just introduce a proper driver A by Anonymous Coward · · Score: 0

    No, the GPL allows what copyright law allows.

    The commercial world does not consider linking against APIs to be a "derived work" under copyright law. Otherwise Microsoft would own intellectual property rights for everything from QuickTime/Windows to Emacs/Windows. Not even evil nasty bad evil M$ claims this. But GNU does.

    The GNU people have spread a huge ASSumption that "sources compiled against [our API] would be GPL", but there's absolutlely no legal backing for that, and if there was it would cause the commercial software industry to collapse.

  110. Re:Pessimists are mind-killers by Anonymous Coward · · Score: 0

    Who defines "fair"?

  111. apologize by Catskul · · Score: 1

    I apologise for my knee jerk reaction. Upon re-reading your post, I realized that my response was overdrawn.

    Sorry

    --

    Im not here now... Im out KILLING pepperoni
  112. Not going to happen... by Kjella · · Score: 1

    You don't have to agree with me, but I can only conclude that the restrictive GPL with its vague derived work clause is hurting Linux: a company won't put trade secrets into a binary driver to run the risk of losing these trade secrets because of a lawsuit based on the GPL which states that the binary only driver has to be opened up because it violates the GPL.

    There's no judge that will force a company to release their source code - if some kernel code contributor pushes the matter, and it is declared illegal, nVidia will simply stop distributing it (probably replaced by a big nothing).

    Then, the GPL author could try to get damages - which are likely to be none, since I don't see any reasonable way he's been hurt by the illegal nVidia/kernel derivate. There's certainly no economic loss, and it has been an accepted way of doing it now for quite some time.

    In short, I think even though some might grumble over binary-only kernel modules, it's much the same as why few companies would want to trial the GPL. There's nothing to be gained, and everything to be lost by doing so.

    What I do not understand, is why the companies couldn't give out the specs - not all the driver code, but the hardware interface. It's not like AMD or Intel's op-codes are a secret. Then simply say "this is the hardware. we do a lot of magic in software too, but we can't tell you about it".

    Maybe noone would bother to write that so completely from scratch. But whenever nVidia gets these complaints, they can point do it and say "If you want it, write it yourself. We're not going to stop you. In the mean time, we will provide drivers, but binary-only."

    Kjella

    --
    Live today, because you never know what tomorrow brings
  113. Pragmatism has to win out by joshsnow · · Score: 2, Insightful

    This has been more than paid for by the thousands of NVIDIA cards sold on the back of supposed "Linux support".

    Well, this is precisely why, I and many others, buy nVidia cards. I use a dual boot Win2K/Mandrake box and I know I'm getting excellent drivers for each operating system.

    I personally don't see any problems with closed source binary drivers. The kernel provides (or should provide) interface abstraction to a sensible level where it's possible for safe "black box" drivers to be written.

    Then again, I don't understand anything about writing device drivers or how tightly integrated to an os kernel they need to be. As a layman, I would have thought that the kernel provides certain services to a driver module which are accessable through an interface?

    Card manufacturers have trade secrets to protect - that's the nature of the world we live in. No matter how much you or I may wish that drivers are all open source, if an opensource driver reveals details about the hardware, manufacturers are not going to want to opensource the software.

    1. Re:Pragmatism has to win out by Nucleon500 · · Score: 1
      The kernel provides (or should provide) interface abstraction to a sensible level where it's possible for safe "black box" drivers to be written.

      Actually, it doesn't. Besides the idealistic reasons, there are pragmatic ones - the kernel developers want to be able to change their internal APIs at will. It's usually not a problem, because they can then change all the drivers to match, because they're right there in the source tree and under the GPL. But if they have to stick to a stable internal API, let alone an internal ABI, they might get stuck with badly-designed APIs.

    2. Re:Pragmatism has to win out by joshsnow · · Score: 1

      the kernel developers want to be able to change their internal APIs at will. It's usually not a problem, because they can then change all the drivers to match, because they're right there in the source tr

      Hmm. Still not convinced, but as I said, I know nothing about low devel device and kernel driver design/development. I would have thought that the manufacturors of hardware devices would be able to produce and maintain the best software drivers for their kit.

      But if they have to stick to a stable internal API, let alone an internal ABI, they might get stuck with badly-designed APIs

      Different versions of the kernel breaking stable drivers, rather than the other way around? Irony abounds!

    3. Re:Pragmatism has to win out by Crispy+Critters · · Score: 1
      I personally don't see any problems with closed source binary drivers. The kernel provides (or should provide) interface abstraction to a sensible level where it's possible for safe "black box" drivers to be written.

      Linus said in TFA that the kernel does not provide a stable, abstract API for modules. That is the whole point! Most modules, Linus says, can only be written by digging around in the kernel source. He says that in the past the interface for file system module was so simple that they were not necessarily derived, but that increasing complexity has made this no longer possible.

    4. Re:Pragmatism has to win out by Elladan · · Score: 2, Informative

      Device drivers are essentially completely integrated with the OS kernel. Even in "microkernel" operating systems that purport to create a separation at a performance cost, this is true.

      There are a few basic reasons for this. The first is simplicity and performance. An OS which moves data around device drivers by sharing memory and providing direct access will be faster and easier to understand and debug than one which attempts to use a message passing scheme for all IO data internally.

      The second is really just reality. A device driver is something that talks to a bare hardware device. This is the very thing that the idea of "protection" and "decoupling" and such is trying to avoid. Hence, by definition, it has horribly powerful low level control over the computer. All sorts of catastrophic actions by a device driver are trivial and also impossible to block. Want to crash the entire system bus? Read and write over any random section of kernel memory? Crash other hardware devices? Cause other hardware devices to walk over memory? Deadlock core subsystems by taking locks in the wrong order? Etc.

      All of these things are trivial to do with low level hardware access. Even making a "microkernel" with different protection levels for device drivers doesn't really help at all. Even if there's some redumentary memory protection through the CPU, the driver can certainly hang the computer, or read/corrupt any memory it pleases through the DMAC or some other hardware access primitive.

      The only correct way to consider a device driver is that it's a core component of the OS kernel itself. There may be some interfaces the kernel makes available to particular sorts of devices so they can work in a generic way, but certainly in any sense of stability, security, or correct operation the device driver is just as critical as anything else in the OS.

      This is the problem with closed source ones, of course. They can't be supported by anyone except the company that made them, so they'll break whenever the kernel changes in a way that's incompatible or simply exposes a bug in the driver. Since nobody can fix it, this simply means that any poor person stuck with such a badly supported piece of hardware will be left out in the cold when new kernel releases come out, having to wait for the company they bought the hardware from to update the drivers.

      And of course, when the OS crashes, no matter what the problem is, only that company can fix it since nobody else has the requisite information. So, unless that company feels comfortable fixing all kernel bugs, not just their own drivers', for their customers, anyone with such a piece of hardware is effectively eliminated as part of the general debugging community for Linux. Meaning, Linux as a whole suffers since any problems these people have in the rest of the kernel are not going to be fixable.

      Proprietary software may be ok for applications in some situations, but it's really horrible when the core system software isn't available. You have problems that are simply unfixable - and break all applications too!

      Computers should work properly (ie., they shouldn't crash and should perform well), and keeping IO device specifications and drivers a big secret is one of the most significant things keeping them from doing that. I really think hardware manufacturers should take far more of the blame than they do for this issue - operating systems and software in general gets a bad rap in terms of stability, but how can something be stable when the way it talks to the hardware it runs on is this big secret kludge and any problem will cause it all to fall apart?

    5. Re:Pragmatism has to win out by WNight · · Score: 1

      So maybe we should arrange a bounty for people who decompile and reverse-engineer closed-source drivers and post the intimate details about the hardware.

      Not only would this let people write drivers for Linux based on the Windows drivers, but it would make hardware companies see that there's no value is keeping secrets... Surely ATI has looked at NVidia's drivers and vice-versa, it's perfectly legal.

    6. Re:Pragmatism has to win out by joshsnow · · Score: 1

      Proprietary software may be ok for applications in some situations, but it's really horrible when the core system software isn't available. You have problems that are simply unfixable - and break all applications too!

      his is the problem with closed source ones, of course. They can't be supported by anyone except the company that made them, so they'll break whenever the kernel changes in a way that's incompatible or simply exposes a bug in the driver

      OK, a question then. How are drivers developed for Windows? The windows source is closed and I doubt that device manufacturers have access to all of the code for the various microsoft kernels. What is MS providing to third parties to enable them to write device drivers without disturbing the OS core that Linux couldn't also provide?
      I'm not trolling and I am a "layman" in these matters, these are genuine questions.

    7. Re:Pragmatism has to win out by Elladan · · Score: 1

      The simple answer is that they they're not developed very well. Thus, Windows crashes. A lot.

      Microsoft gets blamed for this, and well they should, since they're the ones who created this whole situation. But the truth is, the instability tends to be caused more by third party device drivers than anything else.

      The more complicated answer is that a vast number of the device drivers for Windows are written by Microsoft themselves. The core hardware drivers are all done in-house, and as new hardware is introduced, Microsoft tends to co-opt driver development for it in new versions of Windows. They do this because letting device manufacturers provide the drivers is a recipe for disaster that's been burning them for about a decade now. Thus, the latest versions of Windows crash less than the earlier ones did.

      So, basically, while Microsoft may be edgy about releasing source code, they're a huge gorilla and can easily go smack the hardware manufacturers around and demand the specs and/or driver source for the hardware. Then they can go stabilize it themselves if need be.

      Plus, it is possible for hardware manufacturers to get access to Windows code if they need it, and further, Microsoft provides a whole lot of support to hardware manufacturers to help them get their drivers functioning.

      All of this is very inefficient and full of loathesome scutwork, but that's what Microsoft pays people for. And they reap huge benefits from all this secrecy - the latest hardware only works on Windows, and their competitors have a horrible time trying to reverse engineer all these hardware devices just to get them partially functional.

  114. Error in the article re: copyrights and licenses. by Anonymous Coward · · Score: 1, Insightful
    Where the article states:
    Several months later Linus changed the copyright to the GPL
    it should say:
    Several months later Linus changed the license to the GPL
    With the GPL, authors keep the copyright for themselves but license others to use, modify, create derived works of, and distribute their software.
  115. With all due respect..... by lysium · · Score: 2, Insightful
    I understand where you're coming from, but I'm firmly in the "I just want my expensive hardware to work properly" camp.

    Do all of us Linux users a favor, then. Please switch to Windows. Or better yet, Mac OSX. Linux should not change itself to support the needs of the consumer-gamer crowd; if you want your expensive hardware to 'just work' why are you running on a tinkerer's operating system?

    =====================

    --
    Together, we will drive the rats from the tundra.
    1. Re:With all due respect..... by Anonymous Coward · · Score: 0

      I guess he probably got tricked by all those "Linux Ready For The Desktop" posts.

      Oh, those pesky end-users. Wouldn't the world be easier without them?

  116. Sure, less realistic.. by msimm · · Score: 2, Insightful

    Wouldn't it be more productive to concentrate on finding a solution everyone can accept?

    --
    Quack, quack.
  117. How is this illegal? by AnotherBlackHat · · Score: 1


    I thought the GPL was a license that allowed someone, under certain circumstances and provided they do certain things, to legally make copies of something that normally copyright law would prevent.

    That could stop someone from distributing Linux,
    but how could that possibly prevent them from releasing their own work?

    -- this is not a .sig

  118. No "NON-GPL'D BINARIES"? by drinkypoo · · Score: 1

    The thing that worries me in that thread is the following:

    In short: you do _NOT_ have the right to use a kernel header file (or any other part of the kernel sources), unless that use results in a GPL'd program.

    What you _do_ have the right is to _run_ the kernel any way you please (this is the part you would like to redefine as "use the source code", but that definition simply isn't allowed by the license, however much you protest to the contrary).

    So you can run the kernel and create non-GPL'd programs while running it to your hearts content. You can use it to control a nuclear submarine, and that's totally outside the scope of the license (but if you do, please note that the license does not imply any kind of warranty or similar).

    BUT YOU CAN NOT USE THE KERNEL HEADER FILES TO CREATE NON-GPL'D BINARIES.

    Now, IANAP[rogrammer] but it seems to me that you need the kernel headers on the system to compile anything, so any time you compile anything on linux, you are using the kernel headers, right? So therefore, any time you compile anything on Linux, you are using the kernel headers.

    Therefore, assuming my logic is correct, any Linux binary must necessarily fall under the GPL.

    PLEASE tell me I am missing something here, and that I am wrong. Obviously if I am right it will not mean the end of Linux but it will basically pit Linux against the entire non-GPL world in a very confrontational way. Rather than the long road to glory, it'll be the short road to war.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  119. It gets complicated by RCR · · Score: 2, Insightful

    My employer has a product that includes an embedded Linux system. Some of the product code runs in user space, some is implemented as loadable modules. I can find no clear guideline anywhere that tells me whether the product can remain proprietary (i.e., closed source).

    First problem: Nobody's *opinion* (not even Linux or Stallman) counts - only a legal interpretation of the GPL has any weight in the real world (i.e, with my employer). Such a legal opinion does not yet exist (though it probably will post-SCO).

    Second problem: Does the fact that some code is a module mean it has to be GPL'd? (These aren't device drivers, BTW).

    Third problem: How much does the use of header files "infect" the code with GPLness?

    As much as I love Linux, using it in a litigation-shy big company is more complicated that most people realize.

  120. Linus doesn't get to define "derived work" by Sloppy · · Score: 3, Insightful
    If a piece of code is a derived work, then the license Linus chooses (the GPL) sets the terms, and the issue of "linking" and so on, is relevant. If a piece of code is not a derived work, then the GPL, the contents of the COPYING file, and Linus' desires, are irrelevant. When Linus tries to refute Larry McVoy's excellent point, Linus shows he's very aware of this:
    But a license only covers what it _can_ cover - derived works. The fact that Linux is under the GPL simply _cannot_matter_ to a user program, if the author can show that the user program is not a derived work.
    although he then shows a little confusion:
    Does that mean that any kernel module is automatically not a derived work? HELL NO! It has nothing to do with modules per se, except that non-modules clearly are derived works (if they are so central to the kenrel that you can't load them as a module, they are clearly derived works just by virtue of being very intimate - and because the GPL expressly mentions linking).
    (I say this indicates confusion, because of his reference to "because the GPL expressly mentions linking." What the GPL says is irrelevant in discussions of whether something is or isn't a derived work.)

    I think it would be interesting to see the support for these two statements:

    There are areas that are not gray at all: user space is clearly not a derived work, while kernel patches clearly _are_ derived works.
    and
    Basically:
    - anything that was written with Linux in mind (whether it then _also_
    works on other operating systems or not) is clearly partially a derived
    work.
    - anything that has knowledge of and plays with fundamental internal
    Linux behaviour is clearly a derived work. If you need to muck around
    with core code, you're derived, no question about it.
    Where's he getting this stuff? I have serious doubts that copyright law contains the words "user space" anywhere. So just what causes that distinction to exist? My guess is that he's making it up (with the best intentions and desire, of course).

    That one about "anything that was written with Linux in mind" is particularly amazing.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    1. Re:Linus doesn't get to define "derived work" by anthony_dipierro · · Score: 1

      Linus is wrong. Just because something is written with the other thing in mind does not make it a derived work. See for example Galoob v Nintendo. Game Genie was created with copyrighted Nintendo games in mind, yet it was declared to not be a derivative work by the 9th circuit court of appeals.

    2. Re:Linus doesn't get to define "derived work" by jpallas · · Score: 2, Interesting
      Furthermore, RMS doesn't get to define "derived work", and Darl McBride doesn't get to define "derived work."

      If I had Linux in mind when I wrote a haiku, is it a derived work?

      The one definition
      Of being a derived work
      Is copyright law.
  121. With all due respect.....The pauper principle. by Anonymous Coward · · Score: 1, Interesting

    Simple. They want all the benefits of OSS without all the pain of principles. Remember if having principles was easy, the world wouldn't be in the state it's in. But actions do speak louder than words.

  122. Pragmatism-Be-"My ears are burning"-Fan. by Anonymous Coward · · Score: 0

    Actually be-fan (were is he now? Usually he comments on such stories) usually brings up the fact (debatable) that the OSS community would have to do an entire OpenGL implimentation. Of course his whole premise rests on the implication that OSS couldn't do such a thing, and points out poor OSS drivers as an example of such a failure. I personally would like to attempt such a feat, just so he'll have crow for dinner.

    1. Re:Pragmatism-Be-"My ears are burning"-Fan. by spitzak · · Score: 1

      MESA is open source, was written years ago, and is demonstratably faster than any software-only OpenGL implementation written by SGI or Microsoft.

  123. What about TiVo? by HTH+NE1 · · Score: 1
    Basically:
    • anything that was written with Linux in mind (whether it then _also_ works on other operating systems or not) is clearly partially a derived work.
    What implications does this have for TiVo's proprietary modules for access to their proprietary MFS partitions for storing video? Do these have to have their source disclosed as well? (TiVo DVRs run Linux.)
    --
    Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
  124. How about user-land apps... by yeremein · · Score: 2, Interesting

    ...that include Linux kernel header files?

    Linus commented in the LKML thread that "YOU CAN NOT USE THE KERNEL HEADER FILES TO CREATE NON-GPL'D BINARIES" (emphasis in original).

    I've written a userland program for my company that #includes a single kernel header file (linux/nbd.h, the network block device).

    It's mostly of academic interest, since my company has no plans to ship this program, but does #include'ing that GPL'd header file mean that the program must now be GPL licensed?

    I didn't think so, since I'm not getting any actual GPL'd code in my own program (just #defines for ioctl() numbers, and a couple of struct definitions), but Linus's comment seems to say otherwise.

    1. Re:How about user-land apps... by spitzak · · Score: 1

      I think Linus meant copying parts of that header file (ie the implementation of an inline function).

      Not absolutely certain, now, however. But it would otherwise seem that he is saying that non-GPL modules are impossible (how can you possilby make a useful module without #include of at least one kernel header?) All his other comments seem to indicate that he is ok with binary modules, so I think this sentence is being mis-read.

    2. Re:How about user-land apps... by alexpage · · Score: 1

      I think Linus might be incorrect here, but IANAL. If you're not planning to distribute the program, there's not really any problem - just refuse to accept the terms of the GPL (as is your right), and the kernel header file in question falls under "default" copyright law, which states that you can do what the hell you want with it for your own use, provided you don't distribute it. I'm not enough of a C coder to consider the implications of compiling GPL'd header files into non-GPL'd code, anyway :)

  125. This is pathetic by pclminion · · Score: 3, Interesting
    This is exactly why I'm choosing the BSD license for my code. If you want my code, by all means USE it. By all means CHANGE it. In binary form if you wish. All I ask is that you don't claim that you WROTE IT yourself.

    More and more these days, I view the GPL as moralistic masturbation. It's pathetic and sad. There are plenty of other things in this world that are worth being moralistic about. I don't see how software development falls under the same heading as "helping the homeless" or "stopping persecution" or any of those things we really ought to give a shit about.

    Sorry, but I just don't want to waste my energy on that crap. My primary objective with my code is for people to USE it. Not to sit around smoking cigars with the boys arguing over who has a "right" to it. Grow up and find something worth fighting for, for chrissake.

    1. Re:This is pathetic by Anonymous Coward · · Score: 0

      Sorry, but I just don't want to waste my energy on that crap.

      The battle is fought on all fronts. By all means send checks to organizations that take 25% for "operating costs" to ship food to countries. Or, give them free open source software to build their own post-industrial economy and leave the stone age behind. Software freedom is about freedom in general, and with more and more of the real world moving to computers, it's an important arena. Land-grabbers are everywhere, from DRM proponents to e-voting machine makers, and all of them want as much as possible for themselves.

    2. Re:This is pathetic by alexpage · · Score: 1

      Nobody's forcing you to use the GPL. It's an itch-scratching thing. Some people use the GPL because they care about the freedoms it tries to protect. Some people think that helping the homeless is "pathetic and sad" - after all, they ended up there through their own misfortune, let them sort themselves out! (*) If the GPL annoys you that much, then spend your time re-implementing things under a BSD license (just as the GNU people re-implemented many aspects of Unix under the GPL). But don't flame other people for having different priorities to you. Telling people to "grow up" is not a very convincing argument. (*) I do not share this view. But it is held by many people.

  126. Pragmatism-Ripple effects. by Anonymous Coward · · Score: 0

    "What about users like me? I'm not a coder. For me the source might as well be written in Hebrew. I get no benefits from having the code available. "

    Here's a thought everytime someone starts a sentence out this way. If you're not getting any benefit out of source code availablity?[1] Then why are you using software based on Open Source? Honestly, why?

    [1] For those who missed it, without source code and all the advantages it brings, what would be the difference between open source and closed? One can give software away without a license (public domain).

  127. We need a Free Software database of supported HW. by jbn-o · · Score: 1

    People all too quickly forget that it wasn't pragmatism that made the community what it is. It wasn't paying attention to pragmatism that got us an entirely Free Software operating system. It's only because that system is so remarkably useful that people think they can afford to throw away the idealistic principles of software freedom in favor of the self-contradictory goal of pragmatism.

    The Free Software Foundation wrote about this self-contradiction in this essay. In short, when people have proprietary code that works better than the Open Source alternative, the Open Source movement offers users no reason to reject the proprietary program. By contrast, the Free Software movement competes on something proprietary programs can never provide--software freedom--therefore Free Software always comes out ahead in a head-to-head comparison, even if it is less practical (which, sometimes, it is).

    I recently wrote about this on the Fedora Core user's mailing list hosted by Red Hat. I think what we need to do is have an easy-to-use website that helps people find hardware that works completely with Free Software (all kinds of hardware). Right now, this means recommending ATI video cards (along with a bunch of other video cards) instead of NVidia's hardware. I think once we get organized and have a site that lets a user easily construct a shopping list (even finding supportive online dealers where users can buy what they need right from the site), some manufacturers will be proud to be on the list and continue to help us. Other manufacturers will want to get on the list and be pressured to help us by shipping specs and/or Free Software drivers. Is there anything like this already? We need to stop helping organizations that hurt us.

  128. LOL by freeweed · · Score: 1

    You know, I was thinking of doing the standard Slashdot list of 50 or so applications (out of tens of thousands) that prove you wrong.

    Then I realized. Correct me if I'm wrong, but the big show-stopper closed source software in Linux is the controversial nvidia driver(s). Your entire point is that without 3D games, Linux is dead.

    See subject line.

    --
    Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
  129. DRM, a closed-source's best friend. by Anonymous Coward · · Score: 0

    "Although not a perfect situation it is better than with nvidia. Ati have released enough specs to allow the gatos project to produce some good drivers which even have 3d support and most important for me tv-out support."

    Actually in this thread I pointed out that having closed-source means that the manufacturers can sneak in DRM. Note that under Windows playing certain DVD's through the TV-out is impossible, or crippled (Macrovision). Under creative drivers you can't pipe digital-out on certain sources. Under open-source such tricks would be impossible. I'm afraid that we'll have to go through some of the same nonsense that Windows users have gone through before the hard of head learn.

  130. Troll in weasel's clothing? by jtheory · · Score: 1

    Yeah, Linus doesn't suffer fools lightly.

    In this case, he's totally justified, though I think he might be wasting his time feeding a troll. The guy is suspiciously arrogant about a totally wrong-headed view of the GPL.

    He's arguing that part of "use" of a GPL'd program includes making use of the source code, and to successfully make use of a header file, for example, he'd be forced to link it (with his non-GPL code). Therefore this usage couldn't be forbidden by the GPL.

    Huh.

    --
    There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
  131. Manufacturer's concerns need not be user's hassle. by jbn-o · · Score: 1

    In certain cases, manufacturers can provide open source modules, but many times, there simply is no viable way. Complex hardware or hardware/software combination is usually covered by multiple patents, trade secrets, copyrights, and various agreements between different parties.

    You say that as if this is the user's concern. It isn't the user's problem that a manufacturer chose to saddle themselves with a variety of non-disclosure agreements and licenses that don't allow Free Software drivers. This is just another reason to avoid doing business with these manufacturers and more justification to reward those companies that do the right thing and allow users to enjoy software freedom.

  132. Missing hyperlink by jbn-o · · Score: 1

    My apology for leaving out the link to the essay I referred to.

  133. Re:Pragmatism (Don't use it you idiot) by Anonymous Coward · · Score: 0

    Instead of whining about it, why don't you just don't use it and shut up. I hate these zealots whose only function in this world is to attack everybody and make everything worse for everybody except themselves, cause they satisfy their own ego by attacking others and feeling proud of what they do thinking that they are fighting for a just cause, while they are actually the evil themselves.

  134. What choice is there? by Anonymous Coward · · Score: 0

    Let's say I accepted the fact that binary only drivers are evil. What video card can I possibly use? Matrox, nvidia, and ati all only offer binary drivers right now.

    All I need is some solid 2d performance and stability. Possibly dual head support. This is assuming I can resist the urge to play neverwinter.

  135. Games by Zirtix · · Score: 1
    The main reason I want accelerated openGL in Linux is to play Unreal Tournament 2003, a closed-source game (and Doom 3 when it's out!). So how much more damage am I doing to my principles (and yes, I do have some) by using the Nvidia binary drivers for this purpose?

    I can always switch back to the stock XFree drivers, or just turn off X, if I want to do some kernel debugging for some reason.

    I am prepared to help free software developers, you see. I like to send in bug reports when I can. But when I'm not doing that, I want to play UT2003. Is that such a big deal?

  136. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  137. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  138. Userland Drivers? by adamfranco · · Score: 1

    I realize this may be seen as a nieve question, but is it possible to make userland drivers? I.e. you start a program that talks to the AGP port (the AGP interface code would have to be GPL), but can send signals through it from a binary/proprietary program to the hardware.

    Is this possible, or do drivers _have_ to be in the kernel some how. If someone could explain this it would be really helpful to those of us who aren't kernel hackers. Thanks.

    --
    "When ideology and theology couple, their offspring are not always bad but they are always blind." -- Bill Moyers
  139. On selective memory. by mindstrm · · Score: 2, Interesting

    See, I've used linux since around version .95

    I remember, clearly, reading the kernel license, which was the GPL with an added clause: that binary-only kernel modules were permitted, as long as they use an interface that already exists in linus' kernel tree. So you could write a new binary only network driver, or scsi driver, or video driver, but not some totally new kernel functionality, and wrap it up as a module.

    Now, I realize that this clause seems to have never existed, and I must have mentally mixed up some mailing list posts with the actual license... I can't find it anywhere in the kernel archives.. but I swear Linus' older kernel license was not just the stock GPL... it had some exceptions.

    Anyone else remember this, or am I off my rocker?

  140. Of course they could publish the code by riptalon · · Score: 1

    On a side note, there are certian things nVidia CAN'T publish if they have to use GPL! Much of the hardware they build is "patented" from outside sources...they would get into IBM/SCO style lawsuits...but without any cause to defend themselves! That leaves them [and us] with bianary drivers--or NO drivers.

    I'm sorry but that is absolute rubbish. If the hardware is patented then all the details of it are published by the patent office and there are no secrets to hide. They may have secret, un-patented, stuff in their hardware that they don't want anyone else to know about, but their competitors can buy their hardware and drivers, the same as anyone else, and no doubt have many people you can read machine code don't need the drivers in C to be able to understand them. If they have any remotely rational reason for not publishing the C code for their drivers it will be that they just don't want to give away something they spent money writing. You see similar behaviour from Intel with their compilier. They are a hardware company and should be doing everything to get people to buy their hardware including giving away software to make it work better, but the people who run these companies just don't get it.

    1. Re:Of course they could publish the code by mabhatter654 · · Score: 1
      While I happen to agree with you, that companies should simply focus on hardware...and get drivers out for anyone and everyone who wants them...the business facts are different. You have to "wean" the "higher powers" into dealing with OSS.

      Also, never forget the power of MS...many DX9 features for example are actually patented by MS rather than ATI or nVidia! I'd bet bill gate's money that if linux ever took off, they'd sic the dogs on ATI & nVidia in a hot minute...after Xbox, perhaps they already have? Same goes for many, many other things. think winmodems...I'd bet EVERYONE that sells winmodems simply copies MS standard driver...that's the real problem. These companies are too lazy to write 100% their own code [or use non-MS tools!]...and couldn't seperate themselves and their products from MS windows if their lives depended on it....At least allow them to "hide" behind propeietary drivers so we have SOME drivers!

  141. Re:It's really simple - not by Floody · · Score: 1

    I understand that. :)

    I was merely pointing out the inherent hypocrisy of many who insist that downloading music isn't "theft", yet GPL violations somehow are. Legally, neither is theft; they are all just copyright violations.

  142. Re:Why don't they just introduce a proper driver A by trenobus · · Score: 1

    First, M$ might not make very secure software, but they sure got a load of talented people working there, and even if their software is crap they know how to do some things right, the NT kernel is not all that bad(after all, it's just VMS ;)), and they did put a *load* of effort in making drivers compatible, and they had the src for all the OSes they wanted to make compatible, and they still failed miserably, other efforts by a bunch of amateur kids aren't going to work much better(and if you do some research, you will find that some other people have tried, and failed too).
    The problem Microsoft tried to solve was actually a different problem. They were trying virtualize an internal OS driver API, rather than virtualize an API to the hardware itself. That's a harder problem, but I'll still not accept their failure as proof of impossibility.

    I was aware of the Uniform Driver Interface (UDI) project, but again, I don't think their goal was exactly what I had in mind. They specify a "UDI environment", which is an API to be provided by any OS that wants to support UDI drivers. What I'm talking about is making the proprietary driver code present an API much more like a device BIOS interface.

    And yes, I *really* need to know how to interface with my hardware, and no, adding a layer of proprietary software on top of proprietary hardware is *not* OK, for *many* reasons, for example security, stability, CPU and OS portability, etc...

    Yes, you do need to know how to interface with your hardware, and so does everyone else who wants develop an OS. Issues of security and stability apply to hardware as well as software. Although I am addressing OS portability, CPU portability would remain an issue. It could be addressed by releasing proprietary code in some low-level intermediate code, or by the device manufacturer simply responding to reasonable requests from developers.

    In all cases specs are withheld to screw the user, and nothing else, which is *exactly* what Open Source tries to avoid.

    Chill. It's not that black and white, as several other posters have pointed out.

    You have to remember that in Open Source, we are all the developers, and M$ got access to the src of all their drivers(their license for hardware vendors force them to give the src to M$), and we at the very least need the same.

    M$ no doubt also agreed not to disclose the vendors' source to the whole world. Open Source can't make that same agreement by its very nature. Nevertheless, I won't claim that even that concession was necessary, given M$'s monopoly power. I certainly would encourage you to go back to the hardware vendors and try again as soon as Open Source takes over the world (which would be fine with me).

  143. stand up. by twitter · · Score: 1
    nobody could ever prove that they had not discovered it independently anyway.

    Unless you had the nerve to publish it openy. Nerve? No, it should not take nerve to share your knowledge and no one will ever know anything if knowledge can't be shared globally.

    --

    Friends don't help friends install M$ junk.

  144. Re:Pragmatism (Don't use it you idiot) by Anonymous Coward · · Score: 0

    I hate these zealots whose only function in this world is to attack everybody and make everything worse for everybody except themselves

    If you could explain how open, well supported drivers would be worse for everyone else, you might have a point, but as it is: you don't. STFU.

  145. Re:Manufacturer's concerns need not be user's hass by zurab · · Score: 1
    You say that as if this is the user's concern.


    No, quite the opposite. It's not user's concern what patents and trade secrets your DVD writer or video card contains. At the same time, it's not users' concern whether the OS allows or doesn't allow the binary-only drivers either. It works both ways.

    It isn't the user's problem that a manufacturer chose to saddle themselves with a variety of non-disclosure agreements and licenses that don't allow Free Software drivers.


    Again, you are right, but that goes both ways, like I explained above. Also, you cannot judge all companies in one pool that way. Companies base their business models on technologies that they believe are superior and/or will generate most profit. GPL compatibility may be one of the factors, but it's not the only factor. If you sell network cards for servers and want to target Linux installed server base (among others), then it's obviously of more importance. If you are selling Winmodems to prospective AOL and MSN dialup users, and want to find the cheapest way to market them, you may buy bulk from another manufacturer and maybe integrate it with your own software. In the latter case, GPL compatibility is not as much of a factor since Linux desktop market share is nowhere as significant as its server side.

    This is just another reason to avoid doing business with these manufacturers and more justification to reward those companies that do the right thing and allow users to enjoy software freedom.


    Yeah, well, the definition of "the right thing" is different for different people. Most of the times, it's "the money thing" that's more important for most corporations, anyway. Again, it's like saying Linus should free Linux of GPL and provide it under BSD license instead - it's the "right thing" after all - so that people enjoy freedom of doing whatever they wish with the software, including redistributing without having to provide source code. I don't think that is likely to happen; and I don't think all corporations will all of a sudden give up their patents, trade secrets, and other forms of revenue-generating IP either, just because it hit them that they have to do what some people perceive to be "the right thing."
  146. Sounds familiar. by Trejkaz · · Score: 1

    Yeah, sounds almost eerily like the DriverLoader philosophy, only that approach is even worse because you don't even get a Linux binary.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  147. Hah... by Trejkaz · · Score: 1

    Then I guess it's a real shame that 2D performance suffers from the crappy drivers too, huh. Hey everyone, run vesa. I promise you'll get used to the 60Hz refresh rate.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  148. Surely the work is in the hardware. by Trejkaz · · Score: 1

    Call me crazy, but I was under the impression the point of a 3D accelerator was to move more of the work to the card. Otherwise you might as well be rendering those quadrics yourself, triangle by triangle.

    A 'perfect' video card would have one call per OpenGL function, and the driver really would just shunt the data across. I was pretty sure NVIDIA satisfied this case, at least with their later boards (the unimplemented features on the earlier boards are presumably implemented in the drivers at the time the later boards come out, or they just refuse to implement the feature, one or the other.)

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  149. closed? so what? by uncitizen · · Score: 1

    What is the inherent problem with using closed source software? Yes, I will admit, having a wonderful troubleshooting tool like the source code is ideal. And yes, that might make your/our lives easier. But why do people fly off the handle when a company doesn't release the source code and/or swear off said software until it is made open source? Too often, people get so caught up with "Open source=Superior" or on the other side "Closed source=Superior". to be a little cliche, why can't we just pick the best tool for the job/all get along? I mean if solution X exists for problem Z, why don't you use it, closed or open source? We shouldn't ALWAYS try to reinvent the wheel.

  150. nVidia binary-only vs. Matrox OSS by hankaholic · · Score: 1

    Here's my take on the topic of whether NVidia's release of binary modules is a good thing. It's a little late for the mods to catch it, but what the hell.

    A few years ago, I Matrox released the specs for the G200. GLX drivers were quickly written for the current X server, and later XFree86 4 was released and had nice support as well.

    Matrox cards are also well-supported by the kernel -- having a native framebuffer driver for your video card is REALLY NICE. Both framebuffer and GLX drivers were quite stable surprisingly quickly after the specs were made available by Matrox.

    Then, NVidia came along with some kick-ass hardware and binary-only drivers. Q3A players all bought NVidia hardware, and Matrox was ignored by anyone serious about 3D performance. They still produce cards, but the last thing I'd really heard about them was that they'd decided to focus on making "business hardware", which I loosely interpret as "non-gamer-oriented hardware".

    Years later, I still hear of quirks and problems with the NVidia binary-only drivers, including complaints of lockups and general instability.

    Would I consider putting a Matrox card into a vital machine? Sure. Would I consider putting an NVidia card into a vital machine? Hell no.

    This is why I don't buy NVidia hardware. Unfortunately, too many people out there are in the "stability would be nice, but I want (current-3d-shooter) now!" camp for NVidia to really gain a bad reputation.

    Maybe the XBox was a much, much smarter move for Microsoft than I'd thought previously. If you look at NVidia, tons of Slashdotters would be quite unhappy with them as a company, except that they'd trade ideological comfort for a kick-ass gaming rig any day, so instead of bashing NVidia for being slimy they applaud them for the fact that their half-assed drivers work at all.

    I'm led to wonder how many former MS-bashers own an XBox today...

    --
    Somebody get that guy an ambulance!
  151. The question is one of derivitiveness. by Otto · · Score: 1

    In your case, it seems like you have a GPL driver (PWC) which has a binary plugin that you also create (PWCX) and which contains code that you are contractually bound not to release.

    Okay, so the question is, is the code in PWCX derived from the code in PWC? Obviously the proprietary stuff isn't, as you got it from someone and had to sign an NDA to get it. There may be some minor "glue" code in PWCX needed to use the PWC plugin structures. So I'd say that it's not derivitive, simply because you took some [b]already existing closed code[/b] and modified it to make it work with some open code. The act of modifying closed code to make it interoperate with GPL code doesn't make the closed code GPL.

    The problem is really that "derived work" is poorly defined. What makes a work derived?

    - If I write a complete Linux kernel module from absolute scratch, then it's clearly derived. I wrote it from nothing and wrote it specifically for Linux. So the GPL applies.

    - If I take existing code from, say, a Windows driver, port it to Linux, and make it work as a kernel module, then is it a derived work? What Linus is saying is that it doesn't have to be.

    It's all about intent. In the second case, I clearly ported the code to make it work with Linux, but I didn't originally write it for Linux in the first place. It was a Windows driver. I began by porting it from Windows to Linux. It's clearly not a derived work at this stage.

    Later, I might have even optimized and rewrote portions of the code to make it work better in Linux. Is it a derived work now? Eventually, through the process of optimization and rewriting, I may have completely seperated the codebase from the Windows and Linux drivers.. Now is it a derived work? This is the gray area, because there's no clearly defined point at which something becomes a derived work or not. If I were to dump the driver and write it from scratch for Linux, without referring to the Windows driver, then it is clearly a derived work now, because it was written for Linux from essentially nothing but knowledge of the hardware and knowledge of the Linux kernel. But porting it in is a fuzzier question.

    Take nVidia's drivers. It's pretty obvious that they started out by porting the Windows driver codebase into a kernel module. A lot of changes were obviously needed to do this, but it makes the most sense to start with code you already have. In the process of optimizing for Linux and rewriting portions of the code, then they may have changed the code so considerably that you can no longer easily recognize its origins from the Windows driver codebase. But is it a derived work of the kernel? Probably not.

    But simply "being a module" isn't what makes it not a derived work of the kernel, it's the origins of the code that determines that. A module may be derived or it may not be. But simply including code from the kernel headers in a project isn't enough to make it obviously derived. I could include that code because that code is necessary to port the driver over to the Linux kernel, but the driver itself clearly wasn't created to work in the kernel, I'm porting it from somewhere else, and likely I don't have to GPL it.

    This whole mess [b]isn't about code[/b]. This is about legal definitions and intents and such. That's why there's all this confusion. The only thing any developer making closed source modules needs to worry about is their ability to show that the closed code is not a derived work, and the legal aspects of "derived work" doesn't necessarily have anything to do with the code itself.

    --
    - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    1. Re:The question is one of derivitiveness. by spitzak · · Score: 1

      I think he is perfectly fine.

      1. Linus's wording is extremely bad, and I'm not sure why people don't seem to notice it. They either read it the way he intended and realize that binary modules are fine by him, or they read it wrongly (the way I did) and think he is saying that binary modules are illegal. He said something along the lines of "code the uses any part of the kernel source, including the headers, must be GPL". By "use" he meant that a big chunk was copied and pasted or otherwise edited into the module. Unfortunatly a lot of people (like me) think that a piece of code that #includes a header file "uses" that header file, leading to the shocking conclusing that Linus was saying binary modules are not allowed at all (completely contradictory to everything else he said).

      2. The first poster wrote the "PWC" code. Even though he GPL'd it, it is still *his* code. So copying some of it for the non-GPL "PWCX" is perfectly fine. Sending a copy to Phillips and asking them to write a non-GPL thing from it is also fine.

    2. Re:The question is one of derivitiveness. by tigga · · Score: 0, Redundant
      - If I write a complete Linux kernel module from absolute scratch, then it's clearly derived. I wrote it from nothing and wrote it specifically for Linux. So the GPL applies.

      No - GPL is about copying and modifying code (and distribution). If you wrote module from scratch - all the code is yours and you are free to put it under any license you want. Well, especially if you do not use even Linux's header files ;).

      In GPL word "derived" applies only to copied or modified program. You can't say it derived just because you intended to use it with Linux kernel first.

  152. Using wrappers for binary-only modules by Krellan · · Score: 1

    It is becoming increasingly more common these days to use wrappers for binary-only modules.

    The last time this came up on Slashdot, I thought about it for a while, and posted this here:
    http://www.oreillynet.com/cs/user/view/cs_m sg/1247 8

    (I wish I hadn't posted this as "Anonymous", but O'Reilly's registration system was nitpicky at the time....)

    Anyway, a quick summary:

    Companies these days are including binary-only modules in the kernel by using wrappers. Here's how it works:

    1) Kernel already exists, Open Source and covered by GPL.

    2) A wrapper module is written, also Open Source, to link into the kernel. It is written by the company writing the binary-only module, but released under the GPL. This module contains an API that is called by the binary-only module.

    3) A binary-only module is written. It is closed source, and not covered by the GPL. The only linkage this module has is to the kernel is via the wrapper module.

    Normally the GPL wouldn't allow the linkage of the binary-only module (the LGPL does, but that's not relevant here). However, since the GPL allows the original author of the copyrighted material to re-licence it later as needed for different uses (this is another way for authors of GPL software to make money), this can be done! Since the author of the wrapper module is friendly to the binary-only module, the wrapper would be licenced as GPL to the rest of the world, but not to the binary-only module.

    Not only does the wrapper module form a legal barrier against the GPL, but it also serves as a technical barrier against evolving kernel API changes. If the kernel functions change, then glue code can be written within the wrapper module to take care of this, without needing to change the binary-only module at all!

    This seemed to be effective for me. Does anybody else see a problem with this idea of using wrappers, or would it work well in all circumstances?

  153. Re:Why your clean API doesn't exist, and about GPL by spitzak · · Score: 1

    Oh, come on, this is not really that hard:

    1: Downloading a GPL'd source in C and compiling it against a binary-only LIBC library with supplied source header...

    Allowed.

    2: Downloading a BSD'd source and compiling it against a GPL'd LIBC library...

    Allowed. You can also compile a completely closed-source code against GPL code. Nothing in the GPL stops you from using the code in any way you want. It only affects redistribution of the code.

    Better yet-- providing patches to the BSD source so that it better supports the GPL'd library...

    Here is the first example where you actually talk about redistribution (if "providing patches" means sending code to others). If the library is GPL than this means your patched source must be GPL. However you can probably get around it by convincing people that your patches make the program "more portable" or "more standard" or otherwise avoid admitting that the changes were for this GPL library. In any case this is entirely contrived, except for "readline" there are no useful libraries that are GPL and not LGPL.

    3: Distributing a GPL'd "wrapper" you wrote and emulates proprietary NDIS Windows Networking drivers?

    Allowed. You wrote it and it is pretty obvious that it's use is to load closed-source drivers. If you really think you have to, add an "exception" saying that using this to load closed-source drivers does not violate the license. It's your code and you can modify the GPL in any way you want.

    4: Distribute a non-GPL'd (non-redistributable) PHP script that plugs into a GPL'd PHP application server? Is this similar to dynamic linking?

    Check the license for the PHP appliation server. In most cases this is allowed.

  154. Can you prove GPL violation w/o violating DMCA? by eegad · · Score: 1

    There's no real way to tell if someone is violating the GPL unless you violate the DCMA, right? For example, you'd have to reverse engineer a Windows library in order to prove that they are (hypothetically) putting GPL code into their commercial product but doing that would be a violation of the DMCA.

  155. Re:Why don't they just introduce a proper driver A by spitzak · · Score: 1

    No, the FSS has made no such assumption. Copyright covers *copying* and they know that.

    If QuickTime/Windows or Emacs/Windows actually contained an entire copy of Windows (so you could run it on machines without Windows) you can be pretty damn certain Microsoft will not be happy and will stop it.

    Sources compiled against the API are NOT affected by the GPL. It is sources that are *linked* with GPL code that is the problem, since when you send them to somebody else you are also sending a copy of the linked source.

    Everybody is kind of ignoring it, but there are enormous loopholes in the GPL that could be "exploited". Sending somebody a whole lot of source code and telling them to compile it and link it and you could then say the source code is copyrighted and cannot be copied. However in the real world there are problems: first everything you could take advantage of this way is already LGPL or otherwise has exceptions so you could do this anyway. Second you have given the end user your source code and they can look at it, even if you have them sign a contract saying it is illegal.

  156. LINKING STUFFS UP THE GPL! by Anonymous Coward · · Score: 0

    I think the main problem with the GPL (well from my eyes, as I'm not fluent in law), is the use of the term "linking".

    Is RPC linking? Am I in violation of the GPL if I don't GPL my code at the other end of the RPC connection?
    What if i make a LGPL'd RPC library? is this a potential way to overcome the GPL? What if the RPC uses named pipes?
    What if you use shared memory? This is so ambiguous.. What's the point of protecting against linking if we can get around it? linking is just letting two compiled modules talk to each other across a set of standardised/agreed interfaces.

    ^moo^

  157. Re:Manufacturer's concerns need not be user's hass by jbn-o · · Score: 1

    No, quite the opposite. It's not user's concern what patents and trade secrets your DVD writer or video card contains. At the same time, it's not users' concern whether the OS allows or doesn't allow the binary-only drivers either. It works both ways.

    Either you're attempting to lump together disparate things here in an attempt to make it appear that I am not giving corporations something due them, or I'm not being sufficiently clear. I'll try to be more clear to avoid misunderstanding. Issues that directly affect the user's ability to do what is natural to do with technical information, and the profit motivation for a corporation are not the same thing and should not be treated as if they are of equal importance to society. It is definately the user's concern that trade secrets and patents step on user's freedoms. Therefore we should not dismiss these issues as irrelevant because in doing so we lose valuable freedoms. The Free Software community was built on paying attention to the freedoms to share and modify software, not ignoring them because some business tells us to.

    Companies base their business models on technologies that they believe are superior and/or will generate most profit.

    And sometimes businesses believe the wrong thing; sometimes they don't know their business as well as they would have you believe (I'm reminded of Jack Valenti's claims that the VCR was to Hollywood movie making as the Boston Strangler was to a woman alone, then later seeing the VCR become the centerpiece of a hugely profitable business model). Expanding their userbase is more likely to be profitable. So even according to this lesser value system of how to maximize profits, your view doesn't explain reality. ATI apparently thinks it's okay to develop competitive video cards and distribute specifications for the Free Software community to use to make drivers. This act deserves our support. It is possible to have what corporations call a "win-win" here--we can work with companies that don't step on our valued freedoms while giving them business. We can help good businesses help us. In the post to Fedora's mailing list I linked to earlier, I suggest we do just that by setting up a database listing only hardware that works with Free Software. We should leave out corporations that don't work with us, like NVidia, regardless of their proprietary drivers. Or we should mention why we are telling people to buy other hardware instead.

    Yeah, well, the definition of "the right thing" is different for different people. Most of the times, it's "the money thing" that's more important for most corporations, anyway. Again, it's like saying Linus should free Linux of GPL and provide it under BSD license instead - it's the "right thing" after all - so that people enjoy freedom of doing whatever they wish with the software, including redistributing without having to provide source code.

    Within the context of this conversation, the thing that matters for citizens is software freedom. So long as businesses don't interfere with our freedoms and conduct themselves ethically, I am fine with letting businesses do what they think they need to do to make a reasonable profit. I am also fine steering people away from those that don't work with us to make mutually beneficial products.

    As for Linus Torvalds relicensing under a non-copyleft Free Software license, you are drawing a poor comparison. I never said he should do that, he doesn't have the power to do that (he's not the only copyright holder to the Linux kernal anymore), and I don't agree with that logic. Preserving software freedom for all users, including those that use derivative works, is important and worthwhile. I'm glad others distribute software under the new BSD and MIT X11 licenses, because they contribute to our community. But we also need licenses that create and preserve a commons like the GNU GPL does. Businesses have far too much power to dictate copyright and patent policy (particularly in the US via the legalized bribery scheme known as campaign finance).

  158. So everyone's whining by qa'lth · · Score: 1

    about this or that, how it's legal or it isn't, etc., but ignoring the real issue, namely, that we have to have drivers at all.

    Wouldn't it be nicer if there was just a standardised interface to send stuff to the 3d accelerator, like OpenGL, but we send raw OpenGL to the card and the cards' onboard drivers handle it from there? Or raw sound API requests? It wouldn't matter what platform architecture we used them, since we'd just be sending standardised data to the cards and letting them handle it from there.

    Upgrades to the drivers would probably have to be a bootable floppy or something to flash the ROM on the card, so manufacturers might actually have to get the drivers right the first time.

    But best of all, all we'd need to write is a layer to send the standard API to the cards, nopt have to muck around with billions of different drivers for billions of different cards..
    After all, we don't need drivers for hard drives, just the controllers. Why should we need drivers for the PCI devices, and not just for the PCI controller itself?

  159. Re:Why don't they just introduce a proper driver A by Anonymous Coward · · Score: 0

    > No, the FSS has made no such assumption.

    Read RMS's seminal comments about the readline library. Read the Linux-Kernel thread linked in this story. Read the comments here.

    Sorry, while I agree with your gist, that "ASSumption" is made all the time in the open source world.

  160. Re:Manufacturer's concerns need not be user's hass by zurab · · Score: 1
    Either you're attempting to lump together disparate things here in an attempt to make it appear that I am not giving corporations something due them, or I'm not being sufficiently clear. I'll try to be more clear to avoid misunderstanding. Issues that directly affect the user's ability to do what is natural to do with technical information, and the profit motivation for a corporation are not the same thing and should not be treated as if they are of equal importance to society. It is definately the user's concern that trade secrets and patents step on user's freedoms. Therefore we should not dismiss these issues as irrelevant because in doing so we lose valuable freedoms. The Free Software community was built on paying attention to the freedoms to share and modify software, not ignoring them because some business tells us to.


    Well, I'm not talking about issues that are important to "society" - that's a different topic was not relevant to my point at all. Citizens, society's issues, developers are not users; not the way I envisioned. Users are people who simply use the software. Whether it's patents, NDAs, or GPLed kernel, the software either works, or it doesn't work. Those users don't care about anything else. This even wasn't my original point; but a side point you made.

    And sometimes businesses believe the wrong thing;

    [snip]

    We should leave out corporations that don't work with us, like NVidia, regardless of their proprietary drivers. Or we should mention why we are telling people to buy other hardware instead.


    You are advancing your own propaganda here. And that's fine. Just beware that your perception of "freedom" may be different from others'.

    Within the context of this conversation, the thing that matters for citizens is software freedom. So long as businesses don't interfere with our freedoms and conduct themselves ethically, I am fine with letting businesses do what they think they need to do to make a reasonable profit. I am also fine steering people away from those that don't work with us to make mutually beneficial products.


    "Citizens?" Take a slightly different view on "freedom" - none of the businesses should be forced to use GPL or any other single license for their works. They should be free to use copyrights, and other business arrangements with other companies to find the business models that they believe is most beneficial to them. Not what you believe is most beneficial for them - that would not be true "freedom" then. I think you want the laws changed more than anything else.

    As for Linus Torvalds relicensing under a non-copyleft Free Software license, you are drawing a poor comparison. I never said he should do that, he doesn't have the power to do that (he's not the only copyright holder to the Linux kernal anymore),


    Neither is, for example, NVidia.

    and I don't agree with that logic. Preserving software freedom for all users, including those that use derivative works, is important and worthwhile. I'm glad others distribute software under the new BSD and MIT X11 licenses, because they contribute to our community. But we also need licenses that create and preserve a commons like the GNU GPL does. Businesses have far too much power to dictate copyright and patent policy (particularly in the US via the legalized bribery scheme known as campaign finance).


    That's your propaganda, but I was just giving an example. Again, as an example, some people believe GPL is more restrictive than BSD-type license. The BSD license gives you more freedom to do whatever you want to do with the code/software. Can you ask Linus to release Linux under BSD? You are making a similar argument towards, for example, NVidia.
  161. Strip out it then by Kashif+Shaikh · · Score: 1

    Well, why don't they just strip out parts licensed from other parties? Then those parts would be re-written with GPL'd code?

    The problem with this is code containing patents(i.e. S3TC support).

  162. Re:Why your clean API doesn't exist, and about GPL by einhverfr · · Score: 1

    I was actually thinking of the case of NeXT and Objective C where the FSF decided that providing .o files which would like to the GCC was a derivative work. The case was settled by GPL'ing the Objective C .o's and never made it to court.

    One of the issues regarding the GPL, IMO (and IANAL), is that we don't have a lot of case law regarding what exactly constitutes a derivative work of software. We know, for example, that copying code is not necessary to make it a derivative work. The courts handle this on a case-by-case basis which makes it difficult to predict where they will side in any given case, especially with so little case law established.

    Bear in mind, I license nearly all my software under the GPL, and I personally would avoid suing or taking other enforcement measures unless the work was clearly and obviously a derivative work (NOT merely one which interoperates/plugs in). Copyright protects expressions, not practical devices, and interoperation seems to me to be the latter.

    One of the real questions regarding binary kernel modules is the question of whether dynamic linking is enough to call something a derivative work. The most common answer I have seen from IP lawyers is that there is insufficient case law to determine that and to play it safe. OF course if you distribute the the library under these circumstances it is most likely enforcable, but consider:

    The MySQL client libraries are licensed under the GPL. Suppose for a moment that I don't distribute these client libraries, but my application can link to them if they are available. Does my application have to be released under the GPL? What if my program REQUIRES those libraries in order to function? Does this change anything?

    One of the questions here (and on the LKML) is whether using
    #include kernel.h
    makes the work a derivative work. I don't know. Seems to me that the output of the C PReprocessor would be more like object code from a copyright perspective than source code. The binary may be copyrighted, but I am not sure that it is exactly the same. Again, IANAL, and if anyone can provide case law otherwise, I would be grateful :)

    --

    LedgerSMB: Open source Accounting/ERP
  163. Nvidia could have a problem by pchown · · Score: 1

    People thinking of writing binary-only drivers should consider one thing. Linus has given his views, but he is only one of many copyright holders. Any one of those copyright holders could sue, and some of them take the view that all non-GPL kernel modules are a breach of copyright.

    I think for me the test is whether there is a defined API. The FSF claim that dynamic linking to readline is sufficient to make a program a derived work. I disagree because readline has a defined API and you are really writing your program against that rather than against readline itself. Remember that there is another library (editline) which implements much of the same API. If it is true that a program using readline thereby becomes a derived work, it makes no sense. The program would become a derived work of readline and editline at the same time!

    (This seems rather like Plato's theory of ideals: the "ideal readline" is the thing you are writing against, not the real implementations.)

    In the kernel, I think you'd have more problems. If you could point to a generic spec like NDIS that you were writing against, that would be one thing. (I know Linux doesn't support NDIS drivers, it's just an example.) In practice I suspect the kernel is not documented to this extent, so you end up "modifying the kernel" rather than "writing against an API".

    Nvidia may well have imported a lot of existing code, but that doesn't help them. It only takes one line of GPL code to "contaminate" the lot. There was bound to be some Linux-specific "glue" and that will be all that is required.

  164. Re:Manufacturer's concerns need not be user's hass by jbn-o · · Score: 1

    Well, I'm not talking about issues that are important to "society" - that's a different topic was not relevant to my point at all.

    It is always relevant to the issue of software freedom, which is a superior issue to convenience. Your point about calling people users (some say "consumers" in a similar vein) is true--when people are reduced to this status, society is given an inaccurate picture of how they should be treated. The word "citizen" paints a far more accurate picture because people do care about other issues when they are introduced to them. It also helps lead us to more beneficial conclusions about policy.

    Those users don't care about anything else.

    That's no excuse for purposefully keeping people in the dark about issues that matter. It has typically been the job of the unethical mass media to keep people from information and arguments that would awaken people's sensibilities about what really goes on in the world--how does Wal-Mart keep prices so low? Why should I run exclusively Free Software when some proprietary software offers better features? Why should I want to pay a few extra cents for tomatoes?--questions like these deserve answers and none are supplied when you focus away from behaving ethically.

    Just beware that your perception of "freedom" may be different from others'.

    Ironically, it's not as you think. The real difference is in who is being denied, not what is being denied. NVidia will not deny themselves the freedom to modify software or distribute it in whatever form they wish, even though they may have chosen to operate under various non-disclosure and patent licenses. Yet they will deny us the power to modify (possibly sharing too) by denying us complete corresponding source code and not giving us this freedom in their program's license. They also want to keep us helpless by denying us technical information about their hardware. And they want us to pay them for this privilege.

    [...] none of the businesses should be forced to use GPL or any other single license for their works.

    Nobody is ever forced to use the GNU General Public License (GPL). People and organizations choose to distribute derivative works based on GPL-covered works, so they choose to abide by the GPL's terms. Some choose to license their works under the GPL so others must choose whether they want to behave in accordance with the GPL. But nobody is forced to distribute programs under any particular license. With effort, everyone can either write their own software, hire someone to write software for them, or derive programs from something licensed under more liberal terms (including the MIT X11 and new BSD licenses).

    Neither is, for example, NVidia.

    NVidia is treating their customers wrongly because they distribute non-free software and no means to make Free Software replacements. NVidia chose to do business by tying themselves down under licenses that might prohibit Free Software drivers (or so you seem to be saying). A number of other video card manufacturers shows by existence that one can still make competitive hardware without doing this.

    [...] I was just giving an example.

    Your example wasn't analogous to what I was saying. I recognize the new BSD license as one of many Free Software licenses, one which purposefully does nothing to preserve the freedom of the software for derivative works. I see this as something people should know so they can make an informed choice when they wield the power to license.

    Can you ask Linus to release Linux under BSD? You are making a similar argument towards, for example, NVidia.

    I could, but I won't for reasons I've already described. As for NVidia, I am saying that I won't recommend anyone do business with NVidia (or recommend NVidia to others) until NVidia works with the Free Software community.

  165. Re:Manufacturer's concerns need not be user's hass by zurab · · Score: 1
    Your comments about "citizens," "freedoms," "society," etc., though important issues, are part of different discussion and unrelated to the point I was originally trying to make.

    Ironically, it's not as you think. The real difference is in who is being denied, not what is being denied. NVidia will not deny themselves the freedom to modify software or distribute it in whatever form they wish, even though they may have chosen to operate under various non-disclosure and patent licenses.


    Again, you are using your own definition of "freedom" - even if you create software under the GPL, you are [in your words] "denying freedom" to everyone else to create proprietary software out of it. Creating/offering/selling proprietary software is one of the "freedoms" you'd be taking away.

    Yet they will deny us the power to modify (possibly sharing too) by denying us complete corresponding source code and not giving us this freedom in their program's license. They also want to keep us helpless by denying us technical information about their hardware. And they want us to pay them for this privilege.


    But this is how proprietary commercial software works. You pay for the use, utility and the services that the software product provides - you don't pay for the "freedom" to modify and redistribute it. That's nothing new at all. If you don't like laws that allow proprietary software, that's a different issue altogether.

    If NVidia chose to cooperate with other companies that hold relevant expertise, copyrights, etc. to make their product that's their choice - they are free to do so. They are free to sign NDAs, other agreements, trade secrets, whatever they believe it will take to offer superior products, at whatever calculated cost. It's their choice how they want to set up their model.

    You may well believe that their model sucks, or their products suck, because they don't give you more "freedoms," etc.; but they are not obligated to in any way.

    Nobody is ever forced to use the GNU General Public License (GPL). People and organizations choose to distribute derivative works based on GPL-covered works, so they choose to abide by the GPL's terms. Some choose to license their works under the GPL so others must choose whether they want to behave in accordance with the GPL. But nobody is forced to distribute programs under any particular license. With effort, everyone can either write their own software, hire someone to write software for them, or derive programs from something licensed under more liberal terms (including the MIT X11 and new BSD licenses).


    Well, exactly what I was saying. NVidia, as everyone else, is free to use GPL, BSD, or any legal commercial license, provided they don't violate 3rd party licenses, agreements, trade secrets, copyrights, etc.

    NVidia is treating their customers wrongly because they distribute non-free software and no means to make Free Software replacements. NVidia chose to do business by tying themselves down under licenses that might prohibit Free Software drivers (or so you seem to be saying). A number of other video card manufacturers shows by existence that one can still make competitive hardware without doing this.


    NVidia is free to "[tie] themselves down" any way they want. That's your opinion, and that's fine.

    Your example wasn't analogous to what I was saying. I recognize the new BSD license as one of many Free Software licenses, one which purposefully does nothing to preserve the freedom of the software for derivative works. I see this as something people should know so they can make an informed choice when they wield the power to license.


    The example is analogous in one way - if the software, or software/hardware combination that NVidia distributes are covered by multiple copyrights, patents, trade secrets, NDAs, etc. and all those belong to multiple companies, it is highly unlikely that they will all of a sudden all agree to license their contributions under GPL's terms. I drew a comparison that it's as unlikely as, for example, Linux being provided under BSD-type license because of similar reasons.
  166. Re:Why don't they just introduce a proper driver A by spitzak · · Score: 1

    Readline has to be *linked* with the program to be useful. This is totally different from just having seen or worked with Readline before. Plenty of closed source is written by people "tainted" by Readline and FSS/RMS cannot and will not do a thing about it. The GPL is not viral no matter how much you want to pretend it is.

    I agree RMS is being an ass in putting useful shareable functionality under the GPL. The end result is that all Linux command-line programs do not use readline and thus lack editing capabilities. It probably has forced *zero* software to be GPL.

  167. Re:Why don't they just introduce a proper driver A by Deven · · Score: 1

    I was aware of the Uniform Driver Interface (UDI) project, but again, I don't think their goal was exactly what I had in mind. They specify a "UDI environment", which is an API to be provided by any OS that wants to support UDI drivers. What I'm talking about is making the proprietary driver code present an API much more like a device BIOS interface.

    The "UDI environment" is just their way of saying that the OS has to implement UDI's API to run UDI drivers. (Well, duh!) UDI drivers can be proprietary code -- the UDI specification is not under the GPL, and is free for anyone to implement. There is also a reference implementation of a UDI environment (for Linux) which is open source.

    I'm not a lawyer, but I can't fathom any argument for claiming an independently-developed UDI driver to be a derivative work of Linux, even if you choose to load it dynamically into a Linux kernel. (Obviously, static linking creates a binary which is a derived work of both, and therefore couldn't be distributed.) UDI effectively neutralizes the GPL at the device-driver boundary...

    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay