Slashdot Mirror


GPL Issues Surrounding Commercial Device Drivers?

Demiurg asks: "My company has recently decided to support Linux for it's embedded networking products which means that I'm starting to write Linux device drivers for our hardware. The company was very concerned about GPL issues and consulted a lawyer - who advised us to go for a user-space driver, saying that this is the only safe way to avoid GPL issues. I tried to give them a few examples of companies distributing binary only drivers (NVIDIA and Rational) but was told that these companies do not distribute binary only drivers - they only allow you to download them from a web site (which is not an option for an embedded product). What does Slashdot have to say about the issue? Is writing a user-mode (and hence not very efficient) driver the only way for a company to protect it's intellectual property? Please refrain from giving answers like 'all code should be GPL' - although I personally may agree, such answers will not help me convince management to make the change." Are there any lawyers (or readers with the right legal knowledge) out there that can confirm or contradict this recommendation?

461 comments

  1. lawyers by Dionysus · · Score: 5, Insightful

    So, you got your advice from a legal consul, and you're thinking about ignoring it in favor of advice from the /. crowd? Is that smart?

    --
    Je ne parle pas francais.
    1. Re:lawyers by Anonymous Coward · · Score: 1, Interesting

      Well, yes, because lawyers are usually cautious with how they interpret things. They don't want to get sued themselves for giving bad advice.

    2. Re:lawyers by Anonymous Coward · · Score: 0

      Ever heard of a second opinion?

    3. Re:lawyers by nicodaemos · · Score: 5, Insightful

      Many times the corporate lawyer is a liberal arts person who doesn't understand the finer points of technology and licensing. As such they don't have the background to come up with creative ways for you to achieve your goals while still remaining in compliance with licensing.

      I personally had to convince a VP of Development to consider my alternatives over the simple no answer that came from the corporate lawyer. It wasn't easy, but I was able to pursuade 2 other directors who backed up my ideas. No, this wasn't a dot-com startup, but a nasdaq listed company with a strong 25 year history. The conservatism and resistance to change was mind boggling.

      My advice is to do exactly what you're doing. Brainstorm the heck out of this and see if you can make it work. Good luck!

    4. Re:lawyers by joshua42 · · Score: 1, Insightful

      I guess he is asking for a second opinion. It is not like Law is some kind of science where there is one capital generally accepted Answer to a given question... and also there are certainly idiot lawyers just as well as there are clever ones. Well, at least I assume there are clever ones somewhere... :)

      --

      - El riesgo siempre vive - Private J. Vasquez
    5. Re:lawyers by Anonymous Coward · · Score: 0

      why is this comment insightful?! it's not at all. it's f'n obvious and teh guy is only looking for advice or suggestions and isn't necessarily dumping the other.

    6. Re:lawyers by Anonymous Coward · · Score: 5, Insightful
      So, you got your advice from a legal consul, and you're thinking about ignoring it in favor of advice from the /. crowd? Is that smart?

      FLAME ON--
      Actually yes and no. It is incredibly wise to ask the ./ crowd because there are a few of us out here who a) aren't school/college age geeks and b) have ACTUALLY DONE THIS IN A COMMERICAL PRODUCT and worried over the issue ourselves. It's dumb to take the ./ crowd advise in place of your lawyer's advice. Instead the rational thing to do is to ask here and if something looks interesting point it out to the lawyer.
      FLAME OFF--

      It is relatively well known the Linus has essentially modified the terms of the GPL under which the kernel is distributed w.r.t. loadable modules to allow exactly this functionality. You write a closed source driver for your odd exceeding proprietary hardware, make it a loadable module (not compiled in) and your driver does not have to be released under GPL. As soon as you distribute a version with the module compiled in "all your IP are ours", but as long as you dynamically load it your ok.
      Tell you lawyer to contact Linus to confirm this in writing; he's the freakin' copyright holder.
    7. Re:lawyers by kableh · · Score: 5, Informative

      My company uses Linux in some of our embedded products. Before doing so, and before we had fulltime counsel, we hired a lawyer to go over the GPL and tell us if it was going to present a problem. This lawyer seemed to think that anything compiled with GCC would fall under the GPL, which is incorrect. There are specific exceptions that allow it to be used to produce non-free software.

      I'm not saying he should ignore the lawyer, but that his lawyer could quite possibly be wrong. The GPL is 'viral' in a sense, but not in as devious a way as Microsoft FUD would indicate, and at least they are up front about being a bunch of commies =)

      See http://www.gnu.org/licenses/gpl-faq.html for more info.

    8. Re:lawyers by Anonymous Coward · · Score: 5, Insightful

      "No, this wasn't a dot-com startup, but a nasdaq listed company with a strong 25 year history. The conservatism and resistance to change was mind boggling."

      There may be a connection between `resistance to change` and `strong 25 year history`.

    9. Re:lawyers by MyHair · · Score: 2

      Many times the corporate lawyer is a liberal arts person who doesn't understand the finer points of technology and licensing. As such they don't have the background to come up with creative ways for you to achieve your goals while still remaining in compliance with licensing.

      You have a point, but would you rather get sued over actions taken from advice taken by your attourney or by your creative tech/geek/programmer/etc.?

      But what am I complaining about? It's an interesting question, and I'm sure there are interesting comments, and I'm avoiding work. Yay Slashdot!

      No, this wasn't a dot-com startup, but a nasdaq listed company with a strong 25 year history.

      You work for Microsoft? :-)

    10. Re:lawyers by duffbeer703 · · Score: 2

      Lawyers can read and the GPL has nothing to do with technology.

      When someone eventually sues over the binary drivers packaged with the Linux kernel, people will lose their intellectual property.

      The FSF knows this and loves it -- they are out to push their agendas.

      BSD or Apache licensing is the way to go.

      My advice to you would be to listen to your lawyers -- there is no rational argument to support your claims.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    11. Re:lawyers by Anonymous Coward · · Score: 0

      on that note, why not just write a proprietary driver that doesn't violate the GPL? write it any way you want. then tell the lawyer you did exactly as he said.

      how will he know you didn't?

    12. Re:lawyers by GreyPoopon · · Score: 2, Funny
      When someone eventually sues over the binary drivers packaged with the Linux kernel, people will lose their intellectual property. The FSF knows this and loves it -- they are out to push their agendas.

      <sarcasm>
      You forgot to include the part about the secret alliance between the FSF and Microsoft. After all, the real function of the FSF is to invalidate intellectual property so that it can be used by MS.
      </sarcasm>

      --

      GreyPoopon
      --
      Why is it I can write insightful comments but can't come up with a clever signature?

    13. Re:lawyers by ajs · · Score: 4, Insightful

      I'm getting very tired of this mistake. It's being pushed by MS, but it was started by the likes of Slashdotters who don't understand the terminology.

      The GPL is not viral, copyright law is. The GPL is an optional license which you can opt out of by simply never accepting its terms. In which case, it has no sway over you at all, and you can walk away unscathed.

      However, like all copyrighted works, GPLed software cannot be modified and "made your own". A modified (or "derived") work is just that.

      When you use something like a compiler, there's some grey involved as to what the end product is. It has incorporated some headers and libraries that are part of the compiler suite (crt0.o, for example), so it's not just a "printing press for computers". This means that applications which incorporate parts of themselves into their ouput must make a special exception in their licensing terms in order to clarify the status of that output.

      Now, here's the kicker... this is true regardless of what license you use! Yep, you can use the MIT/X license, the BSD license, the GPL, Microsoft's EULA (which is legally on much shakier ground than the GPL, BTW because it relies on this idea that you do not own the software that you purchased, which has been defeated as a tactic for books).

      The only difference between using the GPL and a weaker license like the MIT/X or BSD licenses is that those licenses allow you to do nearly everything that Copyright law takes away. Not that I'm comparing those licenses to the GPL for any real reason. They're both very good licenses for what they are meant to do.

      However, to say that it's the GPL that's viral is silly. Try cutting up a magazine, reassembling the articles and then publishing the result. I think you'll find that copyright law has infected your creative work without the GPL (or any other license) coming anywhere near you.

    14. Re:lawyers by Jaywalk · · Score: 1

      ./? I thought it was /.

      --
      ===== Murphy's Law is recursive. =====
    15. Re:lawyers by God!+Awful · · Score: 0, Flamebait


      I'm getting very tired of this mistake. It's being pushed by MS, but it was started by the likes of Slashdotters who don't understand the terminology. The GPL is not viral, copyright law is.

      Dude, you are completely full of shit. Copyright law is a little bit viral, but the GPL is ebola viral. The major difference is that if you include a copyrighted image/paragraph/etc in your original work (whether by permission or via fair use) the copyright on the cited work does not infect the remaining 90% of your original work. How can you gloss over a detail like that. It makes ALL the difference.

      However, like all copyrighted works, GPLed software cannot be modified and "made your own". A modified (or "derived") work is just that.

      Get a sense of proportion. There is a huge difference between someone who wants to take a GPL'ed app, tweak it a bit, and sell it under a non-GPL license, and someone who wants to take a GPL'ed library and include it as a small part of a non-GPL'ed program. That would be stretching the definition of "derivative work" beyond the level of common sense.

      However, to say that it's the GPL that's viral is silly. Try cutting up a magazine, reassembling the articles and then publishing the result.

      Again, you're full of shit. Each of the excerpts is covered by its own copyright; they aren't infecting each other. If you take some excerpts from Tom Clancy and mix them in with some quotes from Charles Dickens, it doesn't mean that Tom Clancy gets copyright over the Dickens quotes, nor does the public domain status of the Dickens quotes cause the Clancy quotes to fall into the public domain. *THAT* would be viral licensing, and that's what the GPL does.

      So maybe you ought to think about this issue a little more before you post this tripe again.

      -a

    16. Re:lawyers by JebusIsLord · · Score: 2

      In that sense of viral i agree with you, but when MS calls the GPL a viral license that is not what they mean. What they mean is, by using GPL software (infected?) and building off it you are required to GPL the changes as well. So you pick it up and then are contagious as such. You are right though, copyright is worse because it infects everyone. I would call GPL viral and copyright an "endemic disease".

      --
      Jeremy
    17. Re: lawyers by Black+Parrot · · Score: 5, Funny


      > The GPL is 'viral' in a sense

      The GPL isn't viral; it's hereditary.

      I have had both GPL and non-GPL software installed together on my system for years, and none of the non-GPL software has ever been infected.

      --
      Sheesh, evil *and* a jerk. -- Jade
    18. Re:lawyers by cpt+kangarooski · · Score: 1

      Ah, it seems that you're not really familiar with how we treat derivative works.

      If you take even a very small amount of content from someone else and incorporate it into your own work, you cannot publish your work without infringing on the other person's copyright. You _may_ be able to seperate the two in your work, such that the new portion you created can be seperately published, but blocking copyrights can wind up being a significant PITA.

      Check out the case with Gerald Ford's memoirs.

      Short answer: you're basically wrong, the earlier poster is basically right.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    19. Re:lawyers by Rutulian · · Score: 1

      I think his point was that you don't have to accept the terms of the GPL. Don't use the copyrighted work and you don't have to adhere to the license.

      The major difference is that if you include a copyrighted image/paragraph/etc in your original work (whether by permission or via fair use) the copyright on the cited work does not infect the remaining 90% of your original work.

      Actually it does. The GPL is a statement of terms just like permission to copy an image is. In the case of the GPL you have to redistribute your changes to the GPL'd code. In the case of the image you may be required to do any number of things: include a copyright statement, limit distribution, pay huge royalties, etc....

      The GPL may seem viral, but it is just a license agreement like any other. And, like any other licesne agreement, you don't have to accept it. You can negotiate alternative terms with the author if you want. Personally, I would consider a Microsoft EULA to be much more viral than the GPL.

    20. Re:lawyers by flossie · · Score: 5, Interesting
      The major difference is that if you include a copyrighted image/paragraph/etc in your original work (whether by permission or via fair use) the copyright on the cited work does not infect the remaining 90% of your original work.

      ditto for the GPL. If you copy with permission other than the GPL, no problem. If you copy under fair use, also no problem. The GPL only applies if permission and fair use do not apply.

      The GPL gives rights; it does not take any away. Where copyright doesn't restrict you, nor does the GPL.

      So maybe you ought to think about this issue a little more before you post this tripe again.

      Maybe you should read the GPL again.

    21. Re:lawyers by paulbd · · Score: 4, Insightful

      Dude, you are completely full of shit. Copyright law is a little bit viral, but the GPL is ebola viral. The major difference is that if you include a copyrighted image/paragraph/etc in your original work (whether by permission or via fair use) the copyright on the cited work does not infect the remaining 90% of your original work. How can you gloss over a detail like that. It makes ALL the difference.

      Who's full of shit here? You would be able to reprint/reissue your work without the copied work, but until you did that, continued duplication of your work would be a violation of copyright law (and you would remain in violation of it for the prior duplication).

      Get a sense of proportion. There is a huge difference between someone who wants to take a GPL'ed app, tweak it a bit, and sell it under a non-GPL license, and someone who wants to take a GPL'ed library and include it as a small part of a non-GPL'ed program. That would be stretching the definition of "derivative work" beyond the level of common sense.

      If someone's work is copyrighted then you have no rights whatsoever to duplicate or use it unless they give you such rights. The author of the GPL'ed library has decided to give such rights only to people who give her and others the same rights in return. The author could have chosen to give you no rights whatsoever, in which case, they need not bother with a license at all. When you use somebody else's code, whatever license it is under, it is only legal if they have given express permission to do so. If they have not, or if they have added conditions under which you may use it, the law does not permit you wriggle out of this with lines like "get a sense of proportion."

      Again, you're full of shit. Each of the excerpts is covered by its own copyright; they aren't infecting each other. If you take some excerpts from Tom Clancy and mix them in with some quotes from Charles Dickens, it doesn't mean that Tom Clancy gets copyright over the Dickens quotes, nor does the public domain status of the Dickens quotes cause the Clancy quotes to fall into the public domain. *THAT* would be viral licensing, and that's what the GPL does.

      You need to be careful with that "shit" term. You are right about the lack of "transfer of copyright" in the domain of the printed word. But the same thing applies to software too. The GPL cannot cause transfer of copyright between owners. If there is an existing body of GPL'ed source code and it is merged with or used to derive new source code, the exact same rules apply as they would with books: genuinely new work is copyright the new author, quoted work is copyright of the old author. The point is: without a license of some sort, you have NO permission to use the existing work in any way, not to copy, not to quote, not to use to derive new work from. If the work was GPL'ed, the author has given you permission to use it as you wish, as long as you use the same license for your own work. The author has no copyright claim on your own original work whatsoever. You are free to issue work that is entirely your own under any license you wish. Work that is derived from the original work (and "derived" here is a technical term that may include compile time linkage, but never includes run time execution) is controlled by the copyright holder of the original work. the copyright holder may choose to prohibit you from using HER work unless you choose a certain license. If you don't agree with that, then you have no permission to use her work; if you do so anyway, you are in violation not of the GPL, but of US and international copyright law.

    22. Re:lawyers by Elbelow · · Score: 1

      Copyright law is a little bit viral, but the GPL is ebola viral.

      Actually, ebola virus is not all that infectious. Sure, the consequences of an infection are pretty disastrous, but it's not that easy to pick up. Airborne viruses such as influenza and the common cold virus are much more infectious.

    23. Re:lawyers by ebresie · · Score: 1

      > It is relatively well known the Linus has
      > essentially modified the terms of the GPL under
      > which the kernel is distributed w.r.t. loadable > modules to allow exactly this functionality.
      > You write a closed source driver for your odd
      > exceeding proprietary hardware, make it a
      > loadable module (not compiled in) and your
      > driver does not have to be released under GPL.
      > As soon as you distribute a version with the
      > module compiled in "all your IP are ours", but
      > as long as you dynamically load it your ok.

      Just curious...is doing it this way also make it difficult when a new version of the kernel comes out? Or do current kernels allow for different versions of the kernel to run with the same binary user-mode module? Or does a new version of the binary user-mode module have to be provided also?

      --

      Eric B
      ebresie@gmail.com
    24. Re:lawyers by oscarcar · · Score: 1

      Yes, this is my experience in a large organization.

      The lawyers see their job as saying 'No' to everything.
      Their perspective is to avoid lawsuits to the extreme, or protect themselves by saying "told you so".

      You could not possibly conduct business if you adhered to lawyer recommendations in many large organizations. You'd die and shrivel because you'd be so afraid to venture into anything new.

      My 2 cents,
      Oscar

    25. Re:lawyers by Kynde · · Score: 2

      It is relatively well known the Linus has essentially modified the terms of the GPL under which the kernel is distributed w.r.t. loadable modules to allow exactly this functionality. You write a closed source driver for your odd exceeding proprietary hardware, make it a loadable module (not compiled in) and your driver does not have to be released under GPL. As soon as you distribute a version with the module compiled in "all your IP are ours", but as long as you dynamically load it your ok.


      I must add to this that, although there are certain reasons as to why write a closed source driver in the first place, it will not be an easy road.

      NONE of the kernel developers will be able (or even willing) to assist you, because you're dealing with closed source module that will taint the kernel. They cannot help you because they simply cannot see what your driver does, i.e. see the source code.

      In NVidia's case, this have gone tolerably, although many developers aren't happy with their closed source release, but I guess there are some neat tricks they don't want to share with ATI and others. In any case, they've put a lot of effort into it being bugfree, but it wasn't always so. Kernel crashes with non GPL modules loaded will go totally disregarded in the linux developement community.

      --
      1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
    26. Re:lawyers by DunbarTheInept · · Score: 1, Redundant
      Get a sense of proportion. There is a huge difference between someone who wants to take a GPL'ed app, tweak it a bit, and sell it under a non-GPL license, and someone who wants to take a GPL'ed library and include it as a small part of a non-GPL'ed program. That would be stretching the definition of "derivative work" beyond the level of common sense.
      And on the day it becomes possible to publish an executable with source that cannot be simply turned into a library file by sticking a simple wrapper around it, that argument might start to make sense. Until that time, there is very little difference.

      So maybe you ought to think about this issue a little more before you post this tripe again.
      If you want to convince people of your position, it helps not to come off sounding like a pompous ass.
      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    27. Re:lawyers by Zeinfeld · · Score: 1, Troll
      Dude, you are completely full of shit. Copyright law is a little bit viral, but the GPL is ebola viral.

      Hmm, the poster must be right, he is being modded down to -1 Troll before the slashcrew can repost this story. Gotta stop those suppressive anti-GPL thoughts from getting out.

      Fact is that RMS designed the GPL to be viral. If you go and talk to him you will discover pretty quickly that he lives on a completely different plane to other mortals. So when people argue that the GPL could not possibly be meant to mean anything as impractical as what it says then consider that the guy who wrote it lives in his office at MIT.

      Lawyers can be a pain in the ass but I have yet to find one who read the GPL and said 'hey no problemo here'.

      The only reason why the GPL works is that most people either don't read it, don't understand it or don't care. I suspect that Red Hat and VALinux fall in the latter category since the probabiliy of RMS appearing in court to sue someone over copyright is unlikely to say the least.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    28. Re:lawyers by Anonymous Coward · · Score: 0

      The GPL is not viral, copyright law is. The GPL is an optional license which you can opt out of by simply never accepting its terms. In which case, it has no sway over you at all, and you can walk away unscathed.

      nugget, the GPL is 'viral', no not the microsoft definition of viral, but viral none the less.
      Have you ever read the GPL?

      The only difference between using the GPL and a weaker license like the MIT/X or BSD licenses is that those licenses allow you to do nearly everything that Copyright law takes away. Not that I'm comparing those licenses to the GPL for any real reason. They're both very good licenses for what they are meant to do.

      idiot!
      Yes, both thoses licenses are good at what they do. which is to provide ACTUALLY free software. What can be more free than, 'as long as this text is around, you can do anything you like'?

    29. Re:lawyers by Anonymous+Canard · · Score: 1
      When someone eventually sues over the binary drivers packaged with the Linux kernel, people will lose their intellectual property.

      This is the worst sort of paranoid scaremongering. There is no mechanism in the GPL, nor could there be any mechanism, for stealing IP from you. In a worst case scenario you might be barred from, or even fined for distributing other peoples IP without their consent, but your own IP will always remain yours. In practical terms it hasn't ever even been necessary to fine or enjoin the distribution of GPL'd software as all companies so far have been able to come to an agreement with the FSF in mediation.

      --

      --
      BitTorrent in C -- LibBT
      http://www.sf.net/projects/libbt
    30. Re:lawyers by SerpentMage · · Score: 2

      Lets see if the company pays a couple of the kernel developers consulting hours to help them I think the problem will be solved.... And if the company was smart that is what they would do. Hire some kernel developers to develop their driver, which puts some money into the kernel developers pocket. And that allows them to develop more Open Source.

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    31. Re:lawyers by Penguin+Follower · · Score: 1

      JebusIsLord wrote: "What they mean is, by using GPL software (infected?) and building off it you are required to GPL the changes as well."

      Building off of it? I would take that as a "derivative work", and so yes, the resultant work will have to be GPL (i.e. you used GPL'ed library of some sort).

    32. Re: lawyers by Anonymous Coward · · Score: 0

      Maybe GPL software is okay, but what about GPL source? Is GPL source a STD? :)

    33. Re:lawyers by geekee · · Score: 1

      The term viral is used because, if you use GPL code in your code, you must make your code open source, If someone uses your code, they must also make it open source. Therefore, it spreads like a virus. This is not necessarily bad. In fact it's exactly what Stallman wants, because the virus makes all code it touches free. If you don't like the connotation, come up with another analogy, but don't call the analogy inaccurate. As far as copyright law, it is not viral for the opposite reasons. You can't use someone elses material in your material, so copyright law can be thought of more like an antivirus. It does not let material spread without permission from the copyright holder (theoretically at least).

      --
      Vote for Pedro
    34. Re:lawyers by God!+Awful · · Score: 2


      If you take even a very small amount of content from someone else and incorporate it into your own work, you cannot publish your work without infringing on the other person's copyright.

      It seems that you didn't read my post that carefully, since I explictly stated "by permission or via fair use".

      Check out the case with Gerald Ford's memoirs.

      Wherein a magazine obtained an unauthorized copy of the manuscript prior to publication, thus causing financial damage to the author (Time magazine backed out of a contract). These fair-use/anti-copyright rants always seem to have a back story that is conveniently glossed over.

      You _may_ be able to seperate the two in your work, such that the new portion you created can be seperately published, but blocking copyrights can wind up being a significant PITA.

      Let's say that I publish a scholarly essay in which I quote from another work without permission (under fair use). Then I later rewrite the essay as a novella, without using the quote. Are you saying that the author of the quote could somehow block publication of my novella? BS.

      -a

    35. Re:lawyers by treat · · Score: 2
      I guess there are some neat tricks they don't want to share with ATI and others.

      This is silly. Competitors have the resources dedicate a person to any reverse engineering project, which means they will have time to disassemble the code.

      Closed-source drivers benefit nobody. It is a pointless concept.

    36. Re:lawyers by ajs · · Score: 2

      What they mean is, by using GPL software (infected?) and building off it you are required to GPL the changes as well.

      This is true. However, it's not an apples-to-apples comparison. What is MS comparing that to? Building everything from scratch with MS tools? You certainly can't take Word and tweek just a bit of the code to make it do what you want and release it under whatever license you want.

      You certainly could (in theory) establish a relationship with MS to OEM your own "Word" with changes, but the same goes for a GPLed program.

      MS loves to call the GPL viral, but it's only viral in the sense that it lets you have some rights you don't get from them.

    37. Re:lawyers by God!+Awful · · Score: 1, Troll


      The GPL may seem viral, but it is just a license agreement like any other.

      The GPL doesn't just seem viral; it is viral. It is a license agreement like any other, but not a viral license agreement like any other, because most license agreements aren't viral.

      Personally, I would consider a Microsoft EULA to be much more viral than the GPL.

      Except that it's not. You can't just go around redefining other people's terminology just because you don't agree with the connotation. I am forced to use jargon like "free software" in a special way when talking to geeks. You need to get over it, and start using the same definition of "viral" as everyone else (in the software community).

      I think his point was that you don't have to accept the terms of the GPL. Don't use the copyrighted work and you don't have to adhere to the license.

      The OP said that copyright was viral and the GPL wasn't. So no, I don't think that was his point.

      I'm ignoring your other (pro-GPL) comments because they are unrelated to the issue of whether the GPL is viral.

      -a

    38. Re:lawyers by Electrum · · Score: 2

      This is the worst sort of paranoid scaremongering. There is no mechanism in the GPL, nor could there be any mechanism, for stealing IP from you. In a worst case scenario you might be barred from, or even fined for distributing other peoples IP without their consent, but your own IP will always remain yours. In practical terms it hasn't ever even been necessary to fine or enjoin the distribution of GPL'd software as all companies so far have been able to come to an agreement with the FSF in mediation.

      He didn't say steal. He said lose. You write some code from scratch. This is now your intellectual property. You combine the code with code licensed under the GPL and distribute it. You have now "lost" your intellectual property. Sure, you still own the copyright on the code, but now everyone can see it and use it.

    39. Re:lawyers by tlk+nnr · · Score: 2

      It is relatively well known the Linus has essentially modified the terms of the GPL under which the kernel is distributed w.r.t. loadable modules to allow exactly this functionality.

      This is a misleading half truth, i.e. what you can expect when you ask a question on slashdot.

      According to the copyright law, you need the permission from the author to create a derived work.

      The GPL grants that permission, but only if the changes are put under the GPL, too.

      Linus never granted a GPL exception for kernel modules, he wrote a few years ago that he think that a device driver that is ported from another os to Linux is not derived from the kernel, thus no permission is needed.

      He clarified that just a few weeks ago

      http://marc.theaimsgroup.com/?l=linux-kernel&m=1 03 487469728730&w=2
      http://marc.theaimsgroup.com/?l= linux-kernel&m=103 487582630213&w=2

      This means that a binary only module is only permitted if the module is not derived from the kernel. If you take a windows driver, develop a clean-room abstraction layer and use that layer for the driver, then you are safe. That's what NVidia is doing.
      If you write a linux-only driver and sell it, then you enter a very dangerous area, you might end up in jail.
    40. Re:lawyers by Anonymous Coward · · Score: 0

      It all depends on the perspective. Do you believe in building a community supported operating environment, or do you believe in protecting your assets from others?

    41. Re:lawyers by God!+Awful · · Score: 1, Troll

      The major difference is that if you include a copyrighted image/paragraph/etc in your original work (whether by permission or via fair use) the copyright on the cited work does not infect the remaining 90% of your original work.

      ditto for the GPL. If you copy with permission other than the GPL, no problem.

      Aha... so the GPL is not viral as long as you are not using the GPL.

      The fact is, copyright is not inherently viral:

      Some copyright-based licenses are viral.
      The GPL is a viral license.
      The GPL is enforceable under copyright.

      But no combination of the above statements will prove the OP's contention, which is that copyright is viral (and the GPL is not).


      The GPL gives rights; it does not take any away.

      Another absurd statement, but I digress. "Rights" is such a loaded word; it makes laws sound like unalienable laws. Copyright gives certain "rights" to the author at the expense of the consumer. The GPL takes away some of those rights from the author and gives them to the consumer. There is always a conservation of rights. If society gives you the "right" not to be murdered, it impinges on my "right" to murder you. Our perception of which laws are "rights" is coloured by our nature and nurture; there are no absolute rights.

      -a

    42. Re:lawyers by ajs · · Score: 2

      Gotta stop those suppressive anti-GPL thoughts from getting out.

      Nothing of the sort. I respect alternate views, and I have some good friends whose opinions I respect that would not touch the GPL with a stick. Takes all kinds.

      The problem is that there are people (like the "tripe" guy, above) who aren't thinking about the relative merits of X or Y, but just absolutely taking a stance of the GPL being evil. It doesn't matter what you produce to demonstrate that they're incorrect, it's just evil.

      Fact is that RMS designed the GPL to be viral. If you go and talk to him you will discover pretty quickly that he lives on a completely different plane to other mortals.

      You understand that those two statements are orthoganal, right? I used to worship the ground Stallman walked on back in the late 80s. He was just this incredibly cool figure off in some temple at MIT who cranked out amazing shit like gcc and EMACS (I didn't even like EMACS, but the code... wow).

      When I actually got to know him, my opinion changed. I really think it took an asshole the caliber of Stallman to push the idea of a Free OS to the point that it actually happened.

      The GPL may be Stallman's brain-child, and he may have had some very strange ideas about why it should exist, but the bottom line is that it's a lot bigger than he is now.

      The GPL is an optional license, and as such, it's no more viral than you want it to be. Don't want to be bound by it's terms? Don't. Just use the software and be happy. Don't want to distribute under its terms? Don't. Write your own software and distribute it as PD, as proprietary or on the MIT/X license or the MPL, etc, etc.

      You have choices. Even if you modify GPLed software (which is a right you do not have with proprietary software at all) you have the right to use the modified version without accepting the GPL. You even have the right to make use of it in other ways in accordance with fair use.

      What you don't have the right to do is take someone else's work, modify it and then distribute it under a set of conditions that's more restrictive than those given to you.

      Viral? No. If it were viral, it would infect your efforts as soon as you used it. As it is, what infects your program is copyright law.

      Lawyers can be a pain in the ass but I have yet to find one who read the GPL and said 'hey no problemo here'.

      Find a lawyer. Show them the GPL. Ask them this question word for word, "other than the part about disclaiming warantee, if I choose not to be bound by this license can I still use GPLed software and/or modify it for my own internal use in accordance with fair use provisions of copyright?"

      The answer will be yes. If the answer is not yes, I suggest you get a Lawyer who can read English, since that is stated outright in very clear terms in the GPL.

      The only reason why the GPL works is that most people either don't read it, don't understand it or don't care. I suspect that Red Hat and VALinux fall in the latter category since the probabiliy of RMS appearing in court to sue someone over copyright is unlikely to say the least.

      Ok, now you're talking about a case where software is re-distributed by parties who have accepted the GPL.

      First off, let's clear the air. You talk of "RMS", but RMS does not own the copyright on most of the things distributed by those companies.

      Let's talk about gcc. That's a program that was originally written by RMS, so he has at least some call over it's fate.

      Red Hat (as an example) distributes GCC. How would RMS have cause to sue them? Is there some scary provision of the GPL that says you can't put it on media and charge money for it? Nope, in fact the GPL explicitly says quite the oposite.

      On what grounds do you expect Mr. Stallman to sue? That he doesn't like Fedoras? You don't just walk into civil court and say, "hey, I have this license agreement on my software and someone used it in exactly the way it says, so I want to sue them!" You kind of have to have a breach of contract first, or judges get a little twitchy with that whole frivolous lawsuit thing.

    43. Re:lawyers by Anonymous+Canard · · Score: 1
      He didn't say steal. He said lose. You write some code from scratch. This is now your intellectual property. You combine the code with code licensed under the GPL and distribute it. You have now "lost" your intellectual property. Sure, you still own the copyright on the code, but now everyone can see it and use it.

      The original poster claimed that by distributing binary device drivers with Linux that they would eventually lose their IP. If you've kept the sources and the source code is your own property, then nothing in the GPL can make you open up your source code. The GPL can only deny you the right to distribute software covered by the GPL -- you may end up deciding that distributing e.g Linux is more valuable to you than your source code is, or you may not, but the choice is up to you.

      The court isn't going to come along and say; hey you distributed your binaries with Linux, they are obviously now GPL'd, so hand over the code.

      --

      --
      BitTorrent in C -- LibBT
      http://www.sf.net/projects/libbt
    44. Re:lawyers by paulbd · · Score: 3, Insightful

      Another absurd statement, but I digress. "Rights" is such a loaded word; it makes laws sound like unalienable laws. Copyright gives certain "rights" to the author at the expense of the consumer. The GPL takes away some of those rights from the author and gives them to the consumer. There is always a conservation of rights. If society gives you the "right" not to be murdered, it impinges on my "right" to murder you. Our perception of which laws are "rights" is coloured by our nature and nurture; there are no absolute rights.

      Another absurd troll. Copyright law removes more or less all rights on the part of anyone except the copyright holder. A license is a way for the copyright holder to grant some rights to others. It is their choice which rights they wish to grant and under what terms. If they decide to use the GPL, then they are issuing you with various rights in exchange for your agreement to use the GPL in any work you do that is related to their work in some specific, enumerated ways. If you don't wish to follow this agreement, they transfer no rights to you, and you may not legally use their work at all. If you do agree to their agreement, then you can use their work. The GPL hasn't given or taken or away any rights - the copyright holder has used the GPL to detail under what terms you have permission to use their work in ways that would otherwise violate copyright law. The copyright holder giveth, the copyright holder taketh away - thats the law. The GPL is just a particular codification of their conditions for you having some rights to their work.

    45. Re:lawyers by flossie · · Score: 2
      Aha... so the GPL is not viral as long as you are not using the GPL.

      Exactly. The GPL does not affect you in any way unless you choose to distribute software under the rights granted by the GPL.

      no combination of the above statements will prove the OP's contention, which is that copyright is viral (and the GPL is not).

      True, however the GPL has no inherent virulence other than that which is derived from copyright.

      If society gives you the "right" not to be murdered, it impinges on my "right" to murder you.
      Getting a little silly now. You are talking about mutually exclusive events, to be murdered or not. GPL is about an author, who has rights under copyright law, giving other people rights to distribute their work (under certain conditions). This does not remove any of your rights (you didn't have any distribution rights beforehand) and it also does not remove any of the original author's rights; he (or she) still retains full copyrights. Rights have been granted, none have been lost. I repeat: The GPL gives rights; it does not take any away.
    46. Re:lawyers by paulbd · · Score: 2

      Let's say that I publish a scholarly essay in which I quote from another work without permission (under fair use). Then I later rewrite the essay as a novella, without using the quote. Are you saying that the author of the quote could somehow block publication of my novella?BS.

      if you write a program in which you use GPL'ed code in an unpermitted fashion, you are free to remove the GPL'ed code from your program, and continue to sell/distribute it, as long as your own work is not a derivative, which may require a court to decide upon.

      just as fair use permits quoting under certain specific conditions, the GPL allows you to use existing work under certain specific conditions. If you don't follow the conditions, you can't use the work. its very simple.

      you seem to be under the misapprehension that the GPL can force you to adopt the GPL for your own work. it cannot. all it does is force you to use the GPL for your work IF AND ONLY IF you choose to use work by another person licensed under the GPL. if you do not use such work, or you cease using such work in a way that leaves your own work as a non-derivative, then you are under no obligation to use the GPL for your own work. the author made a trade with you: their work under the GPL in exchange for your work under the GPL. you don't like it? then don't use their work.

    47. Re:lawyers by Electrum · · Score: 2

      The court isn't going to come along and say; hey you distributed your binaries with Linux, they are obviously now GPL'd, so hand over the code.

      By distributing binaries from code mixed with GPL, you've agreed to the terms of the GPL. Opening up your sources may be the only way to keep the other copyright holder(s) from suing you. What would really happen is up to the courts to decide, as there have been no precedent setting cases.

      Do you want to take the chance that the court would force you to open up your code? Most companies wouldn't.

    48. Re:lawyers by Anonymous Coward · · Score: 0

      Viral? The GPL works like a condom; it keeps YOU from being infected by someone elses mal-function(in this case, code).

    49. Re:lawyers by Mr+Z · · Score: 1

      Clarify what you mean by 'use.' You can run a program that is licensed under the GPL without running afoul of any of GPL's terms. You can run it however you like, providing whatever input you like, and so on. You can delete it. You can reverse the contents of all its files. You can pipe it through a GIMP filter to make desktop wall paper.

      You cannot, however, redistribute a GPL or GPL-derived work without adhering to the terms of the GPL. That's a very narrow, but important subset of "use."

      GPL is viral only in the sense that you cannot annex or incorporate GPL-licensed code into a non-GPL application and redistribute the result under a license that is not GPL compatible. What's interesting to note is that you can't even place the combined result into the Public Domain (since the GPL'd portion would lose its GPL license). (You can, of course, place your diffs in the public domain though.)

      --Joe
    50. Re:lawyers by cpt+kangarooski · · Score: 1

      It seems that you didn't read my post that carefully, since I explictly stated "by permission or via fair use".

      Well a) Fair use is a defense to infringement. In order to claim it you necessarily must have already infringed. b) The GPL does allow you to use existing material by permission. But where some people would only grant permission for a fee, or would grant it as a gift, authors of works released under the GPL grant it on condition that you do the same for your work. You might find the price too high, but the general notion of asking a price for permission is not, I think, being attacked by anyone.

      Outside of the cases where 1) there is no infringement, 2) there would be an infringement but permission is given, or 3) there is an infringement but it is defensible -- my point stands. The use of even a small portion of someone else's work is infringement.

      Check out the case with Gerald Ford's memoirs.

      These fair-use/anti-copyright rants always seem to have a back story that is conveniently glossed over.

      Uh... I cited the case with Ford's memoirs to point out just how little need be taken in order to constitute infringement. At no time during my post did I ever argue against copyright. In fact, if it's done properly, I'm very fond of copyright, and I believe that it can be of great benefit.

      Let's say that I publish a scholarly essay in which I quote from another work without permission (under fair use). Then I later rewrite the essay as a novella, without using the quote. Are you saying that the author of the quote could somehow block publication of my novella? BS

      No, because it is defensible. And if you wrote code that intermingled with GPLed code under, RATHER than the GPL, Fair Use instead, the situation would be the same. In fact, you wouldn't even need to remove the included code.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    51. Re: lawyers by nathanh · · Score: 2
      The GPL isn't viral; it's hereditary.

      I really like this statement. It's the ideal comeback against claims that the "GPL is viral". The GPL only affects derivative works and "hereditary" describes that perfectly.

      For any license to be viral it would have to infect unrelated third party software. The GPL doesn't do that. You must first intentionally "have sex" with a GPL'd product (using an editor and a compiler!) before the GPL spreads. Even then only the direct descendant of the software is affected.

    52. Re:lawyers by tireg · · Score: 0

      "all your IP are ours"

      Don't you mean... "All your IP are belong to US?"

    53. Re:lawyers by Anonymous Coward · · Score: 0

      by viral, they mean communicable, and if you look at the rhetoric about the AIDS "epidemic", it gives you insight on what is considered contagious these days.

    54. Re:lawyers by God!+Awful · · Score: 2


      Gotta stop those suppressive anti-GPL thoughts from getting out.

      Nothing of the sort. I respect alternate views,

      Yeah, but you're clearly not a moderator in this thread. Otherwise, explain how Zeinfeld got modded as troll for his post above.

      The problem is that there are people (like the "tripe" guy, above) who aren't thinking about the relative merits of X or Y, but just absolutely taking a stance of the GPL being evil.

      Pardon? I never said anything about the GPL being evil. I just said that it was viral, and that the OP who said it wasn't viral is full of crap. Are you equating "viral" with "evil"? People keep replying to me as though I was saying that the GPL was evil and I keep trying to steer the conversation back to viral. Go back and look at my earlier post and tell me where I said the GPL was evil.

      The GPL is an optional license, and as such, it's no more viral than you want it to be. Don't want to be bound by it's terms?

      Okay, fine. If you want to mince words then I admit it: The GPL is only viral if you try to sell or publish software. Pretty much all the people who have called it viral represent companies that sell software.

      -a
    55. Re:lawyers by Anonymous Coward · · Score: 0

      no.

      Copyright is a contract between an author and a another party, granting (SURPRISE!) the "right" to "copy" their work.

      In 1976, unclear wording of a copyright bill which clarified that the author retains ownership of a work without an explicit copyright declaration has led to the mistaken belief that there is some contract between society and the Walt Disney corporation that balances freedom and New York Stock Exchange profits to allow us to purchase music recorded on Compact Discs.

      Copyright as listed in the constitution is a protection of author's rights against publishers. Patents are an exclusive license granted by the government, which acts as the "publisher" so that others may learn the technology. You can invent something and keep it secret, but "to promote the useful arts and sciences", the constitution grants a patent to encourage you to share your invention. A copyright contract between an author and publisher is not the same thing.

    56. Re:lawyers by duffbeer703 · · Score: 2

      Richard Stallman has repeatedly stated that he finds our concept of intellectual property repugnant and that he seeks to defeat the defeat of the IP/copyright system. One weapon to accomplish this is the GPL.

      Read some of the rants published by the FSF.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    57. Re:lawyers by God!+Awful · · Score: 2


      if you write a program in which you use GPL'ed code in an unpermitted fashion, you are free to remove the GPL'ed code from your program, and continue to sell/distribute it, as long as your own work is not a derivative, which may require a court to decide upon.

      Of course that's true, but you ignore the whole reason why a company might not want to release their code under the GPL, which is that they don't want to give other people rights to their code. The GPL is viral because it infects another program's license and forces the copyright owner to relinquish his right to keep the code secret and proprietary. The GPL may not be viral in every conceivable manner, but it is viral in this one important aspect.

      you seem to be under the misapprehension that the GPL can force you to adopt the GPL for your own work. it cannot. all it does is force you to use the GPL for your work IF AND ONLY IF you choose to use work by another person licensed under the GPL.

      I'm not under that miconception (although "force" is a loaded term). I simply said that the GPL is a viral license. The flu is a virus. You can avoid getting the flu by locking yourself in the basement during flu season, but that doesn't make the flu any less of a virus.

      -a

    58. Re:lawyers by God!+Awful · · Score: 2


      Well a) Fair use is a defense to infringement. In order to claim it you necessarily must have already infringed.

      I see you like to argue semantics.

      The GPL does allow you to use existing material by permission. But where some people would only grant permission for a fee, or would grant it as a gift, authors of works released under the GPL grant it on condition that you do the same for your work.

      In other words:
      - It is possible for a copyright owner to grant permission to cite a work on the condition of viral licensing, however this is not typical.
      - GPL'ed work is copyrighted and must be licensed virally.

      So you see: the two cases are different. One is a subset of the other.

      Uh... I cited the case with Ford's memoirs to point out just how little need be taken in order to constitute infringement. At no time during my post did I ever argue against copyright.

      Whatever. That's not the point. The point is that, just as in all the fair-use and anti-copyright rants on slashdot, the example you cite is an edge case rather than a typical one. The ethics of quoting a stolen manuscript are questionable to say the least.

      And if you wrote code that intermingled with GPLed code under, RATHER than the GPL, Fair Use instead, the situation would be the same.

      No, it's not the same. The difference is that when I publish an essay that quotes a copyrighted work, I still retain control of what others can do with the 90% of the essay that I still own. When I am forced to release my code under the GPL, I may be able to assemble a non-GPL'ed version, but the genie is already out of the bottle and I can't control what others do with my code anymore. This makes a huge difference to anyone who is still pursuing traditional software business models.

      -a

    59. Re:lawyers by cpt+kangarooski · · Score: 1

      I see you like to argue semantics

      Well, to me there is a big difference between an element of the prima face case, and a defense. Besides, what's wrong with semantics? If we're talking about law, bigger issues than this have hinged on finer points. Lawyers love arguing semantics.

      In other words:
      - It is possible for a copyright owner to grant permission to cite a work on the condition of viral licensing, however this is not typical.
      - GPL'ed work is copyrighted and must be licensed virally.

      So you see: the two cases are different. One is a subset of the other.


      That one is a subset of the other doesn't make them different in a meaningful way for this analysis, however. Particularly as it should be noted that GPLed works are atypical anyway, and thus neatly fall within your 'not typical' language above.

      Remember -- you said that using a work under the GPL was different than using the work "by permission or fair use." You have just admitted that that prior statement was wrong, by agreeing that the GPL is within the set of works used where "a copyright owner [grants] permission."

      Whatever other differences there may be, I think we've resolved this point given how you offered it originally.

      The point is that, just as in all the fair-use and anti-copyright rants on slashdot, the example you cite is an edge case rather than a typical one. The ethics of quoting a stolen manuscript are questionable to say the least.

      No, that case is a typical one. Hell, it regularly appears in IP textbooks. Furthermore, it is a case that is AGAINST fair use -- Time was found to have infringed and was unable to offer a defense. Time _lost_.

      As for ethics, this is a rare case where I would agree that ethical concerns are implicated. You're right; it was unethical. However in almost all copyright matters I find that infringers are acting ethically. This doesn't mean that I think they should uniformly get away with it, only that I base my position on utility, and not on ethics.

      No, it's not the same. The difference is that when I publish an essay that quotes a copyrighted work, I still retain control of what others can do with the 90% of the essay that I still own. When I am forced to release my code under the GPL, I may be able to assemble a non-GPL'ed version, but the genie is already out of the bottle and I can't control what others do with my code anymore. This makes a huge difference to anyone who is still pursuing traditional software business models.

      No, no....

      When you publish an essay that quotes a copyrighted work, you have comitted infringement. If that infringement is not judicially resolvable, with permission, or defensible e.g. under fair use, then you're fine. If it is not, then you are liable for having done so and may wind up not being able to publish your work at all, depending on the precise specifics.

      LIKEWISE, if you use GPLed code under, say, the auspices of fair use, you do not have to agree to the GPL in order to do so. If you can manage to do so in a way that cannot be pursued, you can avoid the GPL. If you do so with permission via a source other than the GPL e.g. parallel licensing from the copyright holder, you can avoid the GPL.

      Only where you resort to obtaining permission VIA the GPL are you bound by the GPL.

      Perhaps we need to strengthen fair use, or shorten copyright terms or something so that more alternatives to the GPL for any given GPLed work are available. I would not especially be against this if the proposal were well-crafted.

      However, remember: no one made you have to seek out _that_ particular work, nor infringe upon it in the first place.

      If GPLed software is that dangerous to you, and you are unable to use it by any other means, then I suggest that you simply don't use it.

      Hardly anyone* runs around and says that they want to write their own version of Windows and that MS should be compelled to give them the source code so as to do this. No one would complain if MS required a huge cash payment to do so, or refused outright.

      Why is GPLed software considered to be so special?

      * n.b. that I actually think that we need to mandate source disclosure as a condition of copyright, but I have not seen very many people independently arrive at this conclusion, despite several people agreeing with me to one extent or another.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    60. Re:lawyers by God!+Awful · · Score: 2


      I repeat: The GPL gives rights; it does not take any away.

      Not true. It takes away the right of the author:
      - to keep his source code secret.
      - to limit the distribution of his work.
      - to pursue a traditional software business model.

      Getting a little silly now. You are talking about mutually exclusive events, to be murdered or not.

      Fine, so it's an exagerated example, but many rights are mutually exclusive. The right of the consumer to copy a program conflicts with the right of the author to control the distribution of his creation.

      BTW, there are many species of animal that don't see murder as wrong (and there are also some human cultures). My point was that there is no such thing as an inherent right. Which rights you consider important is a personal or cultural matter.

      -a

    61. Re:lawyers by God!+Awful · · Score: 2


      Besides, what's wrong with semantics? If we're talking about law, bigger issues than this have hinged on finer points. Lawyers love arguing semantics.

      I don't particularly like semantics. I would say if there's one thing in particular that's wrong with the legal system, it's too much focus on semantics. I also don't like the way posters on /. like to pick apart a perfectly valid argument based on an irrelevant technicality.

      That one is a subset of the other doesn't make them different in a meaningful way for this analysis, however. Particularly as it should be noted that GPLed works are atypical anyway, and thus neatly fall within your 'not typical' language above.

      I think it does make a difference. My entire reason for starting this thread was to refute the OP's claim that the GPL is not a viral license. (No, I wasn't planning to get drawn into a pro-GPL debate where I get called a troll every 5 seconds.) Yes, copyright allows for viral licenses, but pretty much no one ever used them until the GPL came along. So I would say that there is a big difference between regular copyright and GPL.

      Remember -- you said that using a work under the GPL was different than using the work "by permission or fair use." You have just admitted that that prior statement was wrong, by agreeing that the GPL is within the set of works used where "a copyright owner [grants] permission."

      If your intent was to ensnare me in some kind of semantic trap by focusing on what I say rather than what I mean, then fine: you win. I still think it's relevant that if you exclude the GPL (and modern variations), 99% of copyright use by permission would be on non-viral terms.

      No, that case is a typical one. Hell, it regularly appears in IP textbooks. Furthermore, it is a case that is AGAINST fair use -- Time was found to have infringed and was unable to offer a defense. Time _lost_.

      I can't claim prior knowledge about this case, but I looked it up and you don't seem to remember the facts very well. It wasn't Time that got sued, it was The Nation. The courts gave four reasons for the decision, most notably that the quotes were taken from a stolen manuscript and that this caused financial damage to Time (who passed it on to Harper & Row). I recommend this excellent summary. The Nation acted unethically and they lost the case.

      BTW, cases that are taught in law school are often "landmark decisions" rather than typical cases.

      When you publish an essay that quotes a copyrighted work, you have comitted infringement. If that infringement is not judicially resolvable, with permission, or defensible e.g. under fair use, then you're fine.

      Yippee, another semantic argument. I couldn't find any evidence to support your claim that fair use is still officially considered infringement or not. To me, it's about as exciting as arguing whether justifiable homocide is murder or not.

      However, remember: no one made you have to seek out _that_ particular work, nor infringe upon it in the first place.

      No comment... this is too much of a rathole.

      If GPLed software is that dangerous to you, and you are unable to use it by any other means, then I suggest that you simply don't use it.

      I don't know where you got the idea that GPL'ed software is dangerous to me; I use it all the time. I merely said that it was a viral license. The GPL is dangerous to my career, but I'm not going to solve that problem by refusing to use it. I merely use GPL'ed software without contributing anything back, which I am perfectly entitled to do under the license.

      -a

    62. Re:lawyers by God!+Awful · · Score: 2

      I don't usually reply to people who call me a troll. Calling someone a troll just because they have an unpopular opinion on /. (which is typically the majority opinion in the real world) is way more ridiculous than calling them an idiot. However, I might as well reply, since I can debunk your argument in a mere two sentences.

      The license allows the copyright holder to grant some rights to others, and also to take some away. The fact that the license is entered into voluntarily doesn't negate this fact; when you accept the terms of the GPL you are granted some new rights, but the license also strips some of your existing rights.

      -a

    63. Re:lawyers by Znork · · Score: 2

      You cant place any combined copyrighted software into the public domain unless you own the copyright. You cant do it with GPL code, you cant do it with BSD code, you cant do it with MIT-X11 code.

      The GPL isnt any more viral than any other copyrighted code. It's just that the GPL places some restrictions on what you can do with the GPL code.

      Like you say, you can place your part of the combined code in the public domain tho, so it's possible for someone else to lift your code out of the combined code and include it and distribute it in whatever way they want. The GPL code remains under the GPL tho, just as BSD code would, or Microsofts or anyone elses copyrighted code.

    64. Re:lawyers by Znork · · Score: 2

      "Not true. It takes away the right of the author:
      - to keep his source code secret."

      No it doesnt. He can keep his source code secret all he wants. He just isnt allowed to distribute the GPL code if he does. If he feels like distributing his own binaries without the GPL code he can go right ahead.

      "- to limit the distribution of his work."

      He can do whatever he wants with his own work. The GPL only affects the GPL code.

      - to pursue a traditional software business model."

      Again, he's free to do whatever he wants. The GPL affects the GPL part of the code (and only in case he does not own the copyright to it), not the code the author has written himself.

      The GPL only gives rights. It grants the right to distribute the GPL code if you fulfill certain conditions. Copyright is what restricts rights; if you take code out of Solaris or Windows you hardly get rights to distribute those just because your code depends on the code you took.

    65. Re:lawyers by sjames · · Score: 2

      but when MS calls the GPL a viral license that is not what they mean

      Of course, MS suffers from a disease of logic known as 'marketing'

      MS convieniantly leaves out the fact that while the GPL is 'viral', their license is Ebola or worse.

      Just imagine how quickly a company would hemmorage to a horrible messy death by legal fees (even Ebola doesn't totally liquidate your body) if they incorperated MS source code in their product!

      The only 'protection' from that 100% fatal disease is the fact that MS keeps the source strictly quarentined in the software equivilant of a hot lab. The disease is so virulant that some have died just by looking at it (consider how many of MS's 'partners' have passed away).

      In comparison, the GPL 'virus' is more like the sniffles.

    66. Re:lawyers by sjames · · Score: 2

      The fact is, copyright is not inherently viral:

      Copyright is too ubiquitous to be considered merely viral. No sooner do my fingers type these words than they 'catch' the copyright disease. The only way to prevent this is to explicitly dedicate the words to the public domain.

      On the other hand, the only way my code becomes GPL is for it to deliberatly mate with other GPL software or if I deliberatly declare it to be GPL. Of course, having GPL does innoculate it against the worst symptoms of the copyright disease (sorta like cowpox innoculates against smallpox).

    67. Re:lawyers by sjames · · Score: 2

      You're leaving out a very important point: The author is the one who decides to use GPL, and so it is the author who 'takes' these rights from himself.

      As for incorperating GPL code into your proprietary software, that would be theft on your part unless you either abide by the GPL, or negotiate an alternate license with the author.

      In other words, if you want to live in the GPL world where you don't have to sign agreements in blood and fork over wads of cash, you need to live by the GPL's rules. If you want to live in the proprietary world, live by it's rules.

    68. Re: lawyers by kn64 · · Score: 1

      I can see your point, and hereditary does seem a more fitting description, however viral still seems valid, as I'm sure you're aware virus's generally have a specific group of entity's that they affect, and don't affect unrelated entity's.

      eg. A virus for Windows generally does not infect Linux binaries. And a virus that affects a human doesn't generally affect trees.

    69. Re:lawyers by mpe · · Score: 2

      NONE of the kernel developers will be able (or even willing) to assist you, because you're dealing with closed source module that will taint the kernel. They cannot help you because they simply cannot see what your driver does, i.e. see the source code.

      Considering that the point of a driver is to enable hardware to work, what exactly do you lose by letting people know how to interface with your hardware? Anyone who really wants to know can pull your driver apart with a disassembler anyway.

      In NVidia's case, this have gone tolerably, although many developers aren't happy with their closed source release, but I guess there are some neat tricks they don't want to share with ATI and others.

      If there are "neat tricks" in the software driver then ATI, etc can simply look at the NVidia drivers. If they copied them you'd just end up with two parties arguing over who broke who's EULA.
      Does it actually make sense to consider how to interface a certain piece of hardware (possibly including uploading firmware) proprietary information? Especially since the entities involved are selling then hardware.

    70. Re:lawyers by mpe · · Score: 2

      What is MS comparing that to? Building everything from scratch with MS tools?

      In some cases using Microsoft's development tools means that you can't use any copyright licence you like. If anything these Microsoft licences are "viral".

    71. Re:lawyers by mpe · · Score: 2

      If you copy with permission other than the GPL, no problem. If you copy under fair use, also no problem. The GPL only applies if permission and fair use do not apply.

      Without the GPL your use would be copyright infringement ("software piracy"). Copyright law says that in the absence of permission you have no more right to copy parts of an open source program than you have to copy bits out of a novel or magazine.
      What the GPL does is grant you conditional permission to distribute copyright software and works derived from that copyright software.
      The conditions are that if you distribute binaries then you must also make sources available and that any parts you add to create a derived work (regardless of if you or the author of the code you are modifying hold the copyright on the modifications) must be subject to a GPL compatable copyright licence.
      There is no "infection" having to use the GPL for your own code is the price you pay for having access to a huge library of GPL code. Most likely using the GPL code saves you the money and time you'd need to write an entire whatever from scratch. This saving can often be considerably more than you could have ever hoped to have made than by selling licences to a piece of proprietary software
      When it comes to drivers what are you actually selling? A piece of hardware or software to interface it? If you supplied interface specs and an open source driver (maybe not even an especially good one) then you'd have a bigger potential market for your hardware. Without the expense of having to write and update drivers for platforms you possibly don't even known exist.

    72. Re:lawyers by God!+Awful · · Score: 2


      You're leaving out a very important point: The author is the one who decides to use GPL, and so it is the author who 'takes' these rights from himself.

      Oh, by all means. But it is also common to speak of a law or contract that takes away rights. How many Slashdotters complain about the evil DMCA that takes away their rights (as opposed to the evil legislators that enacted the DMCA...).

      Lots of laws/contracts restrict your rights, but the GPL tries to claim that it is immune and it only grants rights. Sorry, but that is not true. Just like any other contract the GPL grants rights to some by taking from others.

      -a

    73. Re:lawyers by mpe · · Score: 2

      Not true. It takes away the right of the author:
      - to keep his source code secret.


      The GPL only does this if the software author creates a piece of software derived from GPL code. If they want to keep their source secret then they can either write the thing from scratch or licence code which allows them to keep the source secret. Both of which could easily cost them considerably more than using code from the GPL library.


      - to limit the distribution of his work.

      The GPL says nothing to either encourage or discourage distribution of software. Nor does copyright law for that matter, it simply prevents you copying works, once you have sold a copy the doctorine of first sale applies.

      - to pursue a traditional software business model.

      The traditional software business model is you contract someone to build a system to do something which makes makes your business work better. Either according to your on spec or as worked out by a systems analyst. GPL software can benefit both customer and contractor here.

    74. Re:lawyers by God!+Awful · · Score: 2

      Okay, let me restate an assumption: the GPL only restricts your rights if you use it. I'm not saying that the GPL limits your rights by its very existence (note that it does not grant rights just by existing either). But once you agree to its terms, your rights are limited in perpetuity.

      Once you distribute your software under the GPL you lose the rights I mentioned above. Most notably, you can no longer restrict the distribution of your work. Yes, you can still distribute your work under a different license, but anyone who wants to can still get the GPL'ed version, so you have lost control.

      The GPL is a contract, just like any other. And like many contracts, it gives rights and it takes others away. It differs from most contracts because it has a viral nature. I don't know why so many GPL advocates are unwilling to admit this. The constant claims that a) the GPL is not viral, and b) the GPL does not restrict any rights are merely FUD.

      -a

    75. Re:lawyers by God!+Awful · · Score: 2


      There is no "infection"
      having to use the GPL for your own code is the price you pay for having access to a huge library of GPL code.

      You're not proving anything. The infection *is* the price.

      -a

    76. Re:lawyers by God!+Awful · · Score: 2


      Copyright is too ubiquitous to be considered merely viral. No sooner do my fingers type these words than they 'catch' the copyright disease. The only way to prevent this is to explicitly dedicate the words to the public domain.

      So what you're saying is that your definition of "viral licensing" is better than the standard one...

      Face it, if you want to communicate with people you have to use their terminology. I could go around on Slashdot posting comments using my own private definition of what it means for software to be "free" or "open", but I would only get flamed.

      Copyright may be omni-present, but this does not make it a viral license, under the commonly accepted definition.

      -a

    77. Re:lawyers by mpe · · Score: 2

      You're leaving out a very important point: The author is the one who decides to use GPL, and so it is the author who 'takes' these rights from himself.

      The author had a free choice about using GPL code or not.

      As for incorperating GPL code into your proprietary software, that would be theft on your part unless you either abide by the GPL, or negotiate an alternate license with the author.

      Actually "copyright infringement" which isn't the same thing, however much the large media companies might like it to be.

    78. Re:lawyers by mpe · · Score: 2

      The point is: without a license of some sort, you have NO permission to use the existing work in any way, not to copy, not to quote, not to use to derive new work from.

      The only way would be to claim "fair use", but if you were using the copyright material directly in a commercial product that probably wouldn't hold up.

    79. Re:lawyers by mpe · · Score: 2

      authors of works released under the GPL grant it on condition that you do the same for your work. You might find the price too high,

      Against this would be what is the likely value of the code you have produced, possibly not that much on its own (especially in the case of a driver) and what it would cost you to use (including writing from scratch) non GPL code for the rest of your program.

    80. Re:lawyers by mpe · · Score: 2

      Of course that's true, but you ignore the whole reason why a company might not want to release their code under the GPL, which is that they don't want to give other people rights to their code.

      The situation would only happen if they wanted to incorporate GPL code, most likely to cut their own development times and costs, in the first place. (N.B. they can freely use any GPL licenced software which functions as a "tool" without any licencing issues.)
      If they don't like the "price" of using GPL code in their software product, then they can alternativly write the whole thing from scratch, licence some proprietary code or get in contact with the author(s) of the GPL code they want to use.
      Though to be honest considering driver code to be "valuable" looks more like some dogma about proprietary software being universally good than anything else.

    81. Re:lawyers by Anonymous+Canard · · Score: 1
      By distributing binaries from code mixed with GPL, you've agreed to the terms of the GPL. Opening up your sources may be the only way to keep the other copyright holder(s) from suing you. What would really happen is up to the courts to decide, as there have been no precedent setting cases.

      This is basic contract law. By implication you agreed to be bound by the GPL when distributing GPL source code; and then you failed to meet the requirements of the contract. The contract cancellation clauses come in to effect at this point, and they prohibit you from any further distribution of any GPL'd code. There is no mechanism in the GPL for forfeiture of property rights. If you decide voluntarily to GPL your own sources so that you are again in compliance with the GPL then that is your choice, but is not required by any contract language in the GPL.

      The only thing you've lost is the ability to distribute GPL'd code, but since you really never had that right in the first place without complying with the GPL, you have really lost nothing at all.

      The worst case scenario is that you never saw or agreed to the GPL, but decided to copy the program anyway even though you were aware that it was covered by copyright. In that case you could have to forfeit the statutory copyright violation fines as well as court and lawyers fees. So far all companies violating the GPL have recognized the folly of this approach and have either voluntarily stopped distributing GPL'd software, or have voluntarily open sourced the software that put them in non-compliance with the GPL.

      --

      --
      BitTorrent in C -- LibBT
      http://www.sf.net/projects/libbt
    82. Re:lawyers by paulbd · · Score: 2

      The license allows the copyright holder to grant some rights to others, and also to take some away. The fact that the license is entered into voluntarily doesn't negate this fact; when you accept the terms of the GPL you are granted some new rights, but the license also strips some of your existing rights.

      The license does not permit the removal of rights from the grantee. Before the license is issued, the would-be grantee has no rights except for fair use. After the license is issue, the grantee has rights to use a copyright work subject to conditions imposed by the grantor.

      If the grantee believes that her rights have been removed because they now have to release their own derivative work under the GPL, they have a very simple remedy: stop using the original copyright work. I don't think that you could find a court in the country, including the court of public opinion, that would hold that me giving you use of my copyright work in exchange for an agreement from you that you release your own work in the same way has "stripped away some rights". You have gained a new right, and agreed to follow certain practices. If you change your mind about that agreement, you lose the new right i gave you, but there nothing is nothing i can do to stop you from backing out of the agreement. its just that when you do, you have no rights (except fair use) to my copyright work in any way. your choice.

    83. Re:lawyers by sjames · · Score: 2

      How many Slashdotters complain about the evil DMCA that takes away their rights

      Had I enacted the DMCA against myself, I would have no room to complain about it. That is not the case.

    84. Re:lawyers by sjames · · Score: 2

      So what you're saying is that your definition of "viral licensing" is better than the standard one...

      You will note upon re-reading that I did not claim copyright to be viral. I said it is beyond viral.

      In fact, I stated that it's ubiquity makes viral a poor description of it. It would seem you want me to compare and contrast without trying the various descriptions on for size or speaking about one in contrast with another!

    85. Re:lawyers by mpe · · Score: 1

      You're not proving anything. The infection *is* the price.

      By this kind of reasoning banks and stock exchanges should be considered bio-warfare factories :)

    86. Re:lawyers by ajs · · Score: 2

      Okay, fine. If you want to mince words then I admit it: The GPL is only viral if you try to sell or publish software. Pretty much all the people who have called it viral represent companies that sell software.

      And do those people acknowledge that the MIT/X license, the MPL, the Artistic license, the BSD license, the GPL and every other license that doesn't start off with "you don't own this, we do, screw you" is exactly the same in this respect?

      The point I'm making is that the license is not viral. Copyright law sets up the propagation rules.

      You don't have a problem with the propagation, you have a problem withe the license. You don't like the fact that the license requires of you a set of behaviors that are incompatible with a certain business model.

      That's cool. I understand. That's not in any way whatsoever viral. Restrictive, yes. The GPL is restrictive. It constrains you to either a non-business mode or a business-mode in which you do not rely on secrecy and restraint of distribution for profit.

      If those two things are in your plan, you have a plan that is not compatible with the GPL. If getting source is in your plan, you have a plan that is incompatible with most proprietary software. If you have a plan that is not compatible with keeping the copyright/license notice intact in the source, your plan is incompatible with the BSD and MIT/X license.

      These are incompatibilities of business plans. They happen all over every industry. A lot of the GPL-oriented businesses are banking on the idea that their business models are not only compatible with the GPL, but that they can change the way a lot of people deal with software. You don't have to be one of those businesses.

    87. Re: lawyers by isorox · · Score: 2

      You must first intentionally "have sex" with a GPL'd product (using an editor and a compiler!)

      If you type with gloves on are you safe?

  2. Re:Great! by Dalcius · · Score: 1, Offtopic

    Cue 10,001 Slashdot folks ANL posts... :)

    --
    ~Dalcius
    Rome wasn't burnt in a day.
  3. Linus allows an exception for device drivers by LordNimon · · Score: 5, Informative
    You may need to dig up the reference from some mailing list archive, but Linus Torvalds himself has said that he will allow binary-only drivers, as long as they're loadable modules, to be distributed.

    It all boils down to the concept of "derivative work". Is a device driver a derivative work of the kernel? My opinion is no, but only the courts can truly answer that question, and no one has asked them yet.

    --
    And the men who hold high places must be the ones who start
    To mold a new reality... closer to the heart
    1. Re:Linus allows an exception for device drivers by Anonymous Coward · · Score: 0

      Didn't Linus recently just say in the lkml that he DID NOT make any exemption for binary drivers, that the module interface WAS NOT published, and therefore that modules derived from the unpublished module interface MUST conform to the GPL? That seems to contradict what you have just said.

      Sorry, I don't have time to dig up the links, but I know it was published recently on either /. or newsforge.

    2. Re:Linus allows an exception for device drivers by ch-chuck · · Score: 5, Informative

      One example of this was the Proxim RangeLAN wireless drivers - the author Dave Komacke works at Proxim, and was able to distribute a binary-only module for Linux. Worked fine for me. Web Page here.

      --
      try { do() || do_not(); } catch (JediException err) { yoda(err); }
    3. Re:Linus allows an exception for device drivers by strredwolf · · Score: 5, Informative

      The Linux Kernel Mailing List has a FAQ on such drivers (including NVIDIA). I think it's question #19 where you can access the actual posts.

      --

      --
      # Canmephians for a better Linux Kernel
      $Stalag99{"URL"}="http://stalag99.net";
    4. Re:Linus allows an exception for device drivers by jaa · · Score: 2, Interesting

      GCOM's whitepaper captures part of this response.

      --

      Never meant half of the things I said to you. So you know, there's a half that might be true - G. Phillips

    5. Re:Linus allows an exception for device drivers by MrFredBloggs · · Score: 1

      Hey, it's embedded - who's gonna know? :)

    6. Re:Linus allows an exception for device drivers by wfrp01 · · Score: 5, Informative

      Linus Torvalds himself has said that he will allow binary-only drivers, as long as they're loadable modules, to be distributed.

      That's been a long standing supposition. However, lwn recently ran an article in which Linus' view on this matter doesn't seem to support this point of view:

      There is NOTHING in the kernel license that allows modules to be non-GPL'd. The _only_ thing that allows for non-GPL modules is copyright law, and in particular the "derived work" issue. A vendor who distributes non-GPL modules is _not_ protected by the module interface per se, and should feel very confident that they can show in a court of law that the code is not derived.

      and also

      The original binary-only modules were for things that were pre-existing works of code, ie drivers and filesystems ported from other operating systems, which thus could clearly be argued to not be derived works, and the original limited export table also acted somewhat as a barrier to show a level of distance.

      --

      --Lawrence Lessig for Congress!
    7. Re:Linus allows an exception for device drivers by budgenator · · Score: 2

      And you never know who will be behind the question. Some laywer could take a case on contingency, while getting significant behind the scenes support from an enemy of open-source software.

      It will not be up to Linus, it'll be between the distributer, reciever and what the courts and the lawyers come up with. GPL'd Embedded systems could be particualry sticky in court, it's probably easier to get a judge or jury to understand seperate files on a disk than on a rom file system.

      Maybe Demiurg's company sould consider one of the BSD OSes

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    8. Re:Linus allows an exception for device drivers by lembree · · Score: 1
      What Linus says only has a limited value at this point. As soon as Linus used the GPL for his kernel, he effectively gave up his rights to interpret the license. Any trust-fund kid with nothing better to do could go to court to argue to open up anyone's closed source driver.

      True, they couldn't get Linus to go along with such a pursuit, but it would be left to the court.

      How much weight the court gives to the intent of the original author is anyone's guess. It'd be further complicated because there are many, many kernel devos whose contributions are covered by that license. Does Linus speak for all of them too? Again, that'd be the court's decision.

      It's a hairball. But I agree, if Linus says so, it's OK. A court case to the contrary would be hard to win.

    9. Re:Linus allows an exception for device drivers by Anonymous Coward · · Score: 0

      Say you have a book.

      And you make notes in the margins.

      You own copyright on your notes, while the book's copyright is held by that author.

      You can distribute your notes, but not the book. Unless... Your notes make literary use of material you gathered out of the book. Character names, places, etc.

      The degree of "literary use" modules make of the kernel varies greatly. But, when you bind them all up into an embedded application you are distributing the notes+book combination, a derived work.

      The GPL doesn't allow re-distribution of such a derived work. The end-user can create such a thing, because they can always buy the book and your notes then merge the two as they please.

      I can see your lawyer's problem. You will be distributing a 'work' that was tainted by you, rather than the end-user. Indeed, from the sounds of it, the end-user couldn't gain enough access to your product to even try.

    10. Re:Linus allows an exception for device drivers by Anonymous Coward · · Score: 0
      Any trust-fund kid with nothing better to do could go to court to argue to open up anyone's closed source driver.


      And have the judge dismiss the claim with prejudice and award the defense treble attorney fees. Only the copyright holder can legitimately sue to enforce license terms. You are granted rights by the GPL, but the right to litigate over the license is not one of them.
    11. Re:Linus allows an exception for device drivers by OSSturi · · Score: 1

      ...as long as they're loadable modules...

      Cisco does this with their VPN-Client. You get a tarball with some source code for interfacing with the kernel and a binary part. You have to have your kernel sources installed in order to compile the whole thing as a module. If you then load the module you get a warning about the kernel being "tainted", meaning that there's some software with a different license.

    12. Re:Linus allows an exception for device drivers by JoeBuck · · Score: 2

      Since Linus does not require others to assign copyright to him, he does not have the power to grant an exception to the GPL on behalf of the other kernel authors.

      Also, in more recent messages Linus has backed off of his earlier statements; he's now saying that a binary-only driver might well be a GPL violation, depending on a number of rather fuzzy criteria.

    13. Re:Linus allows an exception for device drivers by OSSturi · · Score: 2, Insightful

      Oh, and I think that this could be a solution to your problem. Write your driver, compile it as a binary with your compiler that allows the use of it's libraries with proprietary products. Then write some interfacing code that probably has to be compiled with the kernel and makes things loadable as a module. Make the interfacing code free (GPL). The binary part with your valuable (?) driver code doesn't contain any GPL code for sure and interoperability with the kernel can be maintained by modifying the code layer inbetween the two.

    14. Re:Linus allows an exception for device drivers by 0x0d0a · · Score: 3, Insightful

      Two posts (parent and grandparent), neither of which links to any comments, which claim that a second person flatly contradicts himself. Lovely.

      Why the hell can't you people find links, anyway?

    15. Re:Linus allows an exception for device drivers by DunbarTheInept · · Score: 2
      A vendor who distributes non-GPL modules is _not_ protected by the module interface per se, and should feel very confident that they can show in a court of law that the code is not derived.
      That last statement proves that it IS possible to have your module not be GPL-infected. Otherwise there'd be no point to having to "feel very confident that they can shoud in a court of law that the code is not derived", since such a thing would be moot if the GPL (technically LGPL in this case) was "virally" infecting said code just by it's very presense somewhere near the kernel.
      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    16. Re:Linus allows an exception for device drivers by McFly777 · · Score: 1
      After reading the above post I finally 'get' what the AC was saying -- the embedded device will be distributing the kernal which is GPLed. However, IIRC, this is allowed by the GPL as long as the source is also available for the Kernal.

      Furthermore, as I understand the original question the driver in question could/would be loaded as a module. As such the appropriate kernal hooks would be added (and therefore need to be distributed) but until some rc.d script runs insmod the main code of the driver is definatly not part of the kernal and therefore could be kept binary only. Insmod then attaches the module to the waiting hooks, but the main module seems (IMHO) to still be a separate entity interacting with the Kernal.

      To go back to the book analogy, IMHO the driver would be like selling a book with a custom dust cover. (Assuming redristubuting the basic book underneath is legal, which in this case is allowed by the GPL)

      This is kinda like the argument of whether IE is "part" of windows 98. I think the sentiment of the courts was that since IE could be removed, despite what MS said, it was a separate product.


      Disclaimer: I can't claim any authority about this, this is just my read of things.

      --

      McFly777
      - - -
      "What do people mean when they say the computer went down on them?" -Marilyn Pittman
    17. Re:Linus allows an exception for device drivers by NeverNow · · Score: 1

      "Is a device driver a derivative work of the kernel? My opinion is no, but only the courts can truly answer that question" What a sad mindset. How do you expect a clueless old judge to anser this kind of question? Only someone with a deep understanding of the technical and conceptual issue can try to answer. The law is not the Truth.

    18. Re:Linus allows an exception for device drivers by Anonymous Coward · · Score: 0
      You may need to dig up the reference from some mailing list archive, but Linus Torvalds himself has said that he will allow binary-only drivers, as long as they're loadable modules, to be distributed.
      ``Linus Torvalds himself'' is not in a position to state anything of the sort, unless he owns the entirety of the copyright work. He does not. So, you will be vulnerable to anyone who wrote any code that is in the Linux kernel and wants to sue you for GPL infringement. Simple. This is, btw, why the GCC people require copyright assignment to contributions to gcc. It makes the legal situation much more tractable.
    19. Re:Linus allows an exception for device drivers by Anonymous Coward · · Score: 0

      oh yea, the Proxim RangeLAN... that POS is now a paperweight after a flash upgrade failed on the unit...

      i'll never buy a Proxim product again.

    20. Re:Linus allows an exception for device drivers by PlanetX+00 · · Score: 1

      There are a couple of problems you are going to have with developing any kernel modules (like a device driver) and the GPL. First, Linus has stated that you can use a loadable module and not need to have the driver GPL'ed. This is fine except Linus is not the only copyright owner in the Linux kernel so it may be beyond his legal rights to grant this exception. Second, future development of non-GPL modules could be restricted because of the introduction of GPL exported kernel symbols. These kernel symbols will available only to those modules that have been GPL'ed (by #defining that your module is GPL'ed) to access those kernel functions. Good news is that Linus has stated that no existing symbols will be changed.

    21. Re:Linus allows an exception for device drivers by PlanetX+00 · · Score: 1

      Nice try, but Linus has explicitly stated that this would not get around the GPL.

      See http://www.linuxdevices.com/articles/AT5041108431. html for a great article on Linus, the GPL, and kernel modules.

    22. Re:Linus allows an exception for device drivers by LordNimon · · Score: 1

      It's not a sad mindset, it's the way the US legal system works. You should have paid more attention in high school.

      --
      And the men who hold high places must be the ones who start
      To mold a new reality... closer to the heart
  4. Why necessarily slower in userland? by drinkypoo · · Score: 5, Informative

    Why is a userland driver on linux necessarily slower? Shouldn't a well-written user space driver at an appropriate priority level be just as fast as a kernel driver? And if not, why is this slow on linux but fast on some other operating systems, and what can be done to fix it?

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:Why necessarily slower in userland? by Anonymous Coward · · Score: 0

      Yes there can be a real penalty. Consider a driver that sits in the kernel with say a 1Mb buffer reserved somewhere. Also consider x86 arch. When the driver page faults the kernel page fault handler maps in the appropriate memory.

      Now do this in user space: when your driver page faults it causes the memory manager to be invoked which in turn can case the kernel page fault to be addressed. There's an extra layer of indirection.

      In some cases it matters, others not. Also, it's damn hard to do even soft real-time in userland.

    2. Re:Why necessarily slower in userland? by fadden · · Score: 1

      In some cases it's not about speed so much as about latency. If you have interrupts that must be serviced within a specific period of time, waiting for a user-mode process to wake up can be problematic.

      With the right set of kernel tweaks it can work, but if you're working with (say) an MPEG playback chip that's throwing interrupts constantly and requires lots of hand-holding, putting things into user mode can be a real problem.

      You also end up potentially exposing lots of registers to other user-mode processes, since you have to map the full set into user space. For some products this can pose a problem.

  5. Tried asking the FSF or lkml directly? by StandardDeviant · · Score: 5, Insightful

    Seems like you might get good info by directly talking to the FSF or linux kernel mailing list... I'm sure some people would piss and moan about binary this and proprietary that, but in the end I think you'd find more people eager to help expand linux's reach in an optimally efficient manner. IIRC the FSF's head legal eagle is a guy named Eben Moglen (there was something posted on /. just yesterday that involved his name, again IIRC.) Personally, although IANAL, making something available for public download from a website sounds pretty much like "distributing" something. True, the user has to decide to download it, but then again your users would have to decide to buy your particular widget (thus potentially getting the linux driver) also...

    1. Re:Tried asking the FSF or lkml directly? by cscx · · Score: 3, Funny

      I'm supposing all the FSF will tell him is that when he's done his company's gonna have to call it GNU/EmbeddedDevice.

    2. Re:Tried asking the FSF or lkml directly? by Anonymous Coward · · Score: 0

      Probably they'll just sing that lullabye at him.

      The one that has "you'll be free, hackers, you'll be free" that seems to be directed at about the sixth grade level.

    3. Re:Tried asking the FSF or lkml directly? by kscguru · · Score: 1
      An embedded device may be the one thing that WOULDN'T have to be called GNU/Linux...

      Because what GNU programs does an embedded device need? I'm pretty sure you're not loading a compiler onto it, nor a debugger, nor just about anything else...

      The only thing I can think of offhand that you would even use is glibc for userland programs. And I have a hunch most embedded devices don't use a whole lot of glibc - and could very easily be changed to another c library. The kernel doesn't use it... and for an embedded device, most of the interesting stuff will be in kernelspace anyway!

      --

      A witty [sig] proves nothing. --Voltaire

    4. Re:Tried asking the FSF or lkml directly? by greenrd · · Score: 2
      Seems like you might get good info by directly talking to the FSF

      They'll probably recommend that you release the driver as Free Software in the first instance.

      And why not? You've got to weigh things up here: is the puported competitive advantage gained by hoarding your source code more important than the loss of efficiency involved in writing a userspace driver?

    5. Re:Tried asking the FSF or lkml directly? by JoeBuck · · Score: 3, Informative

      The FSF will tell you, if you ask, that they believe that the GPL applies to all code that is designed to be linked into the same executable as GPL code, and that kernel modules appear to be linked into the same executable. But they will also tell you that they don't hold the copyright to the Linux kernel and that the copyright holders are the only people with the power to come after violators, or to grant exceptions.

    6. Re:Tried asking the FSF or lkml directly? by Anonymous Coward · · Score: 0

      Parent should not have been rated +5 funny, should have been rated +0 predictable

  6. Distribution Method by ShadowFlyP · · Score: 5, Insightful

    Nvidia and others do "distribute" binary-only drivers. Just because they don't actively send out CD's with their drivers does not mean they do not distribute them. Under the GPL both methods are concidered a distribution. As far as writing drivers, as long you use the driver module method and do not need to directly change any preexisting kernel code, I do not believe there is any problem at all. That is how Nvidia and others can get away with that.

    1. Re:Distribution Method by patbob · · Score: 1
      Not to mention that when you do load the Nvidia driver, your kernel is henceforth considered "tainted" by proprietary code. Therefore, there is an expectation of proprietary kernel mode drivers.

      Seems to me it might be worthwhile looking into the matter if your lawyer has an open mind and might be willing to change his recommendation based on new information. If not, don't waste your time and just do as the lawyer says to do, regardless of how little sense it makes.

      --
      Welcome to the net of 1000 lies. Upgrades are scheduled soon that should bring us to the 10,000 lies mark.
    2. Re:Distribution Method by scenic · · Score: 2
      Even more to the point, Dell preinstalls the NVidia driver one their preconfigured Linux boxes with NVidia video cards. We have one in the office, and it had the NVidia binary drivers installed.

      That's distribution by the poster's question.

      Sujal

      --

      politics, food, music, life: FatMixx

    3. Re:Distribution Method by Anonymous+Canard · · Score: 1
      No, NVidia get away with distributing their drivers by not distributing Linux. Distributing their drivers puts them out of compliance with the GPL, and thus they have no right to distribute Linux, but since their drivers aren't GPL'd, being out of compliance with the GPL doesn't affect their ability to distribute their own product.

      That doesn't work so well when the end result is an embedded product and the seller will have to distribute both Linux and the proprietary drivers at the same time.

      --

      --
      BitTorrent in C -- LibBT
      http://www.sf.net/projects/libbt
    4. Re:Distribution Method by kscguru · · Score: 1
      That "tainted" just gave me an idea... Now, someone correct me if I'm wrong, but

      I think the NVidia drivers get away with this because they are two parts: a kernel patch, and a separate copiled kernel module. The kernel patch IS a part of the kernel and so must be publicly released, blah blah blah, or you get toasted by the FSF - but the kernel patch is really just a bunch of hooks that let the binary driver interface with the kernel.

      So, the patch is just a publically available interface to the kernel. And the the kernel module is a module (which, if above posts are correct, Linus has blessed as not being subject to the same license as the kernel) which uses only published interfaces (so there's no longer any argument that it's linked directly to the kernel).

      The risk here is only that the patch gives away too many implementation details - but there also happens to be no requirements that you not obscure the workings of the interface (unfortunately).

      --

      A witty [sig] proves nothing. --Voltaire

    5. Re:Distribution Method by kscguru · · Score: 1
      Why did I just type that out? Someone posted a better version below...

      http://ask.slashdot.org/comments.pl?sid=44192&cid= 4599885

      --

      A witty [sig] proves nothing. --Voltaire

    6. Re:Distribution Method by Abcd1234 · · Score: 2

      Okay, this post made absolutely no sense. The whole idea of being "out of compliance with the GPL" is nonsense, completely. There is nothing stopping them from packaging Linux and their driver together and distributing them. The GPL, under which the Linux kernel is placed, states that if they distribute the Linux kernel, they have to provide source... for the kernel! Same goes for any other *GPL* covered software. Their code, however, is non-GPL... so they don't have to release source for that. As well, Linus himself has stated that binary drivers which are linked to the kernel do not "inherit" the GPL. Does that mean they can't package GPLd and non-GPLd code together? Of course not! Plenty of distributions have done this in the past (Redhat has demos of various closed source apps, IIRC, as part of the CD package). The GPL applies only to the code it's been applied to (along with derivative works, etc... and no, "derivative" does not include being packaged together on the same CD).

    7. Re:Distribution Method by sydb · · Score: 2

      No. If they have violated the GPL then the drivers must have been derived works of Linux (otherwise they wouldn't be in violation), therefore they couldn't distribute the drivers.

      If the drivers aren't derived works then they can distribute driver+Linux under the auspices of 'mere aggregation'.

      Not only that, if they were in violation of the Linux license then I think they couldn't use Linux to develop their proprietory driver.

      --
      Yours Sincerely, Michael.
    8. Re:Distribution Method by runderwo · · Score: 1
      if they were in violation of the Linux license then I think they couldn't use Linux to develop their proprietory driver.
      wrong, the GPL only places limitations on distribution, not on usage.
    9. Re:Distribution Method by morgue-ann · · Score: 1

      ...but what the heck does 'mere aggregation' mean in an embedded system???

      The GPL & FAQ are written assuming PCs & distros on tape or CD-ROM. On a CD containing Nvidia driver binaries and the Linux kernel, you can pull the differently-licensed pieces apart.

      What about an ROM containing some GPL code in binary form and proprietary closed-source code also in binary form, but the two parts are separately linked & one dynamically loads & links the other?

      The aggregation doesn't seem so "mere" anymore & is less easily reversed by end-users.

      What if the GPL binary is in a separate solid-state media (NAND Flash/Smartmedia soldered to the board) and loaded by the closed code running from ROM (NOR Flash)?

      What if the GPL is on removable solid-state media? ...if the interfaces are public ones?

      If you don't like the idea of the binaries sharing a single ROM, what about TiVo? There the binaries share a hard drive and the device is not a PC, so the aggregation is not easily reversible. TiVo provided hackers a backdoor, but was this just a bone thrown so we wouldn't look too hard at GPL compliance or does it really make the product compliant?

      [I'm not talking about TiVo's mods to the kernel, which they did release source for, but all the other code (drivers and application) which are closed source, but distributed with GPL'd code.]

      Inquiring minds want to know!

      -M

    10. Re:Distribution Method by sydb · · Score: 2

      The GPL places no restrictions on anything. It gives you rights. In particular, when you violate it, it's just as if you were never granted a license. The rights you have are then restricted by simple copyright law. You can't copy it.

      Whether this prevents you simply 'using' the copyrighted material I'm not sure; it may very well (can't copy from CD onto hard drive; can't copy from hard drive into memory).

      But even if you can 'use' (as an end-user) the copyrighted material in some way, how can you use it do develop a driver?

      And if you don't need Linux to develop the driver, then the driver is not a derived work and the question is void.

      --
      Yours Sincerely, Michael.
    11. Re:Distribution Method by Anonymous+Canard · · Score: 1
      Okay, this post made absolutely no sense. The whole idea of being "out of compliance with the GPL" is nonsense, completely. There is nothing stopping them from packaging Linux and their driver together and distributing them. The GPL, under which the Linux kernel is placed, states that if they distribute the Linux kernel, they have to provide source... for the kernel!

      Actually the GPL states that if you distribute Linux, then you must also distribute the source code to Linux, and anything that was linked with GPL'd software, under a license which is no more restrictive than the GPL. Their code being non-GPL does not give them the right to distribute GPL'd products, only the GPL does that, and they aren't complying with the provisions under which the GPL allows them to distribute that software, so they must not do so.

      As well, Linus himself has stated that binary drivers which are linked to the kernel do not "inherit" the GPL. Does that mean they can't package GPLd and non-GPLd code together?

      While nVidia's drivers are not covered by the GPL, Linux is. To distribute Linux you must comply with the GPL, and linking binary drivers with the GPL kernel is non-compliant. The GPL does not permit you to distribute GPL'd software if you do not distribute the complete sources, including any code that is linked to the GPL'd code. The only exception provided is for libraries which are a part of the base operating system on which the GPL'd code runs. Since Linux is the operating system, there are no non-GPL'd libraries that Linux links with that are a part of the operating system the Linux runs on.

      Plenty of distributions have done this in the past (Redhat has demos of various closed source apps, IIRC, as part of the CD package). The GPL applies only to the code it's been applied to (along with derivative works, etc... and no, "derivative" does not include being packaged together on the same CD).

      This is a completely different issue. If you comply with the terms of the GPL license then you have the right to distribute GPL'd software. Since e.g: Netscape doesn't link to the Kernel (it only links to LGPL'd code, not GPL'd code), Netscape and Linux can easily be distributed by the same company (assuming that they have the right to distribute Netscape) since there is no conflict.

      If nVidia's drivers were derivative of GPL'd source code then they would have no right to distribute them at all, with or without the Kernel.

      --

      --
      BitTorrent in C -- LibBT
      http://www.sf.net/projects/libbt
    12. Re:Distribution Method by greed · · Score: 1

      NVidia has a kernal patch so that they isolate the kernel-version-dependent code and can distribute that as source. It simply glues in the binary-only part, and allows you to recompile it if you patch your kernel. That's why there's so many kernel glue layer packages from NVidia, they're all built for a very specific kernel version.

    13. Re:Distribution Method by ckedge · · Score: 1

      What??

      What's the difference between A) Having two pages, one where a person downloads Linux with the source, and another page where one downloads binary-only drivers - and B) A single page where you download Linux with it's source and the binary-only drivers..

      I don't understand the functional difference.

      If nVidia's drivers were derivative of GPL'd source code then they would have no right to distribute them at all, with or without the Kernel.

      Right, but they aren't derivative of the GPL. They just created a driver. Why does "only distributing the driver" protect them?

    14. Re:Distribution Method by Anonymous+Canard · · Score: 1
      Right, but they aren't derivative of the GPL. They just created a driver. Why does "only distributing the driver" protect them

      By only distributing a driver that isn't a derived work, they don't need anyone elses permission to do so.

      Unfortunately for them, that isn't true of Linux. Linux is a copyrighted work, and the copyrights are retained by their authors, so nVidia has no right to copy, distribute, modify, or publically perform that work. The authors of Linux will allow people to copy, and distribute Linux under certain conditions and those conditions are spelled out in the GPL, which among other things enumerates certain responsibilities that a company must accept in order to distribute Linux. One of those responsibilities is that Linux must not be linked with proprietary libraries that are distributed under terms more restrictive than the GPL itself. Since nVidia cannot comply with that responsibility, it cannot distribute Linux.

      Thus as long as nVidia only distribute their own non-derived drivers they are perfectly within their rights. If they were to open source their drivers then they would be within their rights as granted by the GPL license to also distribute Linux. But as long as the drivers are maintained as a proprietary product that is linked to the GPL'd kernel, they have no right to distribute Linux.

      What's the difference between A) Having two pages, one where a person downloads Linux with the source, and another page where one downloads binary-only drivers - and B) A single page where you download Linux with it's source and the binary-only drivers..

      It isn't a question of where, but a question of who. The same 'who' cannot offer you both Linux, and these drivers, and remain compliant with both licenses.

      In case you are interested, here is some more detail on the mechanics of the GPL. The use of software isn't a right that is reserved to the copyright holder; that is you don't have to contact the copyright holder to run a program, read a book, or any other use that you might want to make of the copy righted item. The GPL does not attempt to force you to accept the GPL until you want to do something that would be a reserved right (like copying and distributing), so it isn't really that nVidia is out of compliance, so much as that they would not be able to comply with the requirements of the GPL if they were to distribute Linux. Also the GPL can be read in a few different ways; in this post I'm representing the GPL the way it is understood by Eben Moglen and the FSF, and as interpreted by Linus Torvalds in their respective writings on the issue. There are other stricter interpretations but it is IMHO scaremongering to talk about those interpretations when the original author of the license is on record with looser interpretations. Likewise there are people who attempt to interpret symbolic linking as distinct from linking and thus a valid barrier between GPL and non-GPL code; while this approach hasn't been tested in court, it goes completely counter to the interpretation of the FSF and thus will land you in legal hot water if you insist on that interpretation.

      --

      --
      BitTorrent in C -- LibBT
      http://www.sf.net/projects/libbt
    15. Re:Distribution Method by Anonymous Coward · · Score: 0

      Having obviously read the writings of Eben Moglen, the FSF and Linus Torvalds; what is your opinion on their view of binding GPL'd and non-GPL'd software together into an image (as is often done with embedded systems) ?

      Technically, no linking has occured; but the non GPL'd and GPL'd software *is* being distributed together.

    16. Re:Distribution Method by Anonymous+Canard · · Score: 1
      what is your opinion on their view of binding GPL'd and non-GPL'd software together into an image (as is often done with embedded systems) ?

      I haven't seen either of them express an opinion on precisely that topic, but I think that a Judge would have a hard time seeing something like a Tivo as a whole, as a derived work of Linux. Instead it would probably be seen for what it is, a specialized kind of computer with software loaded on it. Likewise, as long as the software that is loaded on the system respects the GPL and the generally accepted GPL barriers, I can't see why they would have any licensing issues.

      Indirectly RMS has commented on systems like these as something he would like the next revision of the GPL to address. The copyright that the FSF plans to leverage is the right to control public performance, and probably applies more to web sites than to embedded consumer equipment.

      --

      --
      BitTorrent in C -- LibBT
      http://www.sf.net/projects/libbt
    17. Re:Distribution Method by jismay · · Score: 1

      So far as I can tell,when I compile the Nvidia kernel module on my system I do not link the kernel with the NVidia binary/library, I link the BINARY with limited portions of the kernel. These portions are mostly header files which allow the module to determine where to properly insert itself into the kernel. It would be trivial to produce a closed source binary that only need know the version number of the kernel it is going to be running under, and nothing else ,even header files, of the kernel itself.

      So far as I can tell, the GPL does not prohibit interoperability. The NVidia modules exist solely for interoperability. It is exceedingly strange how the /. community jumps all over anyone who proposes limited interoperability BNETD for example, but kowtows whenever the GPL is mentioned.

      --
      Let Microsoft know, whether it wishes us well or ill, that we shall pay any price, bear any burden, meet any hardship
  7. Related question. by mary_will_grow · · Score: 0, Offtopic

    Weird, I came to slashdot.org with the intention of posting a Very similar question.
    I recently downloaded the Apple developer kit, and basically signed away any right to disclose what the hell is available on their developer site. They use this "IOKit" for writing device drivers, but I want to write an open source device driver for Serial-to-USB converters (the iBook unfortunately has no serial or parallel port!!) So does anyone know of any resources where I can learn how to write a device driver for OS-X without using the closed-source developer kits Apple provides?

    --
    Why stick up for big business?
    1. Re:Related question. by Niksie3 · · Score: 1

      sure, have a look at other open source drivers for macosx, However, I belief there aren't very many. you might want to have a look at macam its a userland driver for usb cameras...

      --
      Sig you!
    2. Re:Related question. by Anonymous Coward · · Score: 2, Informative
      This is the biggest troll in the world. The only thing you sign away is the right to discuss "Confidential Information," which means exactly what it says. Apple's definition of confidential information explicitly excludes information that is generally available to the public. Since you can read all the technical documentation on Apple's developer site, download sample source code, etc. without signing anything, I think it is clear that the information you need is "generally available to the public."

      Your comment also flies in the face of the many developers whose create open source programs on Macs.

  8. What exactly are you trying to keep secret? by Brian+the+Bold · · Score: 5, Interesting

    You need to look at exactly what parts of your hardware a GPL'd driver source would reveal, and whether there is really any need to avoid a GPL'd driver for this reason.

    Only the people who know what the hardware does and why the features in question need to be kept secret can make this decision.

    --
    -- BtB
    1. Re:What exactly are you trying to keep secret? by misterhaan · · Score: 3, Insightful
      this is the same reason device drivers are free. granted they're often only available in binary form, but if i get a piece of hardware by itself i can just go download the driver from the manufacturer (if i can find it).

      if you're a hardware company, then until everyday people copy your hardware, there is no need to place restrictions on device drivers. even opening up the source in most cases will not hurt your company, unless you're trying to protect how the device communicates.

      if you're selling hardware, sell the hardware. give away the software--it's no good without the hardware anyway.

      --

      track7.org has all kinds of interesting stuff!

    2. Re:What exactly are you trying to keep secret? by pythorlh · · Score: 2, Insightful
      Some embedded processors run on a very low margin. If some piece of your code enables a performance increase that is essentially independent of the hardware, you need to keep that code away from your competitors for as long as you can.

      Imagine an automobile engine computer. Some piece of code you devise allows you to pinch out an extra 5 miles per gallon by adjusting the performance of the engine. Now if you're required to open-source the code, every one of your competitors will have that same code in their next version. If you don't, you've got 6 months to a year before they figure out how you did it. And your higher efficiency gives you a market edge.

      --
      Do not confuse duty with what other people expect of you; they are utterly different.Duty is a debt you owe to yourself.
    3. Re:What exactly are you trying to keep secret? by jpc · · Score: 1

      As a customer for embedded products I have to say that the non_GPL drivers do stop me buying products. Having your kernel marked tainted means that no vendor or lkml support is available any more. Unless your product has no competition and is essential to me I am therefore unlikely to buy it.

      I dont mind if things like formware are not available, but I do want the api.

      If you were to give us some more technical information about what type of product / class of driver perhaps we could help you suggest a way to move parts into userspace in an efficient way.

    4. Re:What exactly are you trying to keep secret? by Jaeger · · Score: 4, Insightful
      if you're selling hardware, sell the hardware. give away the software--it's no good without the hardware anyway.
      I personally agree with you, but I can see two reasons why companies might think this is a bad idea:
      • Suppose most of the interesting work takes place in the driver (as in the case of a software printer or modem -- although I imagine this could be the case in other devices as well). The driver then provides an emulation layer between the rest of the operating system and the hardware. Some enterprising clone maker could easily throw a DSP, a transformer, and an RJ-11 jack on a PCI card, copy the driver, and sell a software modem for far less than the original manufacturer.
      • There are plenty of companies in the world who still think that it is possible to ship a device that cannot be reverse-engineered, and that any additional information released to the general public is additional information that the Asian clone manufacturerers will use to screw them in the marketplace. They ignore the fact that said Asian clone manufacturerers have enough manpower to disassemble their drivers line-by-line and pour over wall-sized X-ray blowups of their chips to reverse-engineer the silicon at a transistor level. The only people they're hurting in this situation are those who use free operating systems -- and, by extention, their own market share, because those who use free operating systems won't buy their products.
    5. Re:What exactly are you trying to keep secret? by John+Hasler · · Score: 2

      > If some piece of your code enables a performance
      > increase that is essentially independent of the
      > hardware, you need to keep that code away from
      > your competitors for as long as you can.

      If it is independent of the hardware it need not be in the driver and therefor the GPL question does not apply to it.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    6. Re:What exactly are you trying to keep secret? by 0x0d0a · · Score: 2

      And, of course, there's always the third point -- device manufacturers don't want you to know how much of the lifting your CPU is actually doing. A lot of devices, in today's market of fast-as-hell CPUs and ultra-cheap devices, offload anything they can get away with (and some they probably shouldn't) onto the CPUs.

    7. Re:What exactly are you trying to keep secret? by metamatic · · Score: 2, Insightful

      I just had a vision of a bunch of Asian engineers so excited that they would "pour over" x-ray blowups of integrated circuits.

      Sorry.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    8. Re:What exactly are you trying to keep secret? by photon317 · · Score: 2


      I mostly agree with you, but there are exceptions. Nvidia is a classic case where you can't very well argue that they should opensource their drivers. Your arguments are valid for the peices of their driver code that basically copy memory around and access chip registers, but there's another very large part of the driver which handles OpenGL acceleration stuff. Working with the same OS, and having a clone of NVidia's hardware, a competitor would still be seriously lacking in performance, conformance and stability if they didn't have Nvidia's driver. That driver has a lot of voodoo in it for efficiently doing 3d graphics that's not entirely directly related to accessing hardware I/O on the card.

      In situation's like Nvidia's, where if ATI saw their driver source code they could readily apply lessons learned to their own driver and reap benefits, it makes sense for nvidia to keep it closed.

      --
      11*43+456^2
    9. Re:What exactly are you trying to keep secret? by mpe · · Score: 2

      if you're a hardware company, then until everyday people copy your hardware, there is no need to place restrictions on device drivers. even opening up the source in most cases will not hurt your company, unless you're trying to protect how the device communicates.

      You may ever sell more hardware, since even people with systems you havn't provided your own drivers for will still be able to consider using your hardware.
      If anyone really wants to find out how your hardware communicates with a bus they can do so.

    10. Re:What exactly are you trying to keep secret? by mpe · · Score: 2

      Working with the same OS, and having a clone of NVidia's hardware, a competitor would still be seriously lacking in performance, conformance and stability if they didn't have Nvidia's driver. That driver has a lot of voodoo in it for efficiently doing 3d graphics that's not entirely directly related to accessing hardware I/O on the card.

      Having a binary only driver strops it being cloned exactly how? You don't think it might be possible to work out this "voodoo" by looking an the binary.

      In situation's like Nvidia's, where if ATI saw their driver source code they could readily apply lessons learned to their own driver and reap benefits, it makes sense for nvidia to keep it closed.

      What stops ATI buying a Nvidia card retail and examining exactly what the driver does?

    11. Re:What exactly are you trying to keep secret? by photon317 · · Score: 2


      I know all about reverse engineering software. It's hard, and not giving away the source makes a big difference. If you throw enough resources at it you might glean a small amount of data, but it's a monstrous task to really get the original source back and understand it like you would with the original source. As a testament to this other than my opinion: why do you think the Wine guys haven't already reverse-engineered all the core windows dlls and made wine work perfectly? They do do thinsg like that, but it is very rough and unpredictable work. They've been hacking on Wine for a long time and it's still fairly unusable except for a few key things that have been focused on.

      --
      11*43+456^2
  9. not revealing intellectual property versus GPL by John_Sauter · · Score: 5, Interesting
    I suggest you divide your code into two parts. Write a device driver which does not reveal any of your secrets but provides support for your application, which uses the device driver to interface to your device but need not be licensed under the GPL. Put all code that would reveal any important secrets into the application.


    John Sauter (J_Sauter@Empire.Net)

    1. Re:not revealing intellectual property versus GPL by Dambiel · · Score: 1

      doesn't this leave us at the same problem we started with?

      you distribute a crippled driver which can work but only when your application does the secret handshake.

      how does this help any interoperability between the hardware and open applications which you don't tell the secret?

      Chris

    2. Re:not revealing intellectual property versus GPL by John_Sauter · · Score: 1
      "doesn't this leave us at the same problem we started with? you distribute a crippled driver which can work but only when your application does the secret handshake. how does this help any interoperability between the hardware and open applications which you don't tell the secret? - Chris"


      The problem we started with was to drive the device without revealing intellectual property, not to help interoperability between hardware and open applications. However, there is no need to write a crippled driver. If somebody else wants to write an alternative network stack for the device, that doesn't hurt sales, and may help by providing new uses for the product.


      John Sauter (J_Sauter@Empire.Net)

    3. Re:not revealing intellectual property versus GPL by JoeBuck · · Score: 3, Informative

      While IANAL, I've been dealing with GPL issues for a dozen years now, most recently as a member of the GCC steering committee.

      This (dividing the work into pieces) could be legitimate if the GPL portion's interfaces are generally useful. For example, this is the origin of XEmacs, which was originally Lucid Emacs. Lucid, the company, designed Lucid Emacs to be the front end to a proprietary software development system, but the editor was useful as a standalone tool so this was legit. When Lucid went broke, Lucid Emacs became XEmacs.

      But if the GPL module is only useful as an interface to the secret, proprietary code, and does a lot of secret, mysterious things that no one knows how to use, courts would probably treat the whole thing as one work. At least Eben Moglen has argued this in the past, to people who tried similar tricks to get around the GPL (successfully enough to get them to back down, though such cases haven't been to court yet).

      An example of something that's clearly legit is a kernel module that is itself under the GPL, that loads a program into a processor (say, a DSP) that sits on some peripheral card. It might come with only the object code that is to be loaded on the card. But the DSP program and the kernel are two completely separate programs, and in principle you could load a different program instead.

      I suppose the kernel module could talk to a userspace program, and if the interfaces between the two were clearly documented one could argue that they are independent enough to pass GPL muster. Of course the lines are fuzzy. But it isn't just the law that matters, for the fuzzy cases it suffices if the copyright holder thinks it's ok, because the copyright holder is the only one with standing to sue you.

      This is why it's a problem that Linus doesn't ask for copyright assignment, because no single individual has the power to assure you that something is OK and have it stick. For FSF software, it suffices if RMS says it's OK.

    4. Re:not revealing intellectual property versus GPL by Alien+Being · · Score: 2

      That would be nearly equivalent to the userland driver he described.

    5. Re:not revealing intellectual property versus GPL by sigwinch · · Score: 2
      But if the GPL module is only useful as an interface to the secret, proprietary code, and does a lot of secret, mysterious things that no one knows how to use, courts would probably treat the whole thing as one work.
      Nah, copyright doesn't care whether something is useful, only whether it is creative and tangible. You're perfectly free to create GPLed works that are totally worthless. The questions to as are:

      1. Is the proprietary part clearly separated from the GPL part? If you cannot tell where one ends and the other begins (e.g., static linking), they are a single work, and thus the result is covered by the GPL. If they are separate files in a filesystem, they can have different licenses.

      2. Does the proprietary part contain any GPLed code? (E.g., kernel header files were included during compilation.) If the answer is "yes", then the GPL applies to it. On the other hand, if the proprietary module includes only original code, it can have any license you want.

      So: if you want to have a binary driver, make sure every single line of it original work, and use it as a loadable module.

      --

      --
      Kuro5hin.org: where the good times never end. ;-)

    6. Re:not revealing intellectual property versus GPL by Anonymous Coward · · Score: 0

      The most obvious way to make the two parts clearly seperate would be to also release a BSD (or other OS) driver that uses the binary-only part with a different interface part.

  10. That's not how they do things on Star Trek! by Anonymous Coward · · Score: 1, Funny

    Everybody should freely share everything and love one another, like they do on Star Trek. The Federation has no need for money, even the warlike Klingon empire has advanced past the need for capitalism. Only the short, swarthy, large-nosed, devolved Ferengi use money.



    Please read my fanfic about how the people of Star Trek freely share everything and love one another!

    1. Re:That's not how they do things on Star Trek! by harrkev · · Score: 1, Funny
      Everybody should freely share everything and love one another, like they do on Star Trek. The Federation has no need for money, even the warlike Klingon empire has advanced past the need for capitalism. Only the short, swarthy, large-nosed, devolved Ferengi use money.


      Oh yeah????? Every citizen of the federation does NOT have their own starship. If I was a citizen, I would want my own Enterprise. But since everybody does not have one, there must be a reason. I suspect that it is cost...
      --
      "-1 Troll" is the apparently the same as "-1 I disagree with you."
    2. Re:That's not how they do things on Star Trek! by derch · · Score: 2, Funny

      Ah, yes, but what happens when you're out on the edge of the Federation, you've had to dump your warp core, and when you take your shuttle craft to the local non-Federation trading post looking the a new core, the green-skinned junk yard dealer with the right model warp core wants two NSR-420Z plasma injectors and all you have is a NSR-350 injector, and she doesn't accept American Express?

      These are the times when a few bars of cold pressed latinum would save your butt. But nooooooo, you're from The Federation. You don't believe in money.

    3. Re:That's not how they do things on Star Trek! by brandonY · · Score: 1

      The word is gold. GOLD pressed latinum. Latinum pressed with gold. Ever wonder why they were shiny and yellowish? Wow, I'm a loser. I hope nobody I know reads this.

    4. Re:That's not how they do things on Star Trek! by derch · · Score: 1

      It could be worse. You could have pointed out that there are no such things NSR-420Z plasma injectors or the junk yard dealer in episode 22F33 was a purple skinned asexual.

      As far as wondering why they were shiny and yellow, no, I never did. I was pulling things from my ass. Years ago I'd pass out on the couch watching X-files reruns after a night out on the town. Deep Space 9 would come on afterwards. Guess my sleeping mind picked up on a few terms.

      Personally, I think 'cold pressed' sounds better, more like a type of forging.

    5. Re:That's not how they do things on Star Trek! by Anonymous Coward · · Score: 0

      'cold pressed' refers to one process of extracting oil from olives. maybe they make latinum in Italy.

    6. Re:That's not how they do things on Star Trek! by Anonymous Coward · · Score: 0

      As far as wondering why they were shiny and yellow, no, I never did. I was pulling things from my ass.

      If you pull something shiny and yellow from your ass, you should probably see a doctor, unless you happen to be a goose and the thing happens to be a golden egg. Then I can make a nice home for you.

  11. Protect? by OttoM · · Score: 5, Insightful
    Why should a hardware company protect the driver? If you make a quality, high performance driver, more people would want to buy the hardware. If you make a lousy, slow driver, not many people would buy the hardware to use on Linux.

    So you your company should go for the best possible driver, to increase hardware sales. If that means GPL'ing the driver, you can also benefit from the expertise of a lot of developers.

    1. Re:Protect? by rootofevil · · Score: 1

      this is exactly the kind of shit the poster asked people (very politely i might add) not to say. it doesnt MATTER if that will change anything, because its not an option.

      --
      turn up the jukebox and tell me a lie
    2. Re:Protect? by mvh · · Score: 1

      well, say you have two products. one product costs $500 and is the budget version and another product is $1000 for the "high-end" version. Now both of these products are actually the same, the only thing that separates them is the driver for the device.

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

      This is my thought exactly. When are companies going to learn to stop using legal muscle to force consumers into buying their products when a good quality product will sell anyway!

      When I buy my island, I'll have to remember to add this into my laws. (We can dream can't we?)

      Alan.

    4. Re:Protect? by Anonymous Coward · · Score: 0

      One very large company (IBM) does something similar to this freqently.

    5. Re:Protect? by Anonymous Coward · · Score: 0

      *Looks around*

      I could have sworn I wasn't living in China!

    6. Re:Protect? by Anonymous Coward · · Score: 1, Insightful

      Ahhh commodity thinking again. What if original poster is working somewhere the driver only hooks a computer to the really expensive hardware? Think about radar systems. The volume on the expensive hardware is low, but profitable. Then linux provides a robust interface that's is completely transparent for their developers and not ever stuck on the M$ upgrade wagon. Some companies have no desire to sell a bazillion commodity systems, and instead focus on profitable niches.

    7. Re:Protect? by Anonymous Coward · · Score: 1, Interesting

      the protection of the interface is a big issue for many hardware companies *cough* Nvidia *cough*. if you have some genius method of accelerating by writing 16 fewer bytes per accelerated operation to tee card than your competitors then by seein gthe source than can then see this and possibly derive how it was done in the hardware, thus mimicking it.

      it's great for all of us users, but for the company in the lead *cough*Nvidia*cough* it would suck.

    8. Re:Protect? by OttoM · · Score: 1

      Well, I am sure the competition has disassemblers, debuggers, emulators and logic analyzers to dissect the interface. it is a myth that a binary driver protects your hardware interface.

    9. Re:Protect? by OttoM · · Score: 1

      I (very politely) stated an issue you have to consider when making a business decision. I did not say: you have to use GPL because I say so.

    10. Re:Protect? by Wolfier · · Score: 2

      Then why GPL at all? I'm sure the community has disassemblers, debuggers, emulators and logic analyzers to dissect the interface.

      The issue is, obfuscation DOES contributes to protection - at least in this case - theoretically you can always dissect the interface, hiding it permanently is NOT the goal - You only need to delay your competitors doing so until you roll out your next generation product.

      The Anonymous Coward does have a point. Closed source drivers DO delay competitors from discovering hardware trade secrets.

    11. Re:Protect? by mla_anderson · · Score: 1

      The other protection offered by binary only is legal protection. If release the code into the public domain you will have little recourse when a competitor uses it to reverse engineer your hardware. If you release a binary and your competitor disassembles it you would have a greater chance at legal recourse.

      Someone could take the code for the hardware I develope and probably get about 85% of the design, common sense would provide another 14%, and a few beers would provide the other 1%(the part required by the CTO). So we are very careful to protect our source code, but the binaries are all over the world.

      --
      Sig is on vacation
    12. Re:Protect? by runderwo · · Score: 1
      Then why GPL at all? I'm sure the community has disassemblers, debuggers, emulators and logic analyzers to dissect the interface.
      This is not the case. Companies can afford special equipment because they have capital gains to reap from using it properly. The general public most certainly does not have the financial basis for access to this sort of equipment.

      This is what necessitated the GPL in the first place -- too much proprietary systems and code, and not enough people and tools to sit around and reverse it all day.

      The company's competitors will probably rip off their code and designs either way (whether it's open or closed), as overseas cloners have entire divisions dedicated to mapping silicon at the gate level and documenting disassembled code line by line.

      However, if it's GPL, they still have a legal basis to go after those competitors, while providing the public with obvious benefits, and thus a real reason to buy their product over a competitor's.

      A GPL software interface holds far more weight for me than commercial propaganda ever will, in terms of my desire to purchase a hardware product. I am certainly not alone.

    13. Re:Protect? by Anonymous+DWord · · Score: 2

      it's great for all of us users, but for the company in the lead *cough*Nvidia*cough* it would suck.

      Yeah, sure would. Some company like ATI might bring out a card that stomps anything that NVidia has *cough*Radeon 9700*cough*. All the drivers in the world couldn't make NVidia catch up to that with what they have out now.

      --
      "If he thinks he can hide and run from the United States and our allies, he's sorely mistaken." Bush on bin Laden
    14. Re:Protect? by Anonymous Coward · · Score: 2, Informative

      My company has experience in this. I am in the group that writes Unix and Linux drivers for our hardware products.

      We have released the Source al'la GPL and we will, thanks to our experience, never do that again. There is no problem in our case with intellectual property, it is a problem with support costs. We committed to support of our Hardware under Linux.

      The problem arose when the source was released and people wanted higher performance. We have a group of highly talented (highly paid) people who have a combined experience of about 50 years writing low level system code and drivers. In addition, they have free access to the hardware engineers who designed the products.

      Long story short, some snot-nosed high-schooler "optimized" the driver and broke about 50 things in the process. The calls to our help desk were non-stop. We had to advise customers to back down the changes. This was very confusing to them since they did not understand that the "optimized" driver was not written by us. And they all wanted to know what was wrong with our hardware. It cost my company a ton of money.

      What needed to be protected in our case was the protocol to speak to the hardware. We only wanted to support our driver, not all deriatives of that driver. Consequently, my management will probably never authorize such a move again.

    15. Re:Protect? by mijok · · Score: 0

      delay is the key, it's not uncommon for various chip manufacturers to choose not to patent anything since they can guard their technology better then - it's more important to have a sligthly longer competitive advantage period than a patent on something that becomes obsolete quickly anyway

      --
      Karma. Moderation. Is my .sig good now?
    16. Re: Protect? by Antity · · Score: 2

      well, say you have two products. one product costs $500 and is the budget version and another product is $1000 for the "high-end" version. Now both of these products are actually the same, the only thing that separates them is the driver for the device.

      That would be a product which is "development-broken-by-design".

      If it's really just a difference in drivers, just copy the high-end product's driver. (I don't say "do this"; I'm trying to point out that if it's possible, it will be done.)

      It's the difference between -- say -- sell a 1394/Firewire card for EUR 50 and selling the same card including Adobe Premiere, MPEG software codec, DVD authoring tools, ...

      Because you can copy software easily.

      One poster wondered why not everyone gives out his source code for drivers, because it wouldn't matter what it does - you'd still need the hardware to actually use it -

      Wrong. For example, many Taiwanese and Chinese manufacturers would be happy to adapt somebody other's drivers, since copying the hardware is the easier part for them.

      --
      42. Easy. What is 32 + 8 + 2?
    17. Re:Protect? by istartedi · · Score: 3, Interesting

      Why should a hardware company protect the driver

      Imagine that company A's driver code contains a function that writes to a FIFO buffer. Company B looks at it and says "Eureka! Their cards are better because they use a FIFO buffer for that." The next version of Company B's card uses a FIFO buffer.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    18. Re:Protect? by Anonymous Coward · · Score: 0

      I think you're making the assumption that this would be some sort of pluggable PC hardware.
      Hardware can also be large telecoms switches and the like (think cisco, nortel, alcatel, etc.) where the R&D organization is trying to find a route out of using proprietary kernels (think VxWorks, OSE, QNX) to drive embedded software.
      This is the sort of predicament a lot of hardware companies are in... and the sort of area that leniancy in the GPL as it applies to "drivers" would be useful. No one will be running their own software on these devices.

    19. Re:Protect? by Anonymous Coward · · Score: 0

      If your competition is that incompetent, and you don't already own the market, you deserve to lose share.

      Keep in mind that competent people can and do RE code/drivers all the time, legal or not.

    20. Re:Protect? by DunbarTheInept · · Score: 2

      Executable binaries *ARE* source code - in machine language. The difference between a *.c file and a list of machine language program code is not one of classification, but of degree. They both require specialized training to understand. They both are completely unfathomable to the casual observer who hasn't studied them. The only difference is in the degree of the obfuscation, not that such obfuscation exists.

      And on that topic, There were once legit uses for C code obfuscation - companies would sometimes find themselves in a position where they HAD to release source for a technical reason, but they didn't want that source to be human readable, so they'd run an obfuscater on the code that would do things like remove all the whitespace, break lines at random
      places, transform variable names into gibberish strings, and so on.

      Is that really enough obfuscation to legally count as not being source code anymore?

      Where is the legal definition of that line drawn? I'll tell you where - nowhere - because the lawyers who deal with these issues don't fully understand what they are regulating.

      IANAL, but for those who ARE, how do they deal with fuzzy situations like this, where even the technical people can't really come up with a strict definition of where to draw the line. (This also is why the plan to split Microsoft into OS and App companies was doomed from the start - you can't even get a precise definition of what is and isn't core functionality the OS should have. Technically, in Windows the entire desktop gui is an application called EXPLORER.EXE and not really a low-level OS component. But I don't think anyone, even people like me who hate Microsoft, would think it fair to force them to pull that program out of the OS distribution. While it's not technically part of the OS in the strictest sense, neither is stuff like the UNIX "ls" command, but everyone sort of expects it to be bundled with the OS.

      This same problem exists in the DMCA, where it makes no provision for how cryptic a thing must be before running a program to transform it into something human readable counts as an act of "decrpytion". Technically every plain ascii text file is "encrypted" in a code known as ASCII that replaces letters with single-byte numeric codes, and every time you pull it up into a text file viewer you are "decrypting" it into human-readable form. Granted, it's a pretty *BAD* encrpytion algorithm, with many programs out there that can decrypt it, but then again so are a lot of the things that ARE protected by the DMCA, like the DVD CSS algorithm.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    21. Re:Protect? by bolthole · · Score: 2

      I guess your problem was in trying to support linux yourselves with the GPL driver. You should have just released the source, said, "This is unsupported", and then refused to take any support calls for linux.

      you then have nice limited support costs when it comes to linux.

    22. Re:Protect? by zorglubxx · · Score: 1

      uh what planet do you come from? According to Slashdot Windows sucks, so how come it is so dam popular? Unfortunately quality does not have that much to do in sales.

      And my favorite Slashdot FUD - if something is open source it is better quality. The fact that it is open source or not has nothing to do with the quality.

    23. Re:Protect? by mpe · · Score: 2

      well, say you have two products. one product costs $500 and is the budget version and another product is $1000 for the "high-end" version. Now both of these products are actually the same, the only thing that separates them is the driver for the device.Sounds like the manufacturer is enguaging in some shady practice. Like having the same hardware with different firmware at different prices, trying to hide how much a piece of hardware uses the CPU, optimising for benchmarks, etc.
      If someone works out that they can use the high end driver with the cheaper product, then tough luck.

    24. Re: Protect? by mpe · · Score: 2

      many Taiwanese and Chinese manufacturers would be happy to adapt somebody other's drivers, since copying the hardware is the easier part for them.

      An interesting claim, considering you need access to quite a bit of expensive hardware to copy hardware. If you copy the hardware then a binary copy of the driver will be fine. Anyway you don't need the source to be able to alter or reverse engineer a driver.

    25. Re:Protect? by mpe · · Score: 2

      The issue is, obfuscation DOES contributes to protection - at least in this case - theoretically you can always dissect the interface, hiding it permanently is NOT the goal - You only need to delay your competitors doing so until you roll out your next generation product.

      You also delay yourself, since you need to write and debug obfuscated code...

    26. Re:Protect? by mpe · · Score: 2

      The other protection offered by binary only is legal protection. If release the code into the public domain you will have little recourse when a competitor uses it to reverse engineer your hardware.

      The GPL is not public domain

      If you release a binary and your competitor disassembles it you would have a greater chance at legal recourse.

      How are you going to prove to a court that someone took your binary, disassembled it and used it as an example to write their own driver? Even if they were to simply decompile it then recompile it, after changing any obvious like a copyright statement, it may well well wind up quite different.

    27. Re:Protect? by Wolfier · · Score: 1

      ? the obfuscation I talked about comes from the compiler. The original source code you write and debug with would of course be perfectly documented and self-explanatory.

    28. Re:Protect? by Wolfier · · Score: 2

      >How are you going to prove to a court that
      >someone took your binary, disassembled it and
      >used it as an example to write their own driver?
      >Even if they were to simply decompile it then
      >recompile it, after changing any obvious like a
      >copyright statement, it may well well wind up
      >quite different

      Of course you can't prove it. On the other hand, how are you going to prove to a court that if someone took your GPL code, changed some obvious like a copyright statement or some loop variables and release it?

      Both are equally difficult so the legal protection point is moot.

      However, which one is more difficult, decompile the binary, or read your GPL code? That's the point. Obviously decompiling the binary is MUCH more difficult.

      As long as it achieves the goal of temporary protection through technology, binary-only device drivers serve a good purpose.

  12. Why do you need to keep your code private? by 91degrees · · Score: 1

    Wouldn't access to your source be beneficial to the customer? If this was a pure software device, I'd understand, but surely you make the money on the hardware. Drivers are usually trivial to reverse engineer anyway.

  13. Well. by Anonymous Coward · · Score: 0

    1. You cant write userspace drivers.
    (that is unless the kernel already have a
    driver for your chips, and you want to add
    someting to it)
    2. Kernel drivers/code that are not released under a GPL compatible licence are illegal.
    Many vendors do it though, e.g. nvidia. Its no
    less illegal because of that.

  14. Can't you just read a UNIX book? by Anonymous Coward · · Score: 0

    Isn't OSX just another flavor of UNIX?

    1. Re:Can't you just read a UNIX book? by Anonymous Coward · · Score: 0

      No.

    2. Re:Can't you just read a UNIX book? by Anonymous Coward · · Score: 0

      Not Really, and even then they all have different internal interfaces.

  15. Easy solution by dsaxena42 · · Score: 2

    This is a really simple problem to solve.

    You create a binary only, non-GPL driver and only
    provide it as a module in your device's filesystem that gets immediatelly loaded by your custom init scripts.

    If this driver is needed before your userland can fully initialize (for example, it's a custom disk device...ICK), stuff it into an initrd, boot from initrd, load the driver,and then pivot_root over to the real userland and run your init.

    As of today, non-GPL binary only driver modules are perfectly acceptable. As long as you do not directly link into the static kernel binary, you do not have to GPL your driver. No legal issues at all.

    1. Re:Easy solution by Anonymous Coward · · Score: 0

      There are lots of legal issues. See lkml for some recent commentary by Linus on his interpretation, as of two weeks ago, on the legality of non-GPLed modules.

  16. The counterexample is NVidia by Isle · · Score: 5, Insightful

    Ask your lawyer how distributing something over the internet is not distributing?

    NVidia are distributing binary-only drivers. They do a trick however, where the code that needs to be loaded into the kernel is (L)GPL, and then this cpde interfaces their binary driver. This both allows a buffer to the GPL code but also to support various different versions of the kernel with the same driver.
    Moreover it allows for a lot of naive trolls claiming that Nvidia is distribting the source-code because they have seen this little module.

    1. Re:The counterexample is NVidia by Anonymous Coward · · Score: 0

      NVidia are distributing binary-only drivers.

      What the hell?
      Nvidia IS distributing binary-only drivers.
      What's up with the bad verb conjucations lately?

    2. Re:The counterexample is NVidia by Anonymous Coward · · Score: 0

      I fully agree except for the following: the open-source kernel module part is not GPL, it is under a proprietary license. That results in this "Loading NVdriver will taint the kernel" message most NVidia owners see at bootup.

    3. Re:The counterexample is NVidia by Anonymous Coward · · Score: 0

      Ahem. You're close, but still not quite correct. If one is making a statement about the corporate entity itself, then the singular verb is to be used. when referring to the members of a collective as a group, the plural is correct. Often, there is some form of plural noun to spell this noun/verb agreement out, but not always.

    4. Re:The counterexample is NVidia by desmodromic · · Score: 1
      COMPANY NAMES ARE SINGULAR.

      In American English, yes - in British English, no.
    5. Re:The counterexample is NVidia by Terralthra · · Score: 1

      Your grammar correction might be taken more seriously if you spelled "conjugations" correctly.

      --
      -Terralthra...
    6. Re:The counterexample is NVidia by Isle · · Score: 2

      1. Do you refer to Nvidia as they or it?
      I use they .

      2. Do you say they are or they is?
      I say they are.

      Sorry for being a smartass; I know americans say it differently, but my english dictionary says both forms are correct when using a company-name. I just like to see a company as a group of people and not an entity.

    7. Re:The counterexample is NVidia by fscking_coward_2001 · · Score: 2, Funny

      Sorry for being a smartass
      I don't really believe you're sorry.

      I like to see myself as a group of people. But that's another story entirely.

    8. Re:The counterexample is NVidia by Leto2 · · Score: 1

      We think you are indeed a smartass. (we, of course, represent all the molecules that make up me, I just like the see a human body as a group of molecules and not an entity). What a load of crap.

      --
      <grub> Reading /. at -1 is like driving through Cracktown in a convertible that is stuck in 1st
    9. Re:The counterexample is NVidia by Anonymous Coward · · Score: 0

      The usage you are complaining about is the norm in British English and is still correct though less common in American English.

      All languages drift and evolve over time, and the branches they take are more or less arbitrary to begin with. Consider yourself lucky whenever you can clearly understand what someone is saying, and stop complaining about stupid stuff.

      This goes for all you other language/spelling/usage flamers too.

    10. Re:The counterexample is NVidia by swillden · · Score: 1

      We think you are indeed a smartass. (we, of course, represent all the molecules that make up me...

      Your individual molecules can think and act independently?

      I'm an American, and I say "NVidia is distributing...", but I think the British way makes a lot more sense, because companies and groups are *never* perfectly cohesive and it seems sensible to recognize that grammatically.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    11. Re:The counterexample is NVidia by Leto2 · · Score: 1
      Bzzt, wrong.

      NVidia has one and just one corporate opinion. For the outside world, it's completely cohesive. Therefore, NVidia acts as one entity, and is singular.

      I'm equally bothered by Dutch newspapers (Dutch follows the same stupid rules as British), that always use phrases like "The USA are". No! It's one country, one entity. "The USA is". Especially when you use "USA" in the abbreviated form.

      --
      <grub> Reading /. at -1 is like driving through Cracktown in a convertible that is stuck in 1st
    12. Re:The counterexample is NVidia by Alan+Cox · · Score: 2

      Actually the LGPL bit isnt a buffer. The GPL explicitly says that GPL+LGPL becomes GPL. so GPL+LGPL becomes GPL+Nvidia binary.

      Nvidia's driver (though I loathe it) probably is not a derivative work. Having picked apart bits of it its the sort of code you could move to another OS in a week, and I guess they may well use mostly the same code on Windows.

      So is 400K of binary which uses the minimal generic set of os functions a derivative work or a seperate work. NVidia's legal people clearly think its the latter

    13. Re:The counterexample is NVidia by swillden · · Score: 1

      NVidia has one and just one corporate opinion.

      You've never worked for a corporation, have you?

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    14. Re:The counterexample is NVidia by DunbarTheInept · · Score: 2

      This is one place where the British way is less logical than the American (there aren't many, I'll admit). In American usage, a group that wants [Note, "group that wants", not "group that want"] to be referred to as plural just has to pick a plural noun for their name. So for example, when watching sporting events here you'll hear phrases like "The Dallas Cowboys *are* coming onto the field.", but also phrases like, "The Milwaukee Wave is coming onto the field." - The usage depends on what sort of name the group is using for itself. The British way of sometimes using a singular noun as if it was plural when it refers to a group is a bit illogical to me because it requires knowing contextual information beyond what part of speech the word really is. To me this seems like a breackdown of the well ordered layer between grammar and semantics. Consider: is this grammar correct: "Slipknot are hard to get out."? Well, in British usage you can't tell yet, because I might be talking about it being difficult to remove a certain type of knot, in which case my grammar was wrong, or I might have been talking about the band called "Slipknot", and complaining about how they just won't seem to leave, in which case my grammar was correct.

      To my logical mind, this is unneccessarily messy. Just say that plural nouns are plural, and singular ones are singular and be done with it.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    15. Re:The counterexample is NVidia by bolthole · · Score: 2

      That should read, "In American, yes. In English, no".

  17. Context switches. by cduffy · · Score: 5, Informative

    Why is a userland driver on linux necessarily slower?

    See subject.

    And if not, why is this slow on linux but fast on some other operating systems, and what can be done to fix it?

    No operating system can have userspace drivers without context switches. Some OSes have very low context switch times and *do* put all their drivers in userspace (which has a number of very big advantages I'm not going into right now) -- but they still, unavoidably, pay some performance penalty for doing so.

    1. Re:Context switches. by frohike · · Score: 2

      Context switches are indeed something that will slow down any user mode driver because you can't poke directly into the client program's address space, unless of course you _are_ the client program as well as the driver. You can also get interrupt during I/O which can be a bad thing. There are myriad other things that it will slow down however. For one, you can't hook interrupts in a Linux userland program last time I checked. Thus any device driver that wants to receive interrupts must at least make a presence of some sort in the kernel (even if it just delivers signals to a userland program at interrupt times). Also you can't tinker with internals like the scheduler and block caches, so you may be wasting resources you would have had access to there. There are probably more things that someone more experienced specifically in Linux kernel hacking could tell you about.

    2. Re:Context switches. by natersoz · · Score: 1

      This is false. The register/memory space of the device can be mapped to user space and registers and memory can be written directly without context switching. There is no penalty for doing so.

    3. Re:Context switches. by cduffy · · Score: 1

      Certainly, that will reduce context switches (as opposed to using syscalls for all access to the hardware being driven) -- but by no means eliminate them. One still needs to get in and out of the driver frequently, after all -- particularly so if the driver needs input or output from some kernelspace component in addition to the hardware it drives (as with a NIC driver needing to insert retrieved frames into the kernel's network layer or a block device where a kernelspace filesystem sits on top).

      Further, some interfaces simply can't be provided in userspace. Witness ioctls -- as evil as they are, they're part of UNIX today, and there's no way to support them except through a kernelspace driver.

    4. Re:Context switches. by nathanh · · Score: 2

      It's not just context switches. You will probably be forced to copy data between user and kernel space. And you won't have access to internal kernel APIs, so certain problems will simply be unsolvable.

    5. Re:Context switches. by evbergen · · Score: 2

      Hold your horses, there. It's not context switches in themselves that make IPC inefficient, it's the address space switches, which empty your CPU's TLB.

      Context switches among threads can potentially be very cheap, especially if the switch is not initiated by an interrupt (which would always switch to the kernel initially, before it can schedule a different thread).

      It would be great if we'd have a non-application specific way (i.e. not dlopen) to load another image in a certain process' address space and relocate it, DOS-style, and creates a new thread for it. As long as neither application does anything stupid, you won't notice a thing.

      That way, for a high speed webserver you could choose to put Apache, your userspace TCP stack, your userspace NIC driver, your userspace SCSI driver and your filesystem driver all in the same process space.

      If the open, read, write, close functions of those drivers whould then be implemented using a good IPC channel, that uses local memory when talking to a thread in the same address space (think skbufs inside the kernel) and shared memory or ordinary pipes when talking to other processes, you would be completely free to define your system's compartmentalization.

      For differently configured systems, you would only put your TCP/IP driver and your NIC driver in the same address space, and you keep your SCSI driver and filesystem in another.

      So, applications using those drivers /outside/ their address space will incur the address space switch penalty for every call to them. But if you choose to run them in the same space, then you don't; context switches are theoretically just as nonexpensive as a setjmp()/longjmp(). It's just "slightly" less safe. If the application crashes, its drivers crash too.

      It's perhaps a bit radical, but it would give the best of both (microkernel and traditional) worlds, with the ability to choose your own memory protection barriers. QNX has been doing something similar for a while as well; although it still require the application to explicitly load another image (which must always be a shared library, i.e. position independent code, no relocation is done), instead of allowing applications to remain unaware of their actual configuration (shared space or not). It does run the Unix API through a message passing channel though, and all drivers and filesystems are purely user space.

      Seriously though. The only things missing for good userspace drivers in Linux is a way to open /dev/irq/1 so that you can select() on it, and a modern version of the Unix pipe (one that supports atomic messages and transports them either using zero-copy local memory, shared memory or copying), so that the open/read/write/ioctl/mmap/select/close API can be implemented through it.

      --
      All generalizations are false, including this one. (Mark Twain)
    6. Re:Context switches. by cduffy · · Score: 1

      Seriously though. The only things missing for good userspace drivers in Linux is a way to open /dev/irq/1 so that you can select() on it, and a modern version of the Unix pipe (one that supports atomic messages and transports them either using zero-copy local memory, shared memory or copying), so that the open/read/write/ioctl/mmap/select/close API can be implemented through it.

      Heh.

      A good friend of mine is doing a lot of work on VSTa, an microkernel OS which puts drivers in userspace with a message-passing API allowing userspace apps to export filesystem segments (which can then be mounted out of their namespaces onto the "real" tree), so much of what you're discussing is not entirely foreign to me. Sharing address space between processes other than with traditional lightweight threads is something I hadn't really thought of, though, and methinks I'll ask him what he thinks of the idea next time we chat.

      Good food for thought, anyhow. Thanks!

  18. Not sued != legal by amorsen · · Score: 5, Interesting

    The fact that NVIDIA and Rational have not been sued does not imply that they are legally in the clear. There are certainly several kernel developers who have said clearly that the "module exception" invented by Linus Torvalds does not extend to linking to their code. So far they have not sued anyone. Maybe they never will.

    --
    Finally! A year of moderation! Ready for 2019?
    1. Re:Not sued != legal by Anonymous Coward · · Score: 0

      Unless those kernel developers have documented their disagreement with the overall copyright/license of the linux kernel in a place where one would be expected to see such information, it pretty much doesn't matter what they say in a mailing list or at a convention. The fact is, their code has been released with a certain copyright terms attached and they need to make sure those terms reflect what they intend. If you can make a diff for your .[c|h] files, you can make one for the license.

    2. Re:Not sued != legal by spitzak · · Score: 2

      Seems like they would have to sue Linus, not NVidea. Linus may have changed the wording against their wishes when using the code. If they did not like the way the kernel was licensed they should not have contributed their code (they could fork it to a "pure GPL" one if they wanted).

    3. Re:Not sued != legal by Anonymous Coward · · Score: 0
      Seems like they would have to sue Linus, not NVidea.
      Actually, they could sue both. One for giving people the impression that the GPL means something which it clearly does not. And the other for violating the GPL.
    4. Re:Not sued != legal by amorsen · · Score: 2
      People who contribute code to Linux (the kernel) do not give up copyright on that code. It can be debated whether contributing without making a clear statement about the intended license implies that the GPL-with-module-exception or just plain GPL applies. However, several contributors have clearly stated that their work is only available under the unmodified GPL. There is no ambiguity about that. Their code was accepted into the kernel knowing what their licensing choice was.

      The licensing is between the contributor and the licensee. Linus Torvalds is not a part in this contract (except for the parts he wrote). Of course someone could try to say they were led to believe that a different license applied, since Linus Torvalds included the blurb about the module exception, but either way blaming Linus will most likely not get them out of an injunction against distribution of their software. Whether the gains from binary modules offset the risk of legal troubles will have to be decided by each company, of course.

      Another thing to note is that not all parts of Linux (the kernel) were contributed directly to it. Some parts were developed for other projects and then they were included in Linux because their licenses allow it. It seems obvious that the module exception cannot be applied to such entirely unrelated code.

      --
      Finally! A year of moderation! Ready for 2019?
    5. Re:Not sued != legal by spitzak · · Score: 2
      True, but I still think that if Linus included something that did not allow binary modules, and then stated that binary modules are allowed, it really is him that is in trouble, not somebody who believed him and made a binary module.

      In reality everybody is well aware of this, and Linus is now supporting people who don't want their code used by binary modules with the GPL headers that state for the C compiler what interfaces can be called. Therefore Linus has already fixed the problem and is safe.

  19. Get a New Lawyer by CatWrangler · · Score: 2

    With all the lawyers out there, I am sure there is one who agrees with you. If you feel shaky about it, cash out your stock options first, and update your resume

    --

    ---
    When you come to a fork in the road, take it! --Yogi Berra--

  20. He is not a kernel hacker by Daniel+Phillips · · Score: 4, Funny

    In general, do not take advice on how to write a device driver from a laywer. Or, if he/she insists, invite them to write the driver for you. Pay only if it works.

    --
    Have you got your LWN subscription yet?
    1. Re:He is not a kernel hacker by jpvlsmv · · Score: 5, Funny

      He's not looking for advice on writing the driver. He's looking for advice on LICENSING the driver.

      In general, do not take advice on how to license a device driver from a programmer. Or, if he/she insists, invite them to be sued. Pay only if they win.

  21. Dumbass, slashdot saying closed code is good by Anonymous Coward · · Score: 0

    You KNOW what answer your going to get here. Open source is good. Your company lawyer is up on things a bit and I would follow their advice.

  22. What are they trying to protect? by CaptainAlbert · · Score: 5, Insightful

    I don't quite see what is lost by releasing a device driver under GPL.

    You get:

    1) an army of geeks who will instantly worship your company and buy your products;

    2) a slightly smaller army of geeks who can actually help you fix bugs in your own product FOR FREE.

    You lose... erm, nothing?

    The only drawback is that the interface to your hardware (register maps etc.) are no longer as secret as they were. Perhaps you're concerned about competitors stealing your ideas based on that knowledge? Well, think about it this way - if they badly want that information, they will already be reverse engineering your products and your binary-only drivers with a debugger and some elbow-grease.

    IMO - you have nothing to lose. Embrace the future... :)

    --
    These sigs are more interesting tha
    1. Re:What are they trying to protect? by taeric · · Score: 1

      I believe you grossly overestimate the army of geeks who will supposedly buy his product. Especially when you do not even know his market.

      I am not one that claims all GPL followers are cheapskates, but I also realize that not many companies selling products have seen any benefit from having GPL'ed code.

      The usual angle, that of selling support, may or may not apply in this position. You can't say without knowledge of what is being sold.

      And finally, not many companies/individuals are up to the task of supporting all of the effort it takes to support an open source project.

    2. Re:What are they trying to protect? by anonymous+loser · · Score: 2

      You forgot: ...an army of competitors in the same market who now have your source code which they can use to make their product compatible with your own, while you are stuck spending tons of research dollars on reverse engineering their product to compete.

      The whole reason people don't release source code in the first place is to make it harder for the competition to duplicate the effort that went into developing your technology. For hardware companies it might or might not be as much an issue (depending on the product, etc.), but for software companies this is really important, because (like medicine) you have to spend lots of money up front on R&D and giving away your source code to the competition will definitely shorten the time within which you can recoup those expenses.

    3. Re:What are they trying to protect? by Anonymous Coward · · Score: 0

      if an army is 50-100 then yes. and the even smaller number is 1 or 2 then yes.

      besides companies like creative and nvidia had armies of people buying their products long before they open sourced drivers or drivers existed for certain cards...

    4. Re:What are they trying to protect? by Art+Popp · · Score: 5, Insightful

      Though I agree that those should be important considerations in this company's decision, the dangers involved are neither imagined nor trivial.

      1) In a technology sector where "time to market" is a crucial feature, distributing source for your drivers gives your competition a considerable edge. Everyone reading this who codes will know exactly what I mean when I say that having a known-good chunk of software to modify is vastly easier than starting from #include <linux/kernel.h>. Drivers are, in fact, a bitch to get right. On a device of median complexity you probably save your competitors a month of dev. time by presenting them with all your clever ideas and a working model on which to base their clone. On a truly clever device you may save them several months.

      2) More importantly for some applications, if there are over-broad patents that concern your device, supplying source code can easily make the difference between your opponents having grounds for suit and not having them. Your source code reveals your intent behind your arrays, and the purpose of your function calls. When a lawyer is trying to prove your product is infringing, this is significantly better ammunition than hundreds of lines of debugger output that has to be "interpreted" by their experts.

      An earlier poster had what I'd consider the best suggestion. Embed the secret stuff in your app. If your device supports it, make the kernel driver little more than a tool for getting data quickly in and out of user space. This approach has several advantages, among the better is that I (or any user who mucks about with these things) can then upgrade the kernel and recompile your trivial kernel space driver (say past an unrelated, but nasty bug) without begging for your help. I can do this to fix bugs you haven't encountered and present you with fixes for bugs you can't easily recreate, but others may be suffering from.

      Best of luck.

    5. Re:What are they trying to protect? by ADRA · · Score: 2, Insightful

      "I don't quite see what is lost by releasing a device driver under GPL."

      Maybe his job if an ARMY of geeks contribute to the driver development. The hardware might also be blocked by 3rd party IP.

      --
      Bye!
    6. Re:What are they trying to protect? by droleary · · Score: 2

      I believe you grossly overestimate the army of geeks who will supposedly buy his product.

      Of course, if that were true, I'd question the business decision to support Linux in the first place. If it's not going to lead to increased revenues for the company, it simply shouldn't be on the table. Linux zealots will likely mod me down, but the business people know I'm right.

    7. Re:What are they trying to protect? by droleary · · Score: 2

      You forgot: ...an army of competitors in the same market who now have your source code which they can use to make their product compatible with your own, while you are stuck spending tons of research dollars on reverse engineering their product to compete.

      Why? If they move to support your product, they inadvertently make you the market leader. They also raise issues of their code now having been derived from your code, and thus required to be GPL'd itself. On the whole, no smart competitor would touch anything you put under the GPL.

    8. Re:What are they trying to protect? by Anonymous Coward · · Score: 0

      If they are patented technologies being used, they are owning up to DELIBERATE infringement if they are witholding the code that specifies this.

      Ergo, Closed-Source driver companies are IP thieves!!!

    9. Re:What are they trying to protect? by runderwo · · Score: 1
      If it's not going to lead to increased revenues for the company, it simply shouldn't be on the table.
      Wow, way to be a dogmatically rational business suit. Maybe it hasn't occurred to you that profit can be reaped in other forms than maximizing immediate shareholder value?

      For example, if I saw a company that was willing to work with the public, I'd be way more likely to buy that company's product, even if it was perceived to be inferior. Reason? I like to get my hands dirty, and I don't subscribe to the producer/consumer dogma. I like having control over the things I own.

      You may disagree and say that you would only support the company that produces the (perceived) best product at the best price, but assuming that everyone should subscribe to those same rationale is a grave mistake.

    10. Re:What are they trying to protect? by anonymous+loser · · Score: 2
      If they move to support your product, they inadvertently make you the market leader.

      The phrase embrace and extend comes to mind. Just because your competitor is compatible with your product does not automatically make you the market leader.

      They also raise issues of their code now having been derived from your code, and thus required to be GPL'd itself. On the whole, no smart competitor would touch anything you put under the GPL.

      Legally this really only applies if the code is *directly* derived from the GPL code, which is very easy to avoid, while still saving lots of money on research and development costs. While you can't cut & paste the code, you can easily see how stuff is implemented, and maybe even make improvements or optimizations the originator was unable to since you have extra development time to spend.

    11. Re:What are they trying to protect? by Jeremiah+Blatz · · Score: 1
      2) More importantly for some applications, if there are over-broad patents that concern your device, supplying source code can easily make the difference between your opponents having grounds for suit and not having them. Your source code reveals your intent behind your arrays, and the purpose of your function calls. When a lawyer is trying to prove your product is infringing, this is significantly better ammunition than hundreds of lines of debugger output that has to be "interpreted" by their experts.
      If you only have binary drivers, they just ask the court to force you to turn over the source. It's called "discovery." IANAL, but my ex-employer was sued, and had to turn over all sorts of proprietary information.
    12. Re:What are they trying to protect? by Weaselmancer · · Score: 1

      ...distributing source for your drivers gives your competition a considerable edge.

      Well, true. But speaking as someone who's been paid to develop Linux drivers I can tell you that the examples are already there in the kernel. Nobody starts from linux/kernel.h anymore. No need. So from that point of view, releasing your driver code hurts nothing.

      That being said, I can see why companies would not want to release driver source code. I once worked on a project at another company that had a Xilinx chip onboard. On load, the driver would program the chip through it's jtag port. Dunno if I would want people poking around in that. Yeah, it could be reverse engineered...but you'd have to know what you were looking for. With the source it would be a no-brainer.

      Betcha NVidia and their ilk have firmware in their drivers. That's probably why they have a bug in their shorts about releasing code.

      Weaselmancer

      --
      Weaselmancer
      rediculous.
    13. Re:What are they trying to protect? by swv3752 · · Score: 2

      1) In a technology sector where "time to market" is a crucial feature, distributing source for your drivers gives your competition a considerable edge. Everyone reading this who codes will know exactly what I mean when I say that having a known-good chunk of software to modify is vastly easier than starting from #include . Drivers are, in fact, a bitch to get right. On a device of median complexity you probably save your competitors a month of dev. time by presenting them with all your clever ideas and a working model on which to base their clone. On a truly clever device you may save them several months.

      But the GPL also protects you, for when they copy your code, they must use the GPL or you rake them over a barrel in Court. Besides, you only have to give a copy upon request from someone you distributed to. If they have to first buy the product from you, then mail in a request with money for S&H, then you ship out a cd third class postal, there goes that month devel time.

      For (2), in a perfect world it shouldn't matter. In this world however, CYA. However I suspect this is not a major concern.

      --
      Just a Tuna in the Sea of Life
    14. Re:What are they trying to protect? by DavidTC · · Score: 1
      Nothing would stop them from still having patented or copyrighted firmware in their drivers. The output of a GPL program is not GPL. It's perfectly possibly to license the firmware under a different licence. Merely including non-GPL text to be output from a GPL program doesn't make the program non-GPL.

      Of course, the firmware should actually be in a different file that's not even part of the module, with as restrictive a license as you want, but whatever.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    15. Re:What are they trying to protect? by scharkalvin · · Score: 2

      Perhaps you can wrap an eula around the gpl for your software. Consider this, you release your driver under the GPL under the condition that ONLY the software is covered by the GPL. The end user may NOT copy any details of the hardware reveiled by the code, and such details are under copyright or covered by patent. Consider that if you DO patent any of the details of your hardware, anyone can view your patents anyway (they are public record) so keeping the source code closed doesn't really hide these details.

    16. Re:What are they trying to protect? by fireboy1919 · · Score: 2

      Merely including non-GPL text to be output from a GPL program doesn't make the program non-GPL.

      I think you're missing the point here...that's why it needs to be non-GPL from company's points of view. Merely including a flash code (not text) to be run from a GPL program makes that flash code GPL. The problem with making a driver GPL is that the firmware code needs to be hidden, which is impossible if any part of that driver is under the GPL. Firmware code can often make a DSP's functionality very, very easy to duplicate - more so than software drivers.

      For certain kinds of hardware the work of the company is more in the firmware than the actual hardware. And hopefully, this will be more and more the case (because it makes hardware highly reconfigurable).

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    17. Re:What are they trying to protect? by droleary · · Score: 2

      "If it's not going to lead to increased revenues for the company, it simply shouldn't be on the table."

      Wow, way to be a dogmatically rational business suit. Maybe it hasn't occurred to you that profit can be reaped in other forms than maximizing immediate shareholder value?

      Maybe it didn't occur to you to actually read what I had written. Nowhere did I mention "immediate shareholder value". I said it should turn a profit; didn't say how or in what period of time. It's up to that business unit to show how they think that would happen. Hint: that would not be by saying no Linux geeks are going to buy the product! You fail to grasp I'm actually on your side; I'm just pointing out that the poster had flaws in their reasoning against open source that could be applied to the whole project, open source or not.

    18. Re:What are they trying to protect? by mpe · · Score: 2

      That being said, I can see why companies would not want to release driver source code. I once worked on a project at another company that had a Xilinx chip onboard. On load, the driver would program the chip through it's jtag port. Dunno if I would want people poking around in that. Yeah, it could be reverse engineered...but you'd have to know what you were looking for. With the source it would be a no-brainer.

      This might make some sense with custom hardware, if you are using off the shelf chips there are typically data sheets/books available.

      Betcha NVidia and their ilk have firmware in their drivers. That's probably why they have a bug in their shorts about releasing code.

      Only if they are using off the shelf hardware. Otherwise all you can see is that you have a string of bytes uploaded at the start and after it is uploaded the interface behaves in such and such a way.

    19. Re:What are they trying to protect? by mpe · · Score: 2

      Of course, the firmware should actually be in a different file that's not even part of the module, with as restrictive a license as you want, but whatever.

      Thus also makes easier such things as upgrading the firmware or allowing the save driver to operate with different hardware (which requires different firmware.)

    20. Re:What are they trying to protect? by mpe · · Score: 2

      I think you're missing the point here...that's why it needs to be non-GPL from company's points of view. Merely including a flash code (not text) to be run from a GPL program makes that flash code GPL.

      So far as the program is concerned the firmware is "text", simply something it has to output in a certain way to some specific device on some specific bus.

      The problem with making a driver GPL is that the firmware code needs to be hidden, which is impossible if any part of that driver is under the GPL. Firmware code can often make a DSP's functionality very, very easy to duplicate - more so than software drivers.

      Unless you know exactly what the hardware is any firmware is for all practical purposes a meaningless string of bytes. Anyone capable of cracking open the hardware (even if it's custom) isn't going to find it too hard to disassemble a binary driver or to plug the hardware in through a data capture device.

    21. Re:What are they trying to protect? by mpe · · Score: 2

      You forgot: ...an army of competitors in the same market who now have your source code which they can use to make their product compatible with your own,

      All using a binary only product might do is slow them down a bit.

      while you are stuck spending tons of research dollars on reverse engineering their product to compete.

      The only way this could happen is if your competitor was producing at least two product lines. Since all of the stuff they are producing which is compatable with yours has GPL drivers.

    22. Re:What are they trying to protect? by DavidTC · · Score: 1
      I don't think you're exactly right. While including code in a GPL program makes it GPL, writing a program to upload firmware to a device and GPLing the program doesn't make the firmware GPL, anymore than running my latest Great American Novel though 'cat' makes my novel GPL.

      Or, to use an actual example, Glade is a GPL program that produces program frameworks that are not GPL. And gcc builds non-GPL works also, even though part of the 'compiler' ends up in the program.The mere output of a work by a GPL program doesn't make it GPL.

      In fact, I think there was a specific example of this somewhere that RMS commented on. It is okay to include non-GPL code in a GPL program if the code is not part of the program and merely part of the output.

      (This is, of course, ignoring the fact that uploading a driver isn't really 'output' in any meaningful sense.)

      You're just have to clearly distinguise between the GPL code and the firmware, which should be easy...the GPL is C source code, and the firmware is a random machine language.

      Of course, like I said, all this could be avoided by specifying the firmware file at run time. It's clearly not part of the program if you do that.

      --
      If corporations are people, aren't stockholders guilty of slavery?
  23. A cow by any other name... by Anonymous Coward · · Score: 1, Insightful

    The GPL would only begin to apply if you used existing code that was already GPL'd and incorporated it into your own project, thereby making your code part of somebody else's project and therfore governed under the GPL, which would force you to release your code.

    Simply using library functions of GPL'd software doesn't mean you have to release your source code. It does mean, however, that you should credit somebody else's work for giving you the functionality that you didn't write yourself.

    Kylix is a perfect example of a binary-only development platform from Borland that has done it this way.

    However, if you release a binary-only driver, you must ensure that it's compatible with the various Linux kernels.

    You do not have to release the source code.

    1. Re:A cow by any other name... by Anonymous Coward · · Score: 0

      BZZZZZZ! Wrong!

      You can still violate the GPL by distributing binary code dynamically linked to GPL'ed source. If your program is a "work based on the program", as defined by the GPL, you are required to distribute the source of your code under the GPL. The copying of GPLed code is not necessary.

    2. Re:A cow by any other name... by QuickshotIV · · Score: 2, Informative

      > Simply using library functions of GPL'd software doesn't mean you have to release your source code.
      > It does mean, however, that you should credit somebody else's work for giving you the
      > functionality that you didn't write yourself.

      This is not insightful, this is wrong.
      See GPL-FAQ:

      "You have a GPL'ed program that I'd like to link with my code to build a proprietary program. Does the fact that I link with your program mean I have to GPL my program?"
      Yes.
      There seem to be some exceptions for the kernel though, see other postings.

    3. Re:A cow by any other name... by entrigant · · Score: 1

      +5, Insightful? wtf is wrong with moderators. This post is 100% completely wrong. How crap like this gets modded up and my stuff doesn't I'll never know.

      Perhaps you should read the GPL some time. Linking to GPL'd code requires you to license your code under the GPL as a derivative work. Why exactly do you think the LGPL was created? It's bad enough spreading misinformation as if it were fact like this... doing it and getting modded up tho... *shakes head*

  24. article on embeeded software by Anonymous Coward · · Score: 1, Informative

    See also the article "Pick and place: Linux grabs the embedded market" on http://www.e-insite.net/ednmag/index.asp?layout=ar ticle&articleid=CA253780&pubdate=10/31/200 2. Besides other information it describes some licensing issues and solutions with embedded software

  25. Playstation 2 Linux by GeLeTo · · Score: 2, Informative

    Do what Sony did with the PS2 Linux - boot a Runtime Environment that has all the required drivers before running the linux kernel. Make open-sourced Linux device drivers that will use the Runtime Environment drivers. This is a similar to using BIOS calls from within the kernel.

    1. Re:Playstation 2 Linux by RKloti · · Score: 1

      Yeah, real practical. Rather than just programming a kernel driver, now you want him to effectively implement a complete hardware abstraction layer.

      What planet are you living on?

    2. Re:Playstation 2 Linux by GeLeTo · · Score: 1

      The HAL can be a very simple barebone driver that will just call the appropriate functions in the Runtime Environment. The only downside of this approach is the slightly higher function call overhead because of the redirection. As for the planet I am living on - I guess it's the same planet where the Sony engineers live.

  26. Addition/Correction by cduffy · · Score: 5, Informative

    No operating system can have userspace drivers without context switches.

    By that I mean no operating system with memory protection for userspace apps. It's possible to give up this benefit (even selectively) for improved userspace performance; see Kernel Mode Linux for a kernel patch that does just that (and which might be applicable to this fellow's situation).

  27. Re:EVER HEARD OF ME SHOVING MY FOOT UP YOUR ASS? by Anonymous Coward · · Score: 0

    Yes, I have heard of that.

    What size shoe do you wear?

  28. Userspace programs may not be protected by Anonymous Coward · · Score: 1, Insightful

    I disagree with the lawyer. User space programs may not be protected from the GPL.

    I know there is a comment in the kernel version of the GPL from Linus stating that user space programs are exempt from the GPL as applied to the kernel. That probably won't protect you because:

    1 - Linus is not the only author of kernel code, and thus cannot provide a complete exemption from all kernel source. Any author of kernel code may disclaim that exemption.
    2 - There are a number of libraries that are not released under the LGPL: you should be careful to avoid those if you want to remain isolated from the GPL or other open source licenses.

    The real issue would be whether or not your code is a "work based on the program" as defined in the GPL. That question will be the subject of intense scrutiny and debate should any of the authors of the used GPL code choose to assert their rights in court.

    The GPL is a HUGE minefield to commercial developers. It has not been tested in court. The best your lawyer can offer is an educated opinion based on contemporary interpretations.

    Please do not consider this to be legal advice.

    1. Re:Userspace programs may not be protected by yatest5 · · Score: 1

      Please do not consider this to be legal advice.

      I love the way people specift this. I can just see this guy in court now:

      'But, your honour, user 'Anonymous Coward' said that.....'

      --
      • Mod parent up! [a] by Anonymous Coward (Score:5) Thurs, June 31, @13:37
    2. Re:Userspace programs may not be protected by spitzak · · Score: 3, Interesting
      User space programs *ARE* "protected from the GPL".

      All contributers of code to the kernel know that the kernel will be used to run proprietary programs. This knowledge implies that they consent to having their code used this way.

      There are no useful libraries that are not LGPL or BSD or otherwise usable by your user-space program. Every time this comes up people say exactly the same one: readline. Yes that is GPL, but I think you will find it pretty useless for a driver. And that is a pretty pathetic example.

    3. Re:Userspace programs may not be protected by sholden · · Score: 1
      All contributers of code to the kernel know that the kernel will be used to run proprietary programs. This knowledge implies that they consent to having their code used this way.


      Rather than realying on some implicit concent why not read the damn license. The *first* paragraph of the COPYING file in the kernel source tarball 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.
  29. GPL and device drivers by tjcw · · Score: 1

    Nobody wants to force you to give away some original work that you don't want to make a gift of. However, you should examine what someone could do with a gift of the source code; the obvious answer is 'buy more of your embedded network products'; if that's what you want people to do, and if the gift is really yours to make (i.e. it really is original work), maybe you should consider it.

    1. Re:GPL and device drivers by Smallpond · · Score: 1

      "Nobody wants to force you to give away some original work..."

      Not true, that is the entire purpose of the GPL.
      If you profit from the use of GPL code, you are
      forced to donate your source code. This is being
      [en]forced every day by FSF legal counsel. See

      Enforcing the GNU GPL

      The recent battle between Progress Software and
      MySQL is a case in point.

    2. Re:GPL and device drivers by chromatic · · Score: 1

      You have very curious definitions of the words original, profit, and donate. You might also do well to consult a dictionary about derivative and distribute. Best of luck.

  30. Re:Another Winner by dasmegabyte · · Score: 5, Insightful

    Easy. People ask slashdot because slashdot readers have actually had to deal with these matters on a day to day basis. Your average lawyer may see a handful of case studies.

    Now, he may have gone to the sort of lawyer that specializes in software licenses (what sort of lawyer is this? a very very rich sort), in which case you're right that it is kind of stupid to approach the trolls and IANALs. But if he went to Joe Q. Publicstein of Publicstein, Stern and Lowe, chances are he'll get a much more specific answer and leads on a case he may be able to point his legal eagle towards. Which could result in a much more informed decision.

    By the by, I've got a feeling that the people who MIGHT press a case on the GPL have bigger fish to fry than a company writing a device driver. If they can't catch Microsoft biting GPL code, why are they going to hunt down developers expanding the OSS market?

    --
    Hey freaks: now you're ju
  31. Our drivers are fully GPL on purpose by devaldez · · Score: 2, Insightful

    I believe that lawyers just haven't digested the GPL AND the GPL hasn't had any case-law precedents to support or refute it. Like most professionals, lawyers are conservative and risk-averse. It may be years before any organization embraces the GPL because lawyers don't know how to handle it.

    It took years (3 to be exact) to get lawyers comfortable with the GPL. Honestly, I prefer the FreeBSD license on all levels, but that's just my opinion.

    None-the-less, we've migrated to a GPL-only policy based on our lawyer's requirements, so we're fully compliant. I'd post our URL here, but last time I got moderated out;)

    --
    "... but you can love completely without complete understanding." - Norman Maclean, "A River Runs Through It"
  32. Whats wrong with a user mode driver? by oolon · · Score: 3, Informative

    Yes you can say its more efficent to have it in kernel space, but its an embedded device so any efficency problems can be counteracted by knowing exactly what is gojng to be run on the system. If you cannot get all the information you want in user space, write a driver to patch the information you need though to user space.

    An example of this is binary firmware for devices, you can just patch the loading routinues through a driver an upload a what ever you like. For example the DXR2 drivers provide all the access functions, but within the magic binary only firmware they are useless, the only thing your "device" gives away is how to write a kernel modules, but there again, you could just take someone elses gpl kernel modules and make it work for these ends saving you development time.

    Having said that run time loadable modules do not have to be GPLed the only code your need to include to build one of these are kernel header files and if you look carefully at those they are not GPLed so the compiled object does not have to be GPLed. I believe using non gpl loadable modules in a GPL kernel is specifically allowed (I believe).

    I think this system fits with the linux point of view. Getting support for as much stuff as possibile is good if it means non gpl fine, just don't expect us to help you. Non gpl is better than nothing at all (in many peoples book). But there again, I don't buy nivida graphics cards because of their policy of binary drivers.

    James

  33. Linux != Linus by ??? · · Score: 2, Informative

    Linus is not the freakin' copyright holder. He is the copyright holder of a significant portion of the code, but not all of it.

    1. Re:Linux != Linus by kscguru · · Score: 1
      Not having written for the kernel myself, I'm not 100% sure, but...

      I'd guess that anyone who submits a patch back to Linus is de facto making him a copyright holder of the code in the patch (well, assuming he is also the holder of the original code ... but I'm pretty sure he has the copyright for the 0.01 kernel!). IANAL, but I think it's a safe bet that sending a patch (w/o an explicit license agreement) constitutes a gift.

      All linux patches then work on the assumption that Linus is a nice guy and will push the patch out in a publicly-licensed release of Linux. And this is so far a completely safe assumption: Linus has not shown any commercial interest in the Linux source code, but has shown extreme interest in making Linux as good a kernel as possible.

      Although, for comparison, look at SourceForge: when they went proprietary, they stripped out all changes to their original codebase and went back to a version they owned the copyright for. Very conservative approach, but you'd never find a hole in it...

      --

      A witty [sig] proves nothing. --Voltaire

    2. Re:Linux != Linus by albalbo · · Score: 2, Insightful

      > I'd guess that anyone who submits a patch back to
      > Linus is de facto making him a copyright holder of
      > the code in the patch (well, assuming he is also
      > the holder of the original code ... but I'm pretty
      > sure he has the copyright for the 0.01 kernel!).

      No, this is not the case.

      > IANAL, but I think it's a safe bet that sending
      > a patch (w/o an explicit license agreement)
      > constitutes a gift.

      It doesn't constitute a gift. Authors have copyright over things they create; that is the law. The copyright of Linux is so widely spread that it is now unlikely that it could ever be relicensed.

      Witness the problem when Mozilla relicenced - they had to go and find all the old hackers who used to work on the code to gain their permission to relicence.

      --
      "Elmo knows where you live!" - The Simpsons
  34. Great by Espectr0 · · Score: 1

    There goes a whole bunch of "IANAL" posts. Come on, i am ready ;)

  35. Nvidia *does* distribute binaries! by crush · · Score: 2, Insightful

    You are correct that NVIDIA distributes binaries only, your companies lawyers are confused. There is no problem with them doing this because their drivers are original works not licensed under the GPL. The only thing that can stop them doing that is if the customers have an ethical objection, and as we've seen a large number don't.

    I'm not sure how this is even an issue for your company unless you are not talking about writing your device drivers from scratch, but are instead modifying GPL'ed code with the intent of redistributing it on your hardware. If that's the case then you are legally obliged by the GPL to release the source code for those modifications.

    If you're writing your own drivers from scratch then you can do whatever the hell you want with them: it's entirely your own work and you're not stealing from people by taking their GPL'ed work and rebranding it as your own with a few tweaks.

    So, where's the issue? Can you clarify exactly what it is that you're doing?

    1. Re:Nvidia *does* distribute binaries! by Anonymous Coward · · Score: 0

      This was discussed on lkml again, and legal argument put forth by linux was that things that tended to be pre-existing and were "ported-over" could be defended as orginal works and not end up as derived works of the kernel and thus be GPL. Linus said he believed nVidia fell in this catagory. They key of course would be how to develop your module so it can be defended as an orginal work.
      Linus clearly stated that he made no gaurentee about spefically what was ok as a binary only driver. Only that a company must be able to defend their work as being classified as a derived work.

    2. Re:Nvidia *does* distribute binaries! by dinivin · · Score: 2

      The only thing that can stop them doing that is if the customers have an ethical objection, and as we've seen a large number don't.

      And, as we've also seen, a large number do.

      Dinivin

    3. Re:Nvidia *does* distribute binaries! by crush · · Score: 2

      Myself among them. I will never buy an NVIDIA card as long as their drivers are non-Free. Apart from anything else it means that most major GNU/Linux distribution are going to refuse support because code they can't debug is present in the system. It's just not worth it for me. Matrox and ATI are just fine.

  36. Keep the kernel clean by Outland+Traveller · · Score: 3, Interesting

    We've stopped using Rational products precisely because of the proprietary kernel driver issue.

    There's nothing more irritating to me than than trying to shoehorn binary drivers into kernels they were inevitably not designed for.

    My advice to you would be to do your proprietary driver in usermode, or put a small GPL'd driver in the kernel that then communicates to your proprietary code using a published, well defined interface.

    Keep in mind, however, that all other things being equal using a proprietary software driver under linux puts you at a competitive disadvantage. If ATI's open source drivers had as solid an openGL feature set as NVidia's under linux, I'd switch in a second.

    Why don't you move your proprietary IP into the firmware of your device and leave the driver open?

    1. Re:Keep the kernel clean by Malor · · Score: 1

      Nvidia is getting a strong advantage from their proprietary drivers.... if they were open source, how much you wanna bet that ATI's OpenGL drivers would be running just fine?

      Releasing the source is not always a good idea. I really don't like the Nvidia binary drivers, but they'd be shooting themselves in the foot if they gave away the source code for their excellent OpenGL support.

    2. Re:Keep the kernel clean by GlassHeart · · Score: 2
      all other things being equal using a proprietary software driver under linux puts you at a competitive disadvantage. If ATI's open source drivers had as solid an openGL feature set as NVidia's under linux, I'd switch in a second.

      Exactly what good would it do NVidia if they opened their sources so that ATI can copy it and have a "solid OpenGL feature set" like them?

    3. Re:Keep the kernel clean by Outland+Traveller · · Score: 3, Interesting

      Exactly what good would it do NVidia if they opened their sources so that ATI can copy it and have a "solid OpenGL feature set" like them?

      What part of "all other things being equal" did you not read?

      Having said that, I'd still rather see graphics board hardware vendors compete on the merits of their hardware, rather than make their drivers undebuggable and closed source.

      Our application heavily uses the NVidia cards for specialized rendering, and as solid as their linux drivers are, they are not very solid. Our applications regularly crash their driver doing perfectly legal openGL calls. When this happens we get NO USEFUL DEBUGGING OUTPUT. Either X crashes, or the system hangs, with no logging, even if you supposedly enable logging in their driver options.

      It is an arduous process to track down exactly what sequence of calls crashes their drivers, write an example app, and then send it in to NVidia to fix sometime in the next 2-4 months. It would be so much more helpful to see for ourselves where the problem is occuring. We've asked for drivers with better debug multiple times, but they won't provide any because of "IP Issues".

      On top of all this, there's issues with them not properly supporting various kernels, their lack of official support for linux related questions (their community message board is useless for getting an answer to serious questions beyond installation), and the fact that you no longer have a single source for the linux kernel builds. On top of this you now have to deal with kernel tainting and all the irritation that causes.

      I remember reading an article last year about The Weather Channel sponsoring a team to improve ATI's linux drivers. I think it's only a matter of time before other reasonably performing graphics cards offer good accellerated openGL drivers that ARE open source, and ship with the linux kernel. When that happens, there will be little reason for us to stick with closed source NV.

  37. Cease and desist? by SuperBug · · Score: 1

    An aspect, which I'm sure has been tossed around, is that the GPL won't let those involved "lose" their intellectual property, it will only strengthen it. The free support of the community, for something which is useful, can far outweigh the risks of going GPL. Though, I should point out, that GPL isn't the ONLY good open license. I particularly like the BSD license when dealing with "for profit" software. Take the Apache Foundation for example. Most of their software, all?, is BSD style licensed. Covalent is a company which makes money from that licensing. So, as you can see, it is worth while opening up the source, just a manner of deciding what you want people to do with it. For profit, BSD, for anything, GPL. The end result, IMHO, is that they won't have to waste time and money with cease and desist orders, if they use BSD licensing. It's a more clear avenue for business uses, where drivers are concerned. Drivers and other modular pieces of software which enable devices hold a special kind of importance for companies. Almost a "trade secret" mentality. Problem is, they're usually written to a specification which people can pay for, license, etc, and then build their own anyway. Hope you got something out of this.

    --
    --SuperBug
  38. place propriary code in a library by eggestad · · Score: 2, Insightful

    Check this with your lawyer:

    You place all your propriary code in a library that don't access anny kernel functions or structs (read symbols) directly.

    Then you write a GPL "layer" that maps all kernel stuff to your own interface that your lib uses, and calls functions in your lib.

    This way you have a GPL module that just happen to need a propriary library to compile.

  39. Binaries are bad by jtra · · Score: 1
    Binary only drivers are bad. User is dependent on mercy of vendor when problem occurs (some other device which is incompatible with this, new major kernel release). Users (especially those using linux) are not stupid, they know that device with source driver is better investment.

    Go for source driver. It will be included in kernel (if it is not too ugly). This is big win.

    1. advanced users can fix it if something breaks. You have gained support for free.
    2. others just know to write modprobe drivername and everythings works! (I suppose they would be using distro with precompiled modules)
      1. You won't regret.
    --
    -- Wanna textmode user interface for ruby? http://freshmeat.net/projects/jttui/
    1. Re:Binaries are bad by Anonymous Coward · · Score: 0

      You forgot:

      3. It saves your competitors a lot of money in R&D as they can just look to see what you've done.

  40. LGPL? by Phlatline_ATL · · Score: 1

    I had gone through this with a co-worker a number of years ago over an ODBC driver that had been released under GPL and due to the rammifications of the GPL we would not be able to use the software. now my memory is a bit fuzzy but I think we had contacted the author to re-release the driver under the LGPL (either Lesser or Library) which if my mostly roasted braincells keep telling me was written exactly for these types of scenarios. I don't have the exact details but you could look into it.
    I think the driver was the openlink iODBC driver (which depending on which version you look at is under GPL/LGPL)...take a look at the following circa jan 1999

  41. Put your intellektual property in userspace. by Anonymous Coward · · Score: 0

    That is, create a small GPL'ed kernel driver,
    and put your intellektual property in userspace libraries.

  42. Protecting Intellectual Property? by Anonymous+Canard · · Score: 1
    I think your Lawyers are basically correct in this. It isn't really a matter of protecting your own IP, but of complying with the license you must agree to in order to distribute someone elses IP, namely Linux. If you write a proprietary device driver that links directly into the kernel, then so long as you own the entire proprietary source code to that driver, you don't have to comply with the GPL -- the reason you don't have to comply with the GPL is because you aren't distributing GPL'd code; you are only distributing your own code.

    As soon as you start distributing GPL'd code in addition to your proprietary drivers you will be in trouble. The GPL only allows you to distribute the GPL'd code if any code that you link to it is likewise GPL'd or under an equivalently free license. At that point you are out of compliance with the license, and thus have no right to distribute the GPL'd code.

    So I'm sorry, but I agree with your lawyers on this one.

    --

    --
    BitTorrent in C -- LibBT
    http://www.sf.net/projects/libbt
  43. But I am not going to buy your binary only driver by codepunk · · Score: 2

    You can bet your sweet ass that if I have a choice between a card or some hardware that comes with source or a binary driver your binary driver can pack sand along with with the lost sale. I admin clusters for a living and if I ain't got the source I cannot compile a reliable kernel so I have no need for your hardware.

    --


    Got Code?
  44. Technical Reasons by ??? · · Score: 1

    I tried to give them a few examples of companies distributing binary only drivers (NVIDIA and Rational)

    Note that (at least with NVIDIA), they started distributing source for _technical_, not license issues. It was too costly for them to evaluate and ensure binary compatibility with so many versions of the kernel. So, initially, they released obfuscated source, so you could compile, but not really understand. If they were to fall under the GPL, this would not be permitted.

    The company was very concerned about GPL issues and consulted a lawyer - who advised us to go for a user-space driver... Is writing a user-mode (and hence not very efficient)

    From a technical perspective, if you don't *need* your driver in-kernel, don't put it there. I mean, if you're doing a storage or filesystem or ethernet driver, you usually _need_ to be in kernel. Otherwise, you usually don't... I learned this lesson by having a driver rejected for inclusion, because it didn't belong in kernel.

    That said, for most of the subsystems, there are user-mode APIs that are low-level enough that you don't take a huge performance hit from going to user-mode. USB devices, for example, take a _very_ small performance hit from going user-mode.

    1. Re:Technical Reasons by Malor · · Score: 1

      I don't think there's anything in the GPL that says the code you release has to be easy to understand, is there?

      If so, I suspect about half the software on Freshmeat wouldn't qualify. :-)

  45. Module API by be-fan · · Score: 5, Informative

    The kernel exports certain symbols that are available for driver modules to link to. These symbols are classified by license. Many symbols a driver can link to without having to be a GPL'ed driver. These symbols, presumably, are written by people who grant permission to link against non-GPLed code. Other symbols (for example the new work-queues stuff) are exported as so-called GPL_ONLY symbols, and linking against those in a non-GPL module is illegal. Thus, if you avoid using the GPL_ONLY symbols you can probably get away with a binary only module. The fact that this mechanism exists implies permission, so this aspect would be important to bring up to the lawyer.

    --
    A deep unwavering belief is a sure sign you're missing something...
  46. Living With The GPL by Compulawyer · · Score: 5, Insightful
    I am a patent guy, so my licensing experience with the GPL is rather limited (except for using GPL'ed software). However, upon a cursory review, it seems as if this section of the GPL is the cause of most of the concern:

    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.

    I think the keys here are what count as distribution and separate works. Obviously, the GPL was drafted with traditional software in mind and is not tailored toward embedded systems. You have to answer the questions "Is this a work based on the Program [a piece of software covered by the GPL]?" and "Is this an independent and separate work?" Unfortunately, I don't have enough facts about your system, and we don't have an attorney-client relationship, so I can't give you an answer. What I can tell you is that you should make sure your lawyer is familiar with your code development processes and distributions systems and knows enough about software development so that he can draw principled distinctions between different ways of doing things.

    --

    Laws affecting technology will always be bad until enough techies become lawyers.

    1. Re:Living With The GPL by masterplanorg · · Score: 1

      Obviously, the GPL was drafted with traditional software in mind and is not tailored toward embedded systems.

      Isn't this what Terry Lambert has been saying for a LONG time? Literally years?

      --
      The Master Plan Always Fails
    2. Re:Living With The GPL by 200_success · · Score: 1

      Supposing that you wrote a module that could run on a BSD as well as Linux, wouldn't that be sufficient proof that your work was "independent and separate?" After all, it doesn't need Linux to do something meaningful.

    3. Re:Living With The GPL by firewood · · Score: 1
      "Is this an independent and separate work?"

      And why shouldn't all embedded devices be considered one "work"? The device will usually not function without both the OS and the drivers; and the driver and OS are usually customized for exact hardware environment being shipped. In many embedded devices all software exists in one memory space, since there is no MMU hardware. The concepts of "userland" and "linking at runtime" don't seem to mean as much if the device performs one specific function and is the device is running as soon as it's manufactured.

  47. Proprietary modules may be on their way out... by Florian+H. · · Score: 3, Informative

    This very question (and a possible change of Linus' position on this) has just been the top story of the last LWN issue: Proprietary kernel modules - the boundary shifts?

  48. "supporting linux" by user+no.+590291 · · Score: 1

    Releasing a binary only driver is not "supporting Linux." If I need a device, I'll buy one that has source drivers available, thank you very much.

    1. Re:"supporting linux" by Anonymous Coward · · Score: 0

      Let's see, I have my really cool hardware widget that for what ever reason I can't release the source code. Now I could shy away from the GPL entirely and still make a pile off of the Windows community. Or I could jump through the legal hoops and release a binary only Linux driver. How is the latter not supporting Linux compared to the former?

      Certainly releasing a GPL'd driver would be the most supportive, but don't go saying that a binary only is not supportive. Is you mind so clouded by the GPL that you can't see how encouraging hardware vendors to release any kind of Linux driver is a good thing?

      Never mind OP, just put out a nice binary FreeBSD driver and forget all the GPL legal headaches.

    2. Re:"supporting linux" by Anonymous Coward · · Score: 0
      Now I could shy away from the GPL entirely and still make a pile off of the Windows community.

      And let your competition have the Linux market, with truly open drivers. Fine by me.

  49. Talk to Montavista by gouldtj · · Score: 2

    I would talk to the fine people at Motavista as they deal with this everyday. I think they also may know some lawyers who are educated on this issue. If your doing embedded they can also be really useful there too :) (Note, I don't work for Montavista)

  50. Just do it by damas · · Score: 1

    Your lawyer is an idiot. Change it. Ask next lawyer, etcaetera. Seriously, NVIDIA is _DISTRIBUTING_ a linux driver, binary only.

  51. What is the name of your company by Anonymous Coward · · Score: 0

    So I can avoid buying your products.

    You are using a technically inferior and philosophically inferior OS for use in embedded products.

    Switch to NetBSD and your problems are solved.

  52. What does your driver show off anyway by ASaidi · · Score: 1

    Really, most drivers don't to much more than copy bits to a card or setup DMA so the cards can do it themselves. On startup they do a little initilization. Really, if you want to know what commands are sent to your device you could hook up a PCI analyzer to the bus and watch everything. The only other thing special you could be doing in your driver is some kind of packet mangling to send the packet to you hardware. If there is something really cool that you do in your driver now, I would guess your company has patented the idea. So there really should not be much harm in telling the world see how to initilize and use your card.

    It's not like we are not talking about some propriatery device that only a select few make. But rather a network adapter which recently everyone and their particular dog have made. There really is not much you could not find in another driver.

  53. I've taken the mostly user-mode route. by highfreq2 · · Score: 1

    I put together a dead simple driver that only translates interrupts to blocking reads and poll/select. This allows me to eliminate hard polling loops and/or high latency sleepy loops. Beyond that, all of the I/O is done in user mode. This is for a 16-bit, I/O based ISA card, so it doesn't exactly strain the system performance. In testing I've found if you can use the ins() and outs() system calls to perform large chunks of I/O in big whacks, the perfomance is indistiguishable from I/O in kernel mode. Of course, this may only be true for the ISA bus.

    However, if I do end up writing a kernel mode device driver, I will have no problem licensing under the GPL. I think some companies are just too paranoid for their own good.

  54. OT: Law School for Geeks? by Vagary · · Score: 3, Insightful

    Does the legal community realise that they are in desperate need of lawyers with technical background? If so, are the law schools doing their best to fulfill this need such as lowering admission requirements for people with technical backgrounds or targetting recruiting? Are law schools completely full of English and Philosophy majors that need to get a job or is there some diversity there?

    I'm asking because in a year or so I'm going to have a Master's in CompSci and I'm considering my options afterwards. While a PhD would be nice, I've also been looking at law school. I don't think I could resist getting an emphasis in technology law, however I'm not sure what to expect...

    1. Re:OT: Law School for Geeks? by fain0v · · Score: 2, Interesting

      A friend of mine is going to law school at DePaul. He graduated with a dual degree in ee and cs. Going into patent law isnt the most exciting field around, but they pay you in cubic foot blocks of cash.

    2. Re:OT: Law School for Geeks? by jbolden · · Score: 3, Informative

      Does the legal community realise that they are in desperate need of lawyers with technical background?

      Yes

      If so, are the law schools doing their best to fulfill this need such as lowering admission requirements for people with technical backgrounds

      Yes

      or targetting recruiting?

      No

      _____________

      BTW they actually want stuff like chemestry and biology more than compsci. An understanding of computer technology is much more part of the culture and thus non science oriented lawyers have less trouble. In other words a history major knows what software is and may even know what a divise drive is; but they don't know what an omega-3 fatty acid is.

    3. Re:OT: Law School for Geeks? by RAMMS+EIN · · Score: 0, Offtopic

      ``a history major knows what software is and may even know what a divise drive is''
      Whew...those history majors must be really smart... I even don't know what a divise drive is... Or maybe it is actually divide drive?

      Divide Drive, n: The drive to divide the opposition, in order to better be able to help them. Historically, this has been attributed to the Red Army in the Russian Revolution. See also Russian Revolution.

      --
      Please correct me if I got my facts wrong.
    4. Re:OT: Law School for Geeks? by Anonymous Coward · · Score: 0
      such as lowering admission requirements for people with technical backgrounds
      Hah! Philosophy majors are a joke. English is harder than Philosophy, and not everybody can do English, but neither one is nowhere near as hard as a proper Engineering program. Even considering that, Engineers still turn in grades just as high as Philosophy or English majors.

      The world is full of people that are able to use Windows...these people aren't really `technical'. A Master's in CompSci probably means you have more technology knowledge than the average lawyer, but to make the big money, you'd end up being some big corporation's bitch as part of a team of lawyers, and your technology knowledge wouldn't come to much. There's a lot of money in patent law right now, but then again, look at the patent system.
    5. Re:OT: Law School for Geeks? by Chemical+Serenity · · Score: 2, Funny

      IANAL, but I think he meant to say 'device driver'. ;)

      --
      "People will pay big bucks for the luxury of ignorance."
    6. Re:OT: Law School for Geeks? by scoove · · Score: 3, Interesting

      Does the legal community realise that they are in desperate need of lawyers with technical background?

      Being an official intellectual property attorney groupie (waaay to many of my friends are in the legal profession), I think there's a plausible explanation as to why there are so few technically savvy attorneys.

      Look at one of the fundamental skills most attorneys need: a reasoning ability that permits them to see/argue/communicate/explain either side of an issue. Some would call this relativism, but I think that reflects a deeper personality issue that most attorneys I know don't have - they do have a sense of "one right answer" deep down, but must overcome it in their profession. Plus, much of this kind of problem solving is abstract/extroverted, e.g. dealing with people to wrestle with the problem domain. Often, these dealings are confrontational and you've got to get a high off of such interpersonal confrontation to survive in much of the legal field.

      Contrast that with most technical persons and the skillset requirement that they evaluate a rather objective concept-area and determine the "best / correct answer." Relativism and subjectivity never worked very well in computer science. Combine this focus with the non-social interaction (working with machines, not people) and a general dislike of interpersonal confrontation, and you'll see why technical folks exist here and not on the other side.

      Most of the IP attorneys I've worked with subsequently have either been attorney minds who dabble in tech (i.e. they laugh at Dilbert, have read Bill Gates's book, and bought Microsoft stock), or techies who got a law degree. Interestingly, the latter never seems to do very well in the legal profession - every single one I've known has gone back to dealing with computers, not people.

      *scoove*

    7. Re:OT: Law School for Geeks? by Vagary · · Score: 2

      Did the techies who gave up on their law degrees still find them valuable? I'm not considering law school just because I might enjoy practicing law, but also because legal literacy is even more important than computer literacy in today's world.

    8. Re:OT: Law School for Geeks? by Anonymous Coward · · Score: 1, Informative

      Yes, the legal community does realize that there is a need for technical knowledged attorneys. I'm currently a 1L (first-year) student at the University of Houston with an EE bachelor. I chose the school because it is strong in Intellectual Property law. The IPIL (Institute for Intellectual Property And Information Law) at UH seems to be fairly well-respected and I attended a lecture last week with one of the judges on the Federal Circuit Court of Appeals (They hear patent appeals). I would say 10% of my entering class has a technical background, and most of those are interested in some form IP/Patent Law. I barely have any legal knowledge on IP issues (I'll get that next year), but I will say that the recruiting effort to get engineers into Law School is negligible, but based on the extremely high number of applicants to law school, it doesn't look like many law schools are interested in recruiting. And to close, it does appear some schools consider a technical background in admissions, but the way the LSDAS (central distribution of transcripts, think Palladium of law school admissions) ranks students is based on your standing across the university, so even though my GPA was in the top 20% of the engineering college it was below 50% for the school as a whole, that made it difficult to get into some schools that just use formulas.

      Brandon
      bjlee .at. central.uh.edu

    9. Re:OT: Law School for Geeks? by stevezero · · Score: 1

      I am a 1L here in San Diego with a History background, but have been a self-taught geek since the early Apple ][ days. Unfortunately, a vast majority of my class aren't technically aware. I'm the only one in my class using Linux rather than windows on their laptops Aside from that, I have to agree with my colleague Brandon up above. It does matter what grades you get in compared to the whole university. I knew at my undergraduate university that the CS and EE departments were highly competitive and brutal with grades. In addition, I have noticed that one of the biggest requirements for success in Law School is being able to write coherently in whatever language the school is teaching in (in my case, American English). As well as being able to analyze a set of facts and see the shades of grey and be able to not only comprehend the difference, but accept it. In other words, the law is not digital..not 0 or 1, but analog...with an infinite number of variations. This is what history taught me. It is logical to a point, but not in the Vulcan sense. You can't write laws like code. There is no magical 'lawcc' compiler that will throw up if you don't write it out correctly. This is what, in my observation, makes it difficult for some geeks to handle law school. What's the solution? I don't know. I know for me I had to get out of the 0s and 1s and see the sine wave underneath. Maybe most of the people in law school need to have 0s and 1s thrown at them. but then again...what do I know?

    10. Re:OT: Law School for Geeks? by Anonymous Coward · · Score: 0

      alot of the smart young law students are seeing tech as sexy. Some of them got burned with Napster while undergrads, some of them see $$$ from all the upcoming IP lawsuits, but the biggest thing is the appeal they see in tech. First there were dotcoms awash in money, and now Larry Lessig is arguing before the supreme court. From those I know, it's seen as a very sexy field, but the official stance of the old guard is to completely ignore it.

      A law student I know says he tried to bring up Eldred vs. Ashcroft as a current example in a discussion rulings legislating morality, and the lecturer first claimed ignorance, and then refused to discuss it.

    11. Re:OT: Law School for Geeks? by Anonymous Coward · · Score: 0

      it is not in the lawyers interests to get the litigation down right. More court time means more work, means more money. It is in the lawyers interest to make things and difficult and complex as possible to ensure continued litigation and more work. If they actually understood the technology things might get done right the first time and there would be less return business.

  55. The Sharp Zaurus (embedded like you) does it by Anonymous Coward · · Score: 0

    The "Secure Digital" slot requires a binary only kernel module. It is shipped with the Sharp Zaurus.

    If Sharp (large, big company) doesn't have a problem doing it, then you shouldn't either.

    http://www.myzaurus.com/

  56. GPL questions are very fact-intensive by n8ur · · Score: 5, Insightful
    IAAL, so unlike most of the posters here, I'm not going to give you a black-and-white answer :-)


    My gut feeling is that a loadable module that does not itself incorporate any GPL'd code does not fall under the GPL just because it's run in conjunction with a GPL'd kernel. After all, even if the kernel + driver are considered together to create a derivative work, it's the user, and not you, who creates that derivative work at runtime.


    And, the fact that you're using GCC to compile the module doesn't mean anything in and of itself. The real question is the license status of any libs that are linked into the resulting object code file. Whether they are under GPL, LGPL, or something else makes a big difference.


    Now for the shades of gray part... any time you're dealing with GPL questions, you have to look at the genealogy of the running executable, working backwards to see what licenses govern the component pieces. It's a very fact-intensive process, and without understanding where all the code came from, you can't come close to giving a reasonable answer.

    1. Re:GPL questions are very fact-intensive by Anonymous Coward · · Score: 0

      "Now for the shades of gray part... any time you're dealing with GPL questions, you have to look at the genealogy of the running executable, working backwards to see what licenses govern the component pieces. It's a very fact-intensive process, and without understanding where all the code came from, you can't come close to giving a reasonable answer. "

      But, you missed out one hugely pertinent fact.
      This occurs with ALL SOFTWARE EVER WRITTEN!!!

      The only way to get around that is to ensure that you use ONLY your own code in ALL places (libs, algorithms, etc...). In fact you can still be bitten on the bum in the US, 'cos of Software patents, but that's another rant..!

  57. GPL not a problem by AaronW · · Score: 2

    When investigating various network processors, I see that all of the vendors I have looked at supply drivers for embedded Linux. In fact, Linux appears to have better support than any other operating system (including VxWorks and QNX). GPL is not an issue for them, even though the drivers are highly proprietary. Why not ask an embedded Linux vendor like Monte Vista (Hard Hat Linux) and see what response you get?

    -Aaron

    --
    This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
  58. Arrrgh! I am seeing the worst advice ever here by grundy · · Score: 2, Interesting
    OK, for starters do not believe that binary only drivers are acceptable. Read this recent post for more infomation: Linus on binary only modules

    Then LISTEN TO YOUR LAWYER, S/HE IS RIGHT!

    Then consider something like NetBSD or eCOS if the GPL is not acceptable to your needs.

  59. What a load of FUD by LWATCDR · · Score: 1

    First you could always use one of the BSDs and not worry about it.
    Second, Yes you can do a bianry only driver if it is a loadable modual.
    Third, It is a stinking device driver release it and score points with the open source people out there. I can not believe that a drive driver contians anything all that special.
    GPL and embedded systems are an interesting case. Suppose I created an MP-3 Player and burned some Open Source software into the ROM. Do I ship a CD with everydevice? It will do the customer no good that is for sure. Somebody out there could use it to make there own MP3 player I guess. Could I put it on my website? if so I could put it soo deep that I doubt that anyone would find it but is would still be free to download.
    It almost seems like a new GPL is needed for embedded system. Maybe an EGPL. For the ebedded device I am working I am planning on offing the interface freely available. I can tell you that the people that might want to use this device would rather I hand them a lovley documented API than the source code.

    I have one question... What is the difference between source and binary? I had to write in hex at one time to program an ebedded chip. A hex listing is as much source code as c source code. If I wrote a device drive in Hex then the binary version would be the source code. Yes I know it is a loop hole but it is there.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  60. Distribution with the Kernel by Dunedain · · Score: 1

    It doesn't infringe the copyright of the Linux Kernel to write code against the kernel-module specification and distribute it in binary-only form. However, it does infringe that copyright to distribute the Linux Kernel.

    The GPL is a license to distribute the kernel under certain conditions. Those conditions are incompatible with including a binary-only module linked to the kernel. There are several companies distributing binary-only modules right now, but none of them provide it linked with the kernel.

    Since this is for an embedded device, I think you're stuck: do it in user-mode, distribute it separately from the kernel (two CDs in the same box doesn't count) or figure out how much you'll make from the Linux market and how much it'll really cost to GPL your driver.

    --
    -- Brian T. Sniffen
  61. Linus discused this issue recently by wa1hco · · Score: 2, Informative
    Check out the LKML archive http://www.uwsg.iu.edu/hypermail/linux/kernel/0210 .2/0603.html

    Quoting the good parts

    I will re-iterate my stance on the GPL and kernel modules:

    There is NOTHING in the kernel license that allows modules to be non-GPL'd.

    The _only_ thing that allows for non-GPL modules is copyright law, and in particular the "derived work" issue. A vendor who distributes non-GPL modules is _not_ protected by the module inteface per se, and should feel very confident that they can show in a court of law that the code is not derived.

    The module interface has NEVER been documented or meant to be a GPL barrier. The COPYING clearly states that the system call layer is such a barrier, so if you do your work in user land you're not in any way beholden to the GPL. The module interfaces are not system calls: there are system calls used to _install_ them, but the actual interfaces are not.

    The original binary-only modules were for things that were pre-existing works of code, ie drivers and filesystems ported from other operating systems, which thus could clearly be argued to not be derived works, and the original limited export table also acted somewhat as a barrier to show a level of distance.

    And continuing a bit later

    Side note: it should be noted that legally the GPLONLY note is nothing but a strong hint and has nothing to do with the license (and only matters
    for the _enforcement_ of said license). The fact is:

    - the kernel copyright requires the GPL for derived works anyway.

    - if a company feels confident that they can prove in court that their module is not a derived work, the GPL doesn't matter _anyway_, since a copyright license at that point is meaningless and wouldn't cover the work regardless of whether we say it is GPLONLY or not.

    (In other words: for provably non-derived works, whatever kernel license we choose is totally irrelevant)

    So the GPLONLY is really a big red warning flag: "Danger, Will Robinson".

    It doesn't have any real legal effect on th emeaning of the license itself, except in the sense that it's another way to inform users about the copyright license (think of it as a "click through" issue - GPLONLY forces you to "click through" the fact that the kernel is under the GPL and thus derived works have to be too).

    Clearly "click through" _has_ been considered a legally meaningful thing, in that it voids the argument that somebody wasn't aware of the license. It doesn't change what you can or cannot do, but it has some meaning for whether it could be wilful infringement or just honest mistake.
    1. Re:Linus discused this issue recently by DunbarTheInept · · Score: 2

      Who has burden of proof here? Presumably if someone wanted to accuse a company of de-GPL-ing a derived work, it's up to the prosecution to show that this is the case, isn't it? If so, the company doesn't need to be sure it can prove it's work is not derived from GPL work, as the comment claims. It only needs to be sure it cannot be proved that it DID derive the work.

      Asking somoene to prove a negative is dirty pool.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

  62. DSL Driver - Efficient Network 3010 by Dark+Coder · · Score: 2

    I've helped worked on the DSL Linux Driver for an Efficient Network 3010 DSL PCI adapter card and we had the exact same problem only this time, it was Alcatel MicroElectronic Legal that refused to release us from our Non-Disclosure Agreement with them.

    Alcatel MicroElectronic was probably trying to save Alcatel Network's StingRay from losing its marketing edge (they lost anyway).

    Henceforth, we're were restricted to providing the kernel-specific modules (Linux 2.4.8)

    And worst, 3010 fell into obvilion (like it should) because it was a WIN-MODEM!

  63. Avoid the term "intellectual property" by yerricde · · Score: 2

    drive the device without revealing intellectual property

    Instead of saying "intellectual property", say "copyrights", "patents", or "trade secrets", which are almost completely unrelated to one another in the U.S. federal and state legal codes. Under which part of the law do you claim your company is trying to protect its monopoly?

    Is your company trying to make money selling drivers? Don't. Here's why not:

    Later Xerox gave the AI Lab a newer, faster printer, one of the first laser printers. It was driven by proprietary software that ran in a separate dedicated computer, so we couldn't add any of our favorite features. We could arrange to send a notification when a print job was sent to the dedicated computer, but not when the job was actually printed (and the delay was usually considerable). There was no way to find out when the job was actually printed; you could only guess. And no one was informed when there was a paper jam, so the printer often went for an hour without being fixed.

    The system programmers at the AI Lab were capable of fixing such problems, probably as capable as the original authors of the program. Xerox was uninterested in fixing them, and chose to prevent us, so we were forced to accept the problems. They were never fixed.
    --
    Will I retire or break 10K?
  64. Intellectual property by pajeromanco · · Score: 1

    Is writing a user-mode (and hence not very efficient) driver the only way for a company to protect it's intellectual property?

    I think that question has a problem in itself. The GPL is about protecting intellectual property. Perhaps the lawyer should read it better.

    --
    Now I am sad.
  65. All Software should be Free Software by Anonymous Coward · · Score: 0

    Trying to keep you code closed is both greedy and inefficient. Open up the code.

  66. Depends on the Company Focus by Anonymous Coward · · Score: 1, Insightful
    " The company was very concerned about GPL issues and consulted a lawyer - who advised us to go for a user-space driver, saying that this is the only safe way to avoid GPL issues. ... Is writing a user-mode (and hence not very efficient) driver the only way for a company to protect it's intellectual property?"

    That depends. The question really should be focused not on the drivers, but on the relationship of the drivers to the solutions that your company sells. If the software is integral to the business, then you really can't reconcile the GPL with IP, and you have to keep it proprietary in order to protect your income stream. If, on the other hand, the driver software is ancillary to the business, then the GPL should not only be acceptable, but also advantageous, as others consider your business' solutions and yet others modify the software. Remember, if GPL'd code is modified (hopefully improved), the modifier is also bound by the GPL on distribution, and your company can use it, presumably to its advantage and free of charge.

  67. This link should help you by quinticent · · Score: 1
    http://www.linuxdevices.com/articles/AT5041108431. html

    In brief it states that you can make binary only loadble modules with major restrictions. Most of the kernel system calls are cut off by setting a non-GPL "taint" flag. You can get around this by modifing the kernel but that is strictly unethical and most likely in breach of the GPL. The best option I see if you to create a generic driver that can be GPL'ed and have the IP bits placed in userland.

    -- J5

  68. eCos or BSD by DavidNWelton · · Score: 1

    You might consider either the eCos operating system, or one of the BSD's. They both allow you to do what you want.

  69. Linking is the key by streak · · Score: 2, Interesting

    You only really fall into problems if you link with other code that is GPL (but yes, you can compile commerical programs with gcc, no problem).
    Therefore, you can't actually put your driver into the kernel, but only as a loadable module.
    (There have been many debates about whether loading a module is "linking", but the consensus seems to be that commerical drivers are OK in this form).

    And your management has to be totally blind to think that NVIDIA doesn't distribute a binary driver.
    What NVIDIA does is have all of their source code in a binary EXCEPT for the hooks into the kernel (aka init_module, etc...) so that you can compile this against your specific kernel headers (so it will work against a wide variety of kernels, and not just say, 2.4.18 or something).

    This is probably the same approach your company should use, but in the embedded world you can probably get away with requiring a specific kernel version, since those things are very specialized.

    And writing a user space driver is hard on Linux, because userland doesn't let you get at the hardware very well. You might also want to try looking at UML (User-mode Linux) for this approach, though I am not sure if it works on embedded systems.

  70. UDI and other 'wrapper' interfaces by epyT-R · · Score: 2, Interesting

    The last thing pc hardware needs is yet ANOTHER layer of bloated, buggy code between the user and the hardware device. The solution to every so-called computing 'problem' these days is just to slap ANOTHER layer on top of what's already there. If what's there was designed well in the first place, the extra layers wouldn't be needed as much (notice I didn't say 'at all'). Java, .NET and its competing ilk are prime examples. In their case, you're mostly right, the cpu does spend most of its time idle (that doesn't mean I would want 3dsmax .NET, quake 5.NET or VST.NET either) making some applications viable as the performance hit is tolerable.. However, with low level hardware interfaces, its 100x worse. At that level, every clockcycle DOES matter. Developers don't seem to realize that any latency added by a clunky driver and/or 'wrapper' interface adds the absolute minimum response time a device can have on a given system for users. Therefore, a primary goal should be to MINIMIZE latency. Even drivers written for Microsoft's WDM interface take quite a performance hit compared to the older VXD interfaces. This issue is important to other devices besides vid cards and drive controllers. If some new fangled mouse had all these nice features, but had a 20ms delay because of either poorly written drivers or the use of some driver wrapper, then, to me, the device is useless. I wouldn't buy it. Same goes for network cards, sound cards, game controllers, etc. I don't want some NIC driver grabbing 20% more cpu than it should on a busy server just because the developer used some wrapper to save time. Using a wrapper is just pure laziness, and has no place in a final production product that is charged for. If you're going to support an operating system, whether it be Windows, Linux, or anything else, do it RIGHT. I realize writing a driver for a wrapper can save development time, but it usually just ends up dumping problems on the user instead, when the user is PAYING the company to solve their problem in the first place. After all, that's why they're buying their device, right? Anyway, the less code between me and the hardware, the less chance of some stupid bug preventing me from using/enjoying the product I just spent money on. Come on, as a hardware developer, their employees are getting PAID to support their product. They don't have an excuse to be lazy.

    1. Re:UDI and other 'wrapper' interfaces by mpe · · Score: 2

      However, with low level hardware interfaces, its 100x worse. At that level, every clockcycle DOES matter. Developers don't seem to realize that any latency added by a clunky driver and/or 'wrapper' interface adds the absolute minimum response time a device can have on a given system for users. Therefore, a primary goal should be to MINIMIZE latency. Even drivers written for Microsoft's WDM interface take quite a performance hit compared to the older VXD interfaces.

      This can be rather important in an embedded system. Where you probably don't want to use the "latest and greatest" hardware. Due to issues of cost, power consumption, known bugs, etc. Also the code may well have to fit into a fairly small ROM or flash memory.

  71. License Terms by Anonymous Coward · · Score: 0
    Like others have stated, you do NOT have to release a driver under the GPL if you are writing driver modules (so long as you write them without using anyone else's GPL code). As long as you stick to the published module interface, you do not have to worry about it.

    Like others have stated, you will have a bigger problem: you'll end up rebuilding your driver for every linux version you want to support (including vanilla), and that introduces other problems - noteably for the one maintaining it. You'll have to decide what flavors you want to support and then recompile things after each new release... and you'll have to keep in mind other "customized" kernel versions, like RTLinux or RTAI.

    Likely you have the Rubini book "Linux Device Drivers"- there he explains the license terms you're talking about on p.12.

  72. Yes! Do it for the worlds poor... by iamacat · · Score: 1

    Who can then buy a budget version and "upgrade" it with a ROM image from KazaaLite. Works every time.

  73. If it's not GPL (or a free license..)... by Anonymous Coward · · Score: 0

    Then it's a pain in the neck GPL users:

    1) You can't distribute it with the rest of the free code (which means we can't just 'apt-get install' it)
    2) We can't improve on it
    3) Your module will never make it into core kernel or core distributions
    4) The free software community will simply choose hardware for which 1-3 don't apply.

    Commercial software is a pain in the ass, quite simply, and that's why we don't use it.

  74. Re:But I am not going to buy your binary only driv by Anonymous Coward · · Score: 0


    RTFA.

    What part of "embedded devices" don't you understand?

  75. Does usermode kill you? by CAE+guy · · Score: 2, Interesting

    In every embedded app I've worked on, the performance requirement was "fast enough to meet the spec" and not "as fast as possible." Or as my senior project advisor insisted, "real time" != "real fast."

    Real engineers benchmark, either in simulation or the lab. Unless you can prove in advance that a usermode driver will fail to meet the needed performance, write one and see how close you get. Depending on your app, you could find that even in usermode you've got time to spare.

    In other words, solve the technical issues first, because you might find that the other stuff becomes non-issues.

    -cb

    --
    Still working on it...
    1. Re:Does usermode kill you? by rpeppe · · Score: 2
      that might not be the case here: he didn't say it was a realtime product, but an "embedded networking" product.

      given that people usually compare hardware using benchmark tests (driver included), i'd imagine that it would be quite important that it be as fast as possible.

    2. Re:Does usermode kill you? by CAE+guy · · Score: 1

      You're probably right, although "embedded" is not automatically equal to "real fast" either. The thing is, he didn't say. It's not clear whether he (or his company) has spec'd out their performance requirements. Reading his description, it seemed like he'd made an assumption about said requirements. So what I really wanted to say was that, if that's the case, he should validate his assumptions.

      I guess I didn't say that very well. Plus you could argue that I made an assumption about his making an assumption. Am I having a bad day?

      -cb

      --
      Still working on it...
  76. Not all code needs to be free... by 42forty-two42 · · Score: 2, Insightful

    But drivers should be. You're making money on the hardware, it's in your interest to let other improve on the software side and port it to other OSes.

  77. OT:Re:That's not how they do things on Star Trek! by Anonymous Coward · · Score: 0

    I think it's because all the good starship designers, builders etc. are in starfleet and they only make starships for really good captains. Or something like that...

  78. Semi-OT: Lawyer Analogies by MoFoQ · · Score: 1

    "Lawyers are like pubic hair, u'll get 'em and there's lots of 'em but they don't really seem to be doing anything." The side-lines spectators....

    Man....I gotta remind myself to tell that to one of my friends who's going to law school to become a corporate lawyer.

    AHAHAH

    anyways, if u have any analogies or jokes about lawyers (esp if it deals with it in a Slashdot-way) just reply.

    It's all in good fun.

  79. How to get around the GPL with embedded devices by DaveV1.0 · · Score: 1
    "My company has recently decided to support Linux for it's embedded networking products which means that I'm starting to write Linux device drivers for our hardware"

    The following assumes the device in question uses embedded linux on a stand-alone device, such as a router, switch, etc.

    This will probably get me flamed to hell and back but...

    In theory, one could use embedded linux and device drivers as a binary in a stand-alone device and distribute the source code on a ROM built into the device, accessable only using the linux implementation in the device. By having the UI of the device limited to what it can do, i.e. no access to a shell or text editor, one can make it extremely difficult to access the source, but you have still distributed the source.

    One has complied with the letter of the GPL. Specifically Section 3, subsection a, because ROM is a "medium customarily used for software interchange" and the source is being distributed with the binary. The only thing is that the source is not in an easily accessable or usable format.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  80. It's just a question of separation by Pelam · · Score: 1
    As many have noted, NVIDIA drivers have a clever trick that separates their interesting parts from the kernel headers, functions, etc. This can be done with neglible or zero performance penalty. If for some reason their current approach is inadequate and gets challenged, there are always ways to get around.

    It's just a question of getting few bytes of obfuscated machine code into the kernel space and using those bytes to massage other bytes around. Extreme case would be to provide a GPL "driver" that reads bunch of bytes from anywhere and jumps to correct spots in that to get things done. The GPL part can do all the necessary calls to other parts of the kernel if required.

    How would that be linking or derivate work? (Provided that the bunch of bytes is constructed independently from other involved things.) Extreme ways of separating the propritetary bytes from the main kernel just create some overhead, but the above approach would still be quite efficient.

  81. You may as well just publish specs... by Pitr · · Score: 1

    If you're going to be creating what is essentially a substandard driver, someone else will probably write a better driver anyway(which will likely be open source), so you may as well either do it right the first time, or just say to hell with it, and just publish the hardware specs so someone else can easily write the driver that they'll end up writing anyway. I think this makes the whole legal issue unimportant.

    --

    --Not to be worried, Pitr fix.
  82. You make a good point by Arker · · Score: 2

    Unlike most of the posters trying to give reasons not to Free the drivers, you've actually made a point that stands up. But there is something odd about it. It only makes sense for a very short time period. Binary drivers compared to source available won't stop the competition from reverse engineering your stuff, it just makes it a bit harder. Within probably 3 months in most markets (and I think that estimate is very much on the high side) the whole issue will have become totally irrelevant. But your customers are then stuck - even though you're gaining no further advantage by keeping the source to yourself, the customers difficulties caused by keeping the drivers closed continue as long as the hardware is still in use, which can easily be years.

    So a suggestion to manufacturers in this situation, go ahead and release the binary drivers, a la Nvidia, initially. But, a few months later, when this is no longer the cutting edge hardware of the moment, open the source up. You save yourself a lot of support problems, your customers will love you for it, and you're really not losing anything at that point anyway - the secrecy has already outlived its purpose and gained you everything it could gain you already.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  83. More it's by Anonymous Coward · · Score: 0

    > for it's embedded networking products

    Slashdot, where illiteracy is valued above anything else.

  84. Re:But I am not going to buy your binary only driv by codepunk · · Score: 2

    It don't matter what the hell he is talking about as a enterprise customer I ain't buying your shit if it does not come with source drivers.

    --


    Got Code?
  85. use freeBSD instead... by Anonymous Coward · · Score: 1, Interesting

    We went through this process with our (tech-savvy) lawyers on the Ethernet STB (Set-Top Box) project where we had several person-years of effort in enhancing the MPEG decode and video drivers far beyond what was available from the chip vendors. We were moving from VxWorks to *nix to reduce costs, get better functionality and a better debugged OS.

    The lawyers spent way too many hours reading the GPL - the result was that we would have had to either limit performance by putting stuff in user space or give away the IP we had developed - neither was a goof option.

    We ended up moving to FreeBSD instead - it doesn't have the GPL problems and is a lighter-weight kernel better suited for embedded applications anyway. The FreeBSD port was only a couple of weeks before we had the basic video path working with ported MPEG and video drivers. We spent more time arguing about the GPL than doing the port :)

  86. MOD UP. by runderwo · · Score: 1

    Please, please, please mod this up. I wish I had mod points today.

  87. Cost by Anonymous Coward · · Score: 0

    Keeping your driver current with kernel releases and dealing with user support for kernel version incompatibilities carries a cost. Go from there

  88. Your Lawyers are RIght by Royster · · Score: 2

    The crucial part of the wording of the GPL that you need to worry about is distributing an "integrated product". There is a real difference between your situation and NVidia's and your lawyer has (rightfully) recognized it.

    --
    I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
  89. embedded (L)GPL Code by melstav · · Score: 2, Informative

    First, IANAL.

    Second, take a look at http://www.gcom.com/home/support/whitepapers/linux -gnu-license.html which contains a post from Linus where he explains that the Kernel Module Interface is actually LGPL.

    Next, see http://www.gnu.org/licenses/lgpl.html Read section 5. In particular, the paragraph :

    "If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)"

    This leads one to believe that Binary-Only Device Drivers are A-OK.

    Nvida and other graphics board developers aren't the only ones providing binary only drivers.... Adaptec only provides binaries for their RAID controller drivers - no sources at all. Not even
    an "intermediate buffer layer"

    The spirit of the LGPL licence seems to be "If you can upgrade the LGPL code without having to recompile the Proprietary stuff, and continue to have everything work, that's ok."

  90. Why are you using a GPL'ed kernel then? by GrumpyOldMan · · Score: 2, Insightful

    If your company objects to the GPL, and you are selling embedded hardware, it seems rather silly to be using Linux. Have you considered using a BSD? Since the BSD license does not require you to give back any code, this might be ideal for you.

    If you're running on non x86 hardware, I think NetBSD would be the best bet, since they run on nearly everything.

  91. The FSF really has no place here by Royster · · Score: 2

    The FSF is not the holder of the copyright to the Linux Kernel so that anything that they say is not binding on Torvalds and Co. It is the Linux developers who have to decide how the GPL applies.

    --
    I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
  92. I don't understand by nagora · · Score: 2
    Why do you not want lots of people writing drivers for your hardware? Why do you not look forward to it becoming the standard hardware for its purpose because everyone and their dog knows they can support it? Why do you not want to GPL the source and then use the best ideas that come from people that modify that code to improve your own drivers?

    I can see an argument against the GPL for software writers but I had always assumed that it was a dream for hardware people that, presumably, want to get support for their hardware spread far and wide. What am I missing?

    TWW

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  93. Use FreeBSD or NetBSD or OpenBSD instead of Linux by Skapare · · Score: 3, Insightful

    I'm assuming that since this is mentioned as an embedded product, your choice of Linux is not for the purpose of making your device work in other people's Linux systems, but is instead, for the purpose having a embedded operating system inside your embedded product. If this assumption is true, then I recommend instead to use one of the BSDs for it, e.g. FreeBSD or NetBSD or OpenBSD. The licensing issues are so much easier. FreeBSD is actually the foundation OS in many a network device on the market over quite a range of sizes from small handheld devices to huge WAN switches. Linux is, too, but if the GPL licensing is the big issue, then give BSD a serious look-see.

    If the above assumption is not correct, and you are making a device which is to be accessed by a hosted Linux system, then I can at least say this: I won't use your device in my managed network engines (Linux based) unless the source code is open. This is due to the need to be able to fully audit the entire security and not wanting to have to negotiate for NDA source. Lack of source can cut into your market share, especially where security is an issue (affects network devices far more than high performance video cards). So if you have intellectual property in a network device intended for a hosted system (e.g. for example a 10GB ethernet card or an OC-192 WAN line card), try to keep the intellectual property locked up in the device itself as much as possible.

    --
    now we need to go OSS in diesel cars
  94. Re:EVER HEARD OF ME SHOVING MY FOOT UP YOUR ASS? by Anonymous Coward · · Score: 0

    No. Hum a few bars for us.

  95. I am impressed by pommiekiwifruit · · Score: 3, Funny

    that you clearly have the source code to your company's PABX and laser printers. It must be a pain blowing the flash roms and unscrewing the hard drives when you want to recompile the O/S to keep up with kernel patches though.

  96. driver != hardware by CrayzyJ · · Score: 1

    You can have device drivers that are not dependent on hardware. kHTTPd and Tux come to mind. I'm sure their are others.

    --
    Holy s-, it's Jesus!
  97. Let the user put them together! by Spazmania · · Score: 2, Interesting

    According to the GPL, you may not distribute GPL and non-GPL software in a combined form. You can use them together. Your customer can use them together. You can even distribute them on the same media. You may not distribute them in a combined form.

    For embedded devices, this offers a trivial solution:

    Put the GPL stuff on one flash card, put the non-GPL stuff on another flash card, put both cards in the box, and instruct the customer to put both cards in the device upon purchase. Put absolutely no GPL software on the non-GPL card, and put every last scrap of source code for the GPL card onto a CD which you include in the box with the device.

    Oh, and in the manual in the license agreement, advise the customer it is unlawful to sell the device while the two cards are installed.

    Of course, this means that you also have to seperate the software into modules and keep track of which ones are or are not GPL. But if you're just starting the project, that shouldn't be too much trouble.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  98. Re:"Get away with that" by Anonymous Coward · · Score: 0
    They aren't "getting away with" anything. They are using the loadable modules feature exactly as intended. This allows hardware manufacturers, etc., to provide a proprietary driver for their product that works with linux. Without this scheme, we'd have inferior linux drivers for thse products...if any at all!

    By all means, pursue the loadable module approach. Your company is under no obligation to gpl a proprietary product.

  99. Upgraded ROMs by pommiekiwifruit · · Score: 2
    For that scheme, companies generally put serial numbers in each hardware unit sold. When the user pays for extra users etc. they get a code that is specific to that serial number.

    Open source might mean that variable pricing (i.e. crippled versions of the software for cheap customers) would be easier to break.

    1. Re:Upgraded ROMs by mpe · · Score: 2

      For that scheme, companies generally put serial numbers in each hardware unit sold. When the user pays for extra users etc. they get a code that is specific to that serial number.

      There is a whole community of people who hack programs to remove all sorts to protection, be it serial numbers, dongles, what have you.

      Open source might mean that variable pricing (i.e. crippled versions of the software for cheap customers) would be easier to break.

      If you want to provide a crippled version of the program then the obvious solution is to provide one which only contains the code you want them to have in.

  100. Hate to be a pedantic weenie by Heretik · · Score: 1

    But commercial != proprietary. It doesn't look good to the 'business community' if we're always discussing problems with commercial software, when the actual problem doesn't have anything to do with the fact that it's commercial.

  101. support BSD instead by Anonymous Coward · · Score: 0

    The growing number of very satisfied users and businesses which have switched to the rock solid high performance FreeBSD is a clear indication that your business should support FreeBSD first, then GPL'ed OSes. FreeBSD and the BSD license makes it easy for you to have highly satisfied customers and grow your business.

  102. FreeBSD by Anonymous Coward · · Score: 0

    Why not develop a driver for a BSD platform, rather than Linux, and then port the driver over? You would avoid the GPL initially, support open-source unix, and have a prior pproduct to avoid GPL issues.

  103. The best option: Start by debunking myths by Ogerman · · Score: 2

    It is a blatantly false myth that using a closed source driver will protect the secrets of your specialized hardware interface from competitors. Sure, it may make the task slightly harder, but it absolutely will NOT prevent your product from being reverse engineered. Furthermore, some of your customers may be frustrated by not having the source-code. If it was I making an embedded systems purchase, I would insist upon having any relevant driver source-code both for audit and for customization to my needs.

    Perhaps you should show your managers a good book on reverse-engineering techniques. Show them how easy it is. Show them how everything 'hidden' comes into plain view under the 'light' of a logic analyzer and disassembler.

  104. User space is better anyway by Anonymous Coward · · Score: 0

    Well,

    if you can go user space - go user space - this is
    a much better choice then kernel choice:

    1. easier way to distribute binary programs
    2. no need for compilation during upgrade
    3. kernel is not 'tainted' so it will be easier to
    debug with other problems

    If you can go user space - ALWAYS go user space.

    Actually many things (like Rio stuff) should
    (and hopefully eventually will)
    be removed from kernel into user space drivers/programs.

    Regards,

    Kubus

  105. For good reason by 0x0d0a · · Score: 2

    they don't want to get sued themselves for giving bad advice

    I suspect this guy's company would also like to err on the side of not getting their ass sued off.

    I don't understand what the point is of making the driver closed source -- I mean, how much *logic* are we talking about in this driver? If this is such an amazing, sophisticated thing, it should probably be running in userspace.

    1. Re:For good reason by kraksmoka · · Score: 1
      your response is exactly what this dude, didn't ask for, another useless, why shouldn't it be free anyway?

      fact is, not only do attorneys not like to be sued for bad advice, but when in doubt, they tend to behave like beaurocrats, and NO is the easiest, most cost efficient answer.

      open source is an uphill battle with entrenched enterprises that aren't called IBM.

      the point is, that to most shareholders, telling them that their company made something to give away for free sounds bad. just how it is.

      and yes, i have released some nice open source thingees myself (not alot yet, but workin on it), this is not a Winblows coder speaking, just a realist

      --
      "You never want a serious crisis to go to waste." - Rahm Emanuel
    2. Re:For good reason by EzInKy · · Score: 1

      the point is, that to most shareholders, telling them that their company made something to give away for free sounds bad. just how it is.

      Aren't we talking about a driver here though? Few people would buy hardware if there wasn't software to make the device work. Wouldn't the shareholders be more pissed off if no one bought the hardware because the company didn't provide free drivers so people could actually use the dang thing?

      Let's say company A and company B both sell device X for $50. Both devices perform their functions equally well. Company A provides the specifications for writing a driver for the device so that it can used in 100% of all the computers on the market. Company B decides to keep their specifications private and provides drivers only for the top 90% of all the computers on the market.

      Which company is in a better position to sell more of device X, company A or company B.

      --
      Time is what keeps everything from happening all at once.
    3. Re:For good reason by 0x0d0a · · Score: 2

      your response is exactly what this dude, didn't ask for, another useless, why shouldn't it be free anyway?

      However, I'm not (as of yet) being paid by the guy to be his consultant. If he wants answers of format foo, he can pay for them. Slashdot is a discussion board -- and I'm asking a question that I'm interested in after responding to a different post which was on topic.

      fact is, not only do attorneys not like to be sued for bad advice, but when in doubt, they tend to behave like beaurocrats, and NO is the easiest, most cost efficient answer

      This is *exactly* what I just rebutted. Attorneys may act this way...my point is that this behavior tends to *also* be in the company's best interest. If the attorney can't give a certain answer (and GPL issues have *not* been hammered out in court yet), and is over-cautious...well, a large company is also going to probably prefer being over-cautious.

      open source is an uphill battle with entrenched enterprises that aren't called IBM

      Because IBM is a *hardware* and *services* company, and has no reason to compete with open source in the least. No kidding traditional software companies (like MS) don't like open source.

      the point is, that to most shareholders, telling them that their company made something to give away for free sounds bad. just how it is.

      Erm...really? First of all, how often do *you* read reports sent you on stocks that you hold? Yeah, that's what I thought -- you skim them, look for the few numbers you care about, and then ignore them. Same here.

      Giving away something for "free" has been done for ages. Promotions, etc. If credit card and other financial companies didn't do so, they wouldn't be doing nearly as well as they are now. And things like drivers (for PCs at least) are "free" already -- I doubt many "shareholders" are going to go into fits about source being given away as well.

      and yes, i have released some nice open source thingees myself (not alot yet, but workin on it), this is not a Winblows coder speaking, just a realist

      Thank you. Always nice to have more people having fun making stuff!

    4. Re:For good reason by mpe · · Score: 2

      Aren't we talking about a driver here though? Few people would buy hardware if there wasn't software to make the device work.

      Without the hardware the driver isn't of much practical use either.

    5. Re:For good reason by kraksmoka · · Score: 1
      Erm...really? First of all, how often do *you* read reports sent you on stocks that you hold?

      i USED to read those things, and i sold everything i had in spring 2000 at its inflated peak, went to europe for a vacation, came home broke and got on with my life. thanks for askin

      --
      "You never want a serious crisis to go to waste." - Rahm Emanuel
  106. please don't bother by g4dget · · Score: 2

    Legal issues aside, if you aren't going to release the sources to your driver, please don't bother releasing Linux sources at all. I buy Linux-compatible hardware because it won't end up getting outdated when a new version of the OS is released and because I can actually fix it when it misbehaves. By shipping binary-only drivers, your company is only taking up market share that could be occupied by companies that are willing to ship sources.

  107. Summary by demiurg · · Score: 1

    Thanks for all the postings...

    I would like to summarize my conclusions after reading all the comments and articles I was referred to.

    Botom line - the lawer was right, user-space driver is the only option for a company that does not want to take chances of establishing a legal precedent.

    Two main problems :

    1. The situation about binary modules is not clear - even Linus's so called "exception" is not that clear as some people want it to be. Meaning that I can not convince the company management that the chances of being sued are minimal. Meaning that we can not use binary modules.

    2. The situation with embedded products is even more complicated (as somebody pointed out) because we actually do ship a GPL code - we ship the device which runs GPL Linux kernel.

    P.S. As for the technical issues about partitioning the driver into kernel and user space portions or using a BIOS model (a-la Sony Playstation) - well, the question actually was about legal issues :)

    P.P.S. To all these who never worked for a hardware company and believe that the company can opensource it's drivers - well, one simple example : NVIDIA Detonator 3 driver increased the performance by 30% IIRC. Don't you think that ATI would love to look at the source code ?

    1. Re:Summary by T.E.D. · · Score: 2
      2. The situation with embedded products is even more complicated (as somebody pointed out) because we actually do ship a GPL code - we ship the device which runs GPL Linux kernel.


      I believe that was me. I do have a wee bit of experience in this, as I work for a company that does a lot of embedded work, and I'm one of the two guys who writes all the company's device drivers. We've even shipped modified GPL drivers from Linux in many of our systems (we modified a GPL ethernet card driver to work under VenturCom's RTX extensions).

      P.P.S. To all these who never worked for a hardware company and believe that the company can opensource it's drivers - well, one simple example : NVIDIA Detonator 3 driver increased the performance by 30% IIRC. Don't you think that ATI would love to look at the source code ?


      I believe this is probably a hit on me, since you replied to one of my postings on this subject by pointing me to this message. However, as stated above, I do work for a hardware company (writing device drivers, no less), and my question still stands.

      First off, the example you state is useless for the exact reason that its a proprietary driver: we have no way of knowing what caused the increase. It could well be that certian hardware features for the tested card were not turned on in previous versions of the driver, due to the hardware being ready before the software was. I know that's happened with nVidia video drivers in the past.

      I'm guessing from your answer that you are worried about loosing a competitive advantage against a close competitor. I suppose that's possible, depending on your business. But who says you'd loose? It could be that your competitors actually have the superior software.

      But more to the point, why should you have to worry who has the better software? If your business is primarly hardware, should you really be trying to compete with software? That isn't your company's core competency.

      But, as I mentioned in my other message, I don't really know enough about your business to say. I know it wouldn't hurt *our* business in the slightest. But then, our hardware typically costs over a million dollars when all put together (Flight Sims). You are probably in a different situation.
  108. oops by g4dget · · Score: 2

    Legal issues aside, if you aren't going to release the sources to your driver, please don't bother releasing Linux sources at all.

    Oops--that didn't make much sense. What I meant was:

    Legal issues aside, if you aren't going to release the sources to your driver, please don't bother releasing Linux drivers at all.

    1. Re:oops by demiurg · · Score: 1

      You wold prefer that NVIDIA won't release their drivers for Linux ?

    2. Re:oops by g4dget · · Score: 2

      Yes, that's what I would prefer. That way, people would be much more motivated to create open source drivers for other cards (or to reverse engineer the Windows driver).

    3. Re:oops by demiurg · · Score: 1

      You simply don't understand - driver is not that a simple module implementing a few ioctl()s ! Good driver (for anything more complex than a serial mouse) has lots of optimizations - none of which I'll be able to reverse engineer.

    4. Re:oops by g4dget · · Score: 2
      You simply don't understand - driver is not that a simple module implementing a few ioctl()s ! Good driver (for anything more complex than a serial mouse) has lots of optimizations - none of which I'll be able to reverse engineer.

      I'd much rather have an open driver that's a little less efficient than a highly optimized driver that's proprietary. Most driver and software optimizations at that level are pretty much useless--the amount of performance you gain is less than the next generation of the product will give you in hardware in a few months.

  109. The lawyers may have a point by T.E.D. · · Score: 2
    It depends on exactly how you plan on distributing your product to your users. Is the entire thing, including the system w/ Linux on it itself being distributed, or just your device (and its drivrers on a separate disk or whatnot)?

    I tried to give them a few examples of companies distributing binary only drivers (NVIDIA and Rational) but was told that these companies do not distribute binary only drivers - they only allow you to download them from a web site (which is not an option for an embedded product).


    Since they make the user intstall the software, they force the user to agree to a EULA. Typically an EULA will trade you the right to run the software for a promise to not reverse-engineer anything, disasemble anything, and all sorts of other stuff you'd normally be entitled to do with something you bought.

    If your distribution method would not typically involve end-users running an installer (and thus being forced to agree to a EULA), I could see where the lawyers might have qualms.

    Since I'm not actually a lawyer, here's a supporting quote from someone who is: Eben Moglen of the FSF :
    The (GPL) license does not require anyone to accept it in order to acquire, install, use, inspect, or even experimentally modify GPL'd software. All of those activities are either forbidden or controlled by proprietary software firms, so they require you to accept a license, including contractual provisions outside the reach of copyright, before you can use their works.


    Read the full article at http://www.gnu.org/philosophy/enforcing-gpl.html
  110. Asking the FSF is futile. by Theovon · · Score: 1

    They'll never respond. Well, maybe it's just me. I encountered a problem when a program I was writing (under GPL) turned out to violate a Mitsubishi patent. FSF completely ignored me.

  111. Death Knell by Anonymous Coward · · Score: 0

    If binary-only drivers end up being illegal to run with Linux, then that will be the death knell of Linux. Not really, though. It would be easy to fork Linux, and replace all the header files with ones in the public domain. There is enough corporate interest in Linux now to do this. (If I were MontaVista Software, I would start working on this now.)

    BTW, the inclusion of GPL header files is the only unknown about binary-only driver viability because the only other way you could form a derivative work is through linking, and the linking is done at runtime. Therefore, the result of the linking process is never distributed, and the GPL does not apply if there is no distribution.

  112. little knowlege = dangerous thing by DunbarTheInept · · Score: 2

    I'd much rather have the case where the lawyers *know* they don't know anything than the case where they *think* they do because one of them downloaded and installed a device driver once.

    --

    Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

  113. I do not agree by 0x0d0a · · Score: 2

    You have argued that copyright law is ubiquitous and of wide influence. It affects your magazine? Sure. That's quite different from being viral. (Actually, this is a pet peeve of mine -- "viral" has extremely negative connotations, but something being viral certainly doesn't mean it's bad -- it's just a particular method of propogation. Of course, MS PR flacks are having tons of fun with the negative connotations).

    Now, I'm not saying that the GPL is bad, but it's certainly a reasonable argument to say that it propogates in a viral manner. That's one of what I consider the more interesting things about it. Once a small piece of GPL code enters a project, the entire project must become GPL, and start pumping out GPL code fragments which can then "infect" other projects.

    It's hard to define what's "good" and "bad", especially since this isn't a simple model of "what helps this project" but "what provides everyone with the most benefit in the real world". However, I still feel that there's a reasonable argument that the GPL is actually good for its hosts -- symbiotic. It's designed to help reduce code reimplementation, and helps widely-used code be debugged.

    To help drive my point home, one other thing that might be considered a symbiotic virus (at least in one point in time) would be Christianity. Ignore, for the moment, present complaints about the religion being obsolete or holding back technological advances. It certainly spreads virally -- each person is "infected" by the meme, "converted", and "encouraged to spread the word". Host resources are used to assist the virus in propogation. However, there are major benefits Christianity has provided to human society. If you're living in a society with not a lot of law enforcement (think, where people live pretty much by the sword (think of the Dark Ages and earlier), you have the threat of an ultimate magistrate (God, Judgement Day), and strong encouragement to not attack/betray/cheat your neighbors. That, in turn, helps the community-organism survive, and all the units that compose the community-organism are better off. Hence, a symbiote.

    1. Re:I do not agree by ajs · · Score: 2

      You have argued that copyright law is ubiquitous and of wide influence. It affects your magazine? Sure. That's quite different from being viral.

      I never really said anything about copyright being either ubiquitous or of wide influence, though certainly it is quite influential.

      The exercise was this: take a magazine. Cut it up, and make your own magazine out of it (adding and removing as you like).

      This derived work is under the copyright of the original author of the magazine. In effect (and in the same way that GPLed software does) this copyright has propagated to your software!

      Now, go grab the gcc sources. Hold your hand over the hard drive and speak this incantation: "I do not accept the terms of the GPL." BOOM! Your copy of the GCC source is no longer covered by the GPL. It's totaly, 100% free of it (actually, it never was under the GPL, but you just re-affirmed that you weren't going to change that)! No viral propagation, no fear of violating the GPL (you can't violate what the source isn't covered by). If you make a CD of those GCC sources and give them to all of your friends... wait for it... you're not violating the GPL one bit.

      Of course, you're violating copyright law, and the original author can sue you for that, but this is just as true with a magazine. You've taken the GPL out of the loop and made GCC no more a GPLed work than your average magazine. Ooooh, spooky GPLed software. Who knows what THAT could do to your business!

      BSD-licensed software, as an example, doesn't state outright that it is giving you a choice, but in reality it is too. You can accept the terms of the BSD license or not. If you do, you are granted certain rights (just like the GPL) and you are subject to certain restrictions (there are three of them, of which the copyright holders of BSD have recinded the third). If you do not, you have the rights granted to you by copyright law and fair use. Exactly the same reproductive stratagy as the GPL.

    2. Re:I do not agree by 0x0d0a · · Score: 2

      This derived work is under the copyright of the original author of the magazine.

      No, it is not. He can use his copyright on the *original* work to prevent you from distributing your derived work. He certainly does not have copyright over your derived work.

      I do not accept the terms of the GPL

      This is semantics. The GPL is designed to work hand in hand with copyright. It uses copyright to enforce what it does. Arguing whether copyright or the GPL is the element causing your punishment is silly.

      Look...copyright law is a fundamental building block of the GPL, just as atoms are of biological viruses. That doesn't make copyright law viral any more than atoms are viral.

    3. Re:I do not agree by ajs · · Score: 2

      copyright law is a fundamental building block of the GPL, just as atoms are of biological viruses.

      This is a highly flawed analogy. Atoms do not propagate. Copyright does.

      Also, you've failed to address the fact that all licenses (except the ones that go even further into saying that you simply don't own your copy of the software) propagate in this way.

      As for copyright... you are incorrect. By modifying a work, I create a derived work. I can claim copyright over my changes (unless there is a prior agreement to the contrary), but my changes are not the derived work. In practice, this results in either a) copyright assignment (as the gcc team requires) or shared copyright (as with the Linux kernel). Linus most certainly does not lose his copyright on your modified Linux kernel! Nor do you lose the right to control your changes.

      You can GIVE UP YOUR RIGHT TO CONTROL THOSE CHANGES, in whole or in part. The GPL requires that you give them up in part if you wish to distribute changes.

      I also take exception to this phrase, "element causing your punishment" There is no punishment involved. You have certain rights. You may use them. The GPL is not involved.

      If you choose to apply the GPL you are granted certain other rights, but with restrictions. In nearly all contracts, the granting of rights comes with certain restrictions (there are three in the BSD license for example, one of which has been recinded). The GPL's restrictions are pretty mild as software licenses go. All they require is that you give what you got. You got the right to share, you give the right to share. You got the source, you give the source.

      Every other concern about the GPL is a concern about copyright law (bundling, copying to memory, compilation, etc). These are the areas that the DMCA should have covered because they affect all software licensing, but instead it was a tool of big media to control viewing rights. Oh well.

  114. GPLed demos by 0x0d0a · · Score: 2

    On a similar note: what happens with GPLed demo apps?

    If you want to put out a "demo" version of your software, and then later hand out the "real" version, it would seem that you'd run into problems -- unless you have two separate codebases. The person could just get your source, undefine IS_DEMO, and recompile.

    I wonder if you can reasonably hand out code already processed with cpp. Probably not.

    1. Re:GPLed demos by ProfessorPuke · · Score: 2

      Is there such a thing as a GPLed demo of a commercial program? I've never heard of one, unless you count companies (id software and mySql) who release old versions of their code as GPL. Or maybe there's things like Sourceforge and TuxRacer, where the authors all agreed to re-license their software as proprietary before adding new features (leaving the old free version as a "demo").

      If you did want to release a GPL demo of code you've written and plan to later sell, that's fine. If you want to keep some features out of the free version, that's fine too. Just make sure you actually delete them, and don't just conditional it out.

      (The procedure would be: take a copy of commerical program, delete the sections that should stay proprietary, then add the GPL license to the source code, and distribute it. The code you keep was never in the file at the same time as the GPL, so its absolutely fine. You don't even have to do this physically, only notionally)

      And if you're distributing a GPL copy of something you wrote, then preprocessed output is OK (but rather pointless- you won't get anyone excited about working on your code that way).

      The situation where distributing preprocessed or partially-compiled code is NOT ok is if you took an existing GPL program as readable source, and then added some changes. You're future distributions have to be in the same kind of source code you got it in (not obfuscated, if it wasn't already). You can make changes necessary to implementing your features, of course, but not something that's only to make it harder for others to read/modify.

      If the GPL impels you to distribute source code, it must be code in the format that YOU prefer for making changes.

  115. errr...arg....I can't help it. by T.E.D. · · Score: 2
    Please refrain from giving answers like 'all code should be GPL'

    So exactly what is the problem with making your drivers (on Linux only) GPL? You are in the hardware business, not the software business, right? What nightmare scenario are you avoiding by not allowing folks to tweak and redistribute drivers for your hardware? The drivers aren't going to work for anyone very well until they fork over money for the hardware the drivers go with.

    As the copyright holder, you'd still have the right to redistribute the drivers on other platforms under whatever other license you want.
    1. Re:errr...arg....I can't help it. by demiurg · · Score: 1

      read my prev. posting : summary.

  116. Not quite by 0x0d0a · · Score: 2

    It depends.

    In real life, you probably want to have multiple apps running. You probably need to have the driver service the device at a decent number of times a second. Each time you need to service the device, you hit a context switch.

    However, if the only thing running is the kernel and the userspace app, you will not experience any context switches.

  117. GPL Issues by Anonymous Coward · · Score: 0

    There is a good article in EDN magazine that discusses the GPL in embedded systems. According to the article, if you keep your applications, device drivers,etc.. seperate from the Linux kernel and contain no GPL code, your code can remain proprietary. This is what Sony, IBM, Borland , and Oracle are doing

  118. dehe by linucs · · Score: 1

    you may develop for bsd and avoid the gpl shit

    --
    -- free software from the top of xiaodong mountain
  119. Re: GPL Issues Surrounding Commercial Device Drive by giggls · · Score: 1

    You wrote:

    > Is writing a user-mode (and hence not very
    > efficient) driver the only way for a company
    > to protect it's intellectual property?

    As you are selling the hardware, not the device-drivers, why not GPL the Drivers as well?

    GPL _does_ protect your intellectual property!

    Any competitor using your code has to publish it as well which he certainly does not want to.

    Sven

  120. drivers are plug-ins under the GPL by tim_maroney · · Score: 2

    Please see the GNU FAQ on this point, which I quote:

    If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in.

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

    If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means they must be released under the GPL or a GPL-compatible free software license.

    If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case.


    Drivers are not a borderline case. They do much more linking and data structure sharing than just invoking main with options. Their program, the kernel, "dynamically links plug-ins [drivers], and they make function calls to each other and share data structures".

    There is a way to allow proprietary modules, but it requires a special license clause for the platform; see again the FAQ.

    The inability to create proprietary plugins to extend a free platform is an important and possibly deliberate problem with the GPL. It makes it more difficult to build proprietary software by imposing an arbitrary restriction on its relationship to GPL software.

  121. Making available for download = distribution by hpa · · Score: 2
    I am not a lawyer, but I follow legal issues every now and then (and that's probably the best you're gong to find on Slashdot.) I believe the courts have ruled again and again that making something available for download is distribution, so the fundamental assumption made in the original post is plainly flawed. This is a good thing when dealing with GPL software, because it makes clause 3(b) of the GPL a hell of a lot easier to deal with. Since today the Internet is very much "a medium customarily used for software interchange", it pretty much boils down to: "it needs to be on a website, you have to include a URL to it in your documentation, and you have to make sure that URL stays valid for at least three years."

    I would suggest looking up court cases that publishing on the Internet equals distribution. They can't be very hard to find.

  122. Linux kernel modules by bored · · Score: 3, Informative

    I am a driver developer: A year or so ago a company I worked for was looking to release a linux driver. The same questions were going around and around. Some other things to think about.



    There are lots of diffrent versions of Linux. This isn't windows where you have to make a release for one or two versions of the same operating system. This will cost money in terms of support and testing. Every driver release will have to be testing with the kernel version shipped with the last couple release of Red Hat, Mandrake, Suse, and Turbolinux at a bare minimum.

    Getting a driver to work across multiple major linux verions (2.2->2.4->2.6) isn't usually a small task if your driver does more than export a basic character device. In some cases it is as easy to port to AIX and Solaris than keep up with how fast people are changing the Kernel API's. There has been talk of changing this on LKML.

    You have to have a solution to deal with people who are installing kernel patches which break API's you depend on. In our case the driver was carefully written to have an opensource component and a closed source component. The user could download and compile the opensource part which would provide a stable API for the closed source part.

    You also have to question your basic model. Is your company selling hardware, software, support or a combination? If your not selling software then why are you concerned about the driver? Simply opensource it. That way you will get free development. The bottom line may be a better if you hire 1 developer to write and release a opensource driver which gets partially maintained by the community vs two or three developers to write, maintain and test it.

    If your releasing a new piece of hardware that doesn't have market acceptance yet and isn't just another cheaper/faster soundcard/nic/etc then you probably want to encourage use of your product. Opensource drivers help to document and provide examples of how to use the hardware. I have been involved in a situation recently where a company has been trying to sell a product for two or three years into a particular market. We are selling product into a diffrent market. After trying to buy a development kit and aquire documentation we went with another solution that has very open documentation (including some opensource driver source to look at).

    There isn't anything particulary special about 99% (statistic pulled from ass) of the drivers out there. They are simply software intefaces between the OS API's and a particular piece of hardware. Just because it cost a lot money to make the driver doesn't mean it should cost a lot. Drivers by definition are pieces of code writtent to SUPPORT the hardware. Not the other way around. Viewing the driver as the cost of selling the HW (just like the marketing costs of selling it) is much more appropiate. Will you try to have a license key for the driver or will the HW be the license key? Most companies give the latest version of the driver away on their web site, why not provide the source anyway. Any patents in the source are still valid, and it discourages people from reverse engineering your driver and writing a clean room version you don't control.

  123. Consider asking the FSF for help. by jbn-o · · Score: 2

    It sounds like your organization is genuinely trying to do the right thing. The FSF is eager to help organizations like yours become compliant with the GNU GPL. The FSF's general counsel Eben Moglen has said that he spends a good deal of time helping people become GPL-compliant. Perhaps he could help your company too.

  124. Re:Why they don't want to release driver sources by cdn-programmer · · Score: 1

    I'll suggest a reason why certain manufacturers might not want to release driver sources. Suppose you have two competing products. One is a rather complex hardward based implemetation. The other is a rather simplistic hardware design with most of the functions implemented in software. WinModems come to mind but there are other "devices" where this can be done as well.

    In a hypothetical design, if the vast majority of the functions can be moved to software, then even though the end users THINK they are buying a hardware solution they really are buying a software solution. This implies that if the "drivers" are open sourced, then the competition can easily match the product simply by assembling a primative hardware support card. The fewer functions actually implememnted in hardware the cheaper it is to build the card.

    On the other hand, if most of the functionality of the card is handled in hardware, then the drivers become less of an issue. If the drivers are not all that significant then there is no reason not to release the sources.

    The example of a WinModem can perhaps illustrate this. In the end - the modem interfaces to the real world on 2 wires. Voltages are applied to these wires at various levels and for various durations of time. As long as the interface device can interpret and create these signals - it qualifies as a modem.

    The modem can be fairly complex, interfacing to the CPU via the serial interface where all the signaling and compression and error detection and correction is done on the card. In this case the device driver must deal with interupts and so forth, but it is handed bytes that are real bytes.

    On the other hand, the modem can be very simple, providing little more than the digital equivalent of the analogue voltage levels it sees on the twisted pair. This leaves it up to the driver to decode that signal. In such a case the vendor is almost masquerading as a hardware vendor because perhaps 90% of the job is done in software. Clearly, and manufacturer who goes to the lengths of eliminating the majority of the hardware in his product and replacing same with a software implementation burried in a device driver is not going to want to let people get their hands on the device driver.

  125. Is your lawyer an idiot? by Anonymous Coward · · Score: 0

    Or did you misunderstand him?

    but was told that these companies do not distribute binary only drivers - they only allow you to download them from a web site

    In what way is providing something for download not distributing it? Certainly under copyright law that constitutes publication!

  126. write a module by rsd · · Score: 2

    Linus has stated tons of times and this has being covered tons of times
    everywhere.

    You can have NON-GPL drivers in the Linux Kernel as a module.
    You won't be able to compile a monolithic kernel with your driver.

    This means that you might need to use a initrd image if you need it at boot time.

    Things can get messy if you need your driver to access some "virtual" fs to read
    the initrd image in the first place.

    My advise is to try to convince your bosses that GPLing the drivers would make things
    really easy for you as a developer and can be shared with other embedded developers.

    Specially if this is related to common pieces of hardware, like memories (flash, ...),
    buses and so on. It is even possible that similar problems have being covered before
    and it is available (guess what...) under GPL.

    Good places to start:
    http://www.linuxdevices.com
    http://alllinuxdevi ces.com

  127. You're screwed by Anonymous Coward · · Score: 0
    Linus has tolarated binary-only drivers in the past, but he never explicitly allowed them; he just didn't sue. The whole point of the GPL is to disallow what you want to do. Linus has recently stated that:

    "There is NOTHING in the kernel license that allows modules to be non-GPL'd....

    The module interface has NEVER been documented or meant to be a GPL barrier. The COPYING clearly states that the system call layer is such a barrier, so if you do your work in user land you're not in any way beholden to the GPL. The module interfaces are not system calls: there are system calls used to _install_ them, but the actual interfaces are not."

    More detailed article: Oct 24 LWN. I believe your lawyer is right. You either do userspace driver, GPL driver, or open yourself up to threat of lawsuit. I think the threat is very real; we tolorated binary-only kernel modules when we needed them because we were small. Now we're big enough that if you don't support Linux well in your network hardware, it will significantly cut down on your business. We don't need to tolarate them anymore, and it's plausible that in the not too distant future, we won't.

  128. IBM releases OCO drivers for Linux Kernel by Anonymous Coward · · Score: 0

    IBM is releasing OCO (Object Code Only, trust IBM to make a TLA from it) Linux Kernel drivers for
    various S/390 hardware.

    I guess that if IBM lawyers think it's OK to distribute it, your company can relax.

  129. Licensing Issue or a Distribution Issue? by runswithd6s · · Score: 3, Informative

    IANAL, and IANAE, but here goes...

    Is your employer's concern over licensing or over distributing source code? Linus Torvolds has made it quite clear that the Linux kernel has provisions for commercial modules, given that the module follows the API requirements, such as providing a COPYRIGHT notice in the initialization structure of the module itself. Proprietary modules are not an issue with it comes to the kernel.

    I believe that any changes you make to the kernel itself in order to integrate your module need to be GPL'ed. For example, let's say you have to make a patch to the Block IO API in order to enable some functionality of your driver. That patch must be GPL'ed. Your driver is still safe.

    If your company is concerned with distributing source code, regardless of license, then you have another problem. In that case, you will be in the business of compiling kernels if you don't want to deal with a physical module. Compiling kernels and distributing them, which you have all the rights in the world to do, adds overhead to your company's responsibilities that they probably don't want.

    So, when it comes to the Linux kernel, you should talk to Linux kernel developers and Linus Torvalds or his legal team in particular. Remember that the Linux kernel does have provisions for legal use of commercial and proprietary licensed drivers. Looking only at the GPL is not enough in this case.

    --
    assert(expired(knowledge)); /* core dump */
  130. Good Article to View by runswithd6s · · Score: 2
    Here's a link to a LinuxDevices.com article titled "Are non-GPL loadable Linux drivers really not a problem?".

    I hope that helps. If you are ever in need of info, always hit Google.

    --
    assert(expired(knowledge)); /* core dump */
  131. not to be ANAL by Anonymous Coward · · Score: 0

    but i really wouldn't touch binary only device drivers , and i would especially never use it in an embedded system , haven't you still realized why embedded engineers are flocking to use linux , because of the source ..

    so if you're product has a contender which provides GPL'ed drivers and you only provide binary drivers , guess which product i would use in my embedded system? , please make you're boss aware of this .

  132. two kinds of linking. by DunbarTheInept · · Score: 2

    link with program != link with library.
    Libraries are things explicitly DESIGNED such that the finished product is a pile of functions you want other people to call.

    --

    Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

  133. you could use a module by Anonymous Coward · · Score: 0

    but you should really just GPL the driver.

  134. Sticking to your guns... by segfault_0 · · Score: 1

    Even the GNU folks have made exceptions in their stance on the GPL in order to make their product the "standard", i.e. Bison. I think that there is a strong argument for allowing this in device drivers as well. It's one of the exceptions which could strengthen the stance of the kernel as a whole.

    It would be foolish to restrict drivers in this way, since well written drivers for newer hardware is still in my opinion one of Linux's weak points.

    I havent read the actual comments in question but hedging on whether or not to allow such proprietary code to be distributed would be a sign to me that the whole idea and implementation of the GPL, even as close to home as the Linux kernel, has not really been thought out by its proponents and therfore send up major caution flags.

    On a side note i feel that saying that code compiled with gcc should be GPL'd since it created the byte code is moronic and in my opinion a masked attempt to envelop code that would or could otherwise be totally unrelated to GPL code at all.

    Microsoft should use this thread as a commercial.

    --

    I was crazy back when being crazy really meant something. (Charles Manson)
  135. Add a software layer by Pope+Raymond+Lama · · Score: 1

    As a matter of fact, the lawyer is quite right about the matter of writting a non gpl-conformant module to the kernel. You may consult a lawyer, or you may read the GPL FAQ.
    The apropriate solution would be one that made all the software that use the kernel APIs open sourced and GPL conformant - and, ona separte software layer, make the proprietary calls to your device, without touching the kernel API, but using an API on your own GPLed layer, which license contains exceptions of the GPL to allow the use of the proprietary part of the software.
    Actually, there is this whole session on the GPL FAQ dealing with these issues.

    --
    -><- no .sig is good sig.
  136. nearly right.... by ebyrob · · Score: 2

    The point is: without a license of some sort, you have NO permission to use the existing work in any way, not to copy, not to quote, not to use to derive new work from.

    Well... this may be what Disney would like you to think, but a little thing called "fair use" is supposed to allow you to quote excerpts from any copyrighted work in order to effectively talk about said work. To simply read or use the work you can usually go to a library or similar source, which has 'a copy of' the work (contrast with 'a license to') available for loan.

    Work that is derived from the original work is controlled by the copyright holder of the original work.

    If this were true in classic copyright law, there'd have been very few parodies ever created and fewer still actually distributed. Fortuneatly this wasn't the case.

    Any proprietary software with a "license" is viral in the sense that it is attempting to change law and control users far more than ever precedented in history. Just like the GPL is viral in the sense that it also foists this really nasty "license" nonsense on the public. Now, the GPL would be somewhat nicer if it only attempted to control distribution of GPL'd work (and might have had a foot to stand on in classic copyright) instead of also controlling derivitive work. Oh well, add RMS to the list of those trying to steal my freedom I guess.

    Both "proprietary" and "free" software efforts have had a great impact on recent legislation that attempts to change the way copyright works. So while a "software license" wouldn't have meant a hill of beans 20 years ago, it might mean something today... God help us all.

    1. Re:nearly right.... by Znork · · Score: 2

      The GPL only controls the distribution of the GPL code. You can license your copyrighted derivative code any way you want, but if that way isnt compatible with the GPL license you cannot distribute the GPL portions of the code. You can still do whatever you want with the code you hold copyright to.

      Parodies and fair use are quite different beasts. You can probably get away with 'fair use' of GPL code if you take and distribute a function to write a review about it. You're not allowed to take large chunks of code and add it to your own however. Nor are you allowed to take 8 chapters out of a book, change the names and rewrite the ending and call it parody either. You would probably be able to get away with looking at the code to a GPL ls as you rewrite it as a parody however. Maybe that's what they did with 'dir'...

    2. Re:nearly right.... by ebyrob · · Score: 2

      The GPL only controls the distribution of the GPL code. You can license your copyrighted derivative code any way you want, but if that way isnt compatible with the GPL license you cannot distribute the GPL portions of the code. You can still do whatever you want with the code you hold copyright to.

      I doubt RMS would agree with you on that point, he seems to considering "linking to" and "distributing with" to be one and the same...

      If what you say were true, than the guy writing the original article would have nothing to worry about while creating "derivitive" works as long as they were never distributed with the GPL code they were derived from. Since this doesn't seem to be a viable option I have to assume the true legal issues are a bit thornier...

      Parodies and fair use are quite different beasts.

      Well ya, they aren't even in the same category, but that doesn't mean they are unrelated. Paradies are one form of free expression that is possible precisely because of fair use.

      My main point about licensing is that "needing to pay for copies" and "needing permission to make use" are quite different. The constitution attempted to set up a mechanism for creators to get some compensation for their work as an incentive to create. This is a far cry from locking up created speech and allowing only the creator to control when, where and how that speech is used.

  137. Tivo? by calc · · Score: 2

    I am not certain but doesn't the tivo's linux kernel have some binary only drivers in it?

  138. Reverse-engineering is *NOT* easy by HuguesT · · Score: 1

    It is at least 2 orders of magnitude harder than reading the *commented* source.

    Furthermore it may be `easy' technically, but the person doing the reverse-engineering may not be the one writing the competing piece of software or designing the piece of competing hardware. The reverse-engineer can only write a spec, from which a clean-room rewrite/redesign can be done by somebody else.

    This is how Compaq reverse engineered the original IBM-PC. It took ages and the size of the ROM was minuscule compared to today's firmwares.

    1. Re:Reverse-engineering is *NOT* easy by mpe · · Score: 2

      Furthermore it may be `easy' technically, but the person doing the reverse-engineering may not be the one writing the competing piece of software or designing the piece of competing hardware. The reverse-engineer can only write a spec, from which a clean-room rewrite/redesign can be done by somebody else.

      These may be the rules in the US. How much do you think someone in Seoul, Taipai or Bombay cares about them?

  139. Why can't you buy the code then? by Anonymous Coward · · Score: 0

    If you do not beleive in GPL'ing your deried work (ie, from the GPL'ed kernel) why don't you get the kernel code be licensed to you in a way that suits you. /usr/src/linux/CREDITS is a good start, identify every developer/company writen pieces of kernel code (start from Linus perhaps), get them to license the kernel the way you want it (by paying them some incentives like money, shares etc.. I guess), and distribute it with whatever license you like.

    Hope that helps.

  140. Write to Bret Fausett by Bill+Privatus · · Score: 1

    Bret writes for New Architect (nee Web Techniques), very well done mag for which I continue to pay...

    You can reach him at bret@lextext.com, according to links at New Architect Magazine on-line.

    Or check out his list of articles there by searching for his last name. He's articulate - and makes sense - I am not a lawyer, so this is in no way a defense of that profession :-)

    You may not get a personal reply, but I'll bet he's looking for sticky legal issues such as this for his column!

    --
    Redundancy is good; triple redundancy is twice as good! - Me.
  141. Pointless by Bill_Mische · · Score: 1

    English has never had an Academy telling us how to speak. Our base grammer and core vocablary is a simplified combination of Old English and Norse, and half of our words are loan words - mostly French or Latin - that we picked up on the way.

    American English started as a deliberate attempt to simplify English.

    Yes it's equally logical to refer to a corporate body as singular or plural. In law it is singular but English predates that legal fiction.

    I use the English version (cause I am) which reflects the particular dialect I speak, but in the end does it really matter?

    --
    Boring Old Fart (40, married, 3 kids...er no...make that 49, married, 3 grown up kids...it's been a long time)
  142. Keep Clear Boundaries by tedgyz · · Score: 1

    We had a similar issue hooking up gdb (GNU debugger) to a new and highly confidential (at the time) chip architecture (IA64).
    The goal was to keep all the knowledge of the chip as isolated from the GPL code as possible. In our case, we were running a simulator. We kept the simulator seperate from gdb and communicated via an RPC-like layer over a socket.

    What does this have to do with your problem? The concept of isolation and creative workarounds to legal concerns. I would think that as long as your driver is a loadable module, it would have a similar effect of being isolated from the core OS and hence legally safe. Given the comments I've read about Linus' stand on this issue, it does not seem to be a problem.

    --
    "No matter where you go, there you are." -- Buckaroo Banzai
  143. Stupid GPL by Anonymous Coward · · Score: 0

    A few rants...

    I wish someone would post a black/white GPL ruleset on the internet somewhere. Courts can decide the shady cases, but let everyone else understand and stop arguing so damn much.

    And Linus can think whatever he wants, he can't be allowed to sway Linux around because it is GPL'd. He doesn't get to change the GPL because people find a loophole, thats not his domain.

    And why the hell can't any of you /. weasels pay attention the the damn question posed, and stop with the "But I think you should GPL the code" crap. If he wanted to see a long thread of argueing nonsense, he could have just posted some pro-microsoft view and saved us all time. To the original author, looks like /. isn't going to be much help either...good luck with your project.

    Finally, why are people so keen on killing closed-source business. GPL code doesn't have a friendly community, but a forced one. I can see no reason why an open development community couldn't survive while still allowing people to create closed source proprietary projects. Challenge yourselves. If they piss you off, make their product, release it opensource/free-of-charge, and kill their business. If you don't care, let them make money and shutup.

  144. Contact Linus or implement only parts in kernel by Felinoid · · Score: 1

    You may be able to get away with implementing only parts of the driver in Linux.
    Put in a driver pasthrough so your user space driver can have all the access a kernel driver might have.
    This way your user space driver would be seprate but working in tandum with the simple kenel driver.

    Or ask Linus for a seprate liccens or a liccens exception. Offer to send money to the FSF in exchange.

    Quickly what intelectual property exsists in a driver?
    Why dose it need protecting?
    A driver is just code to support a product. What IP could there be?
    Some lines of code?
    The legal side is right I think it's a business mistake to reguard anything in a driver to be IP needing legal protection.
    What possable avantage dose this give anyone?
    I know the answer. Compeating companys benifit by not restricting it's costummers. Your products software will not be upgradable should the consummer want to.
    The compeditor who dosen't restrict his users will get your constummers.
    And Microsoft...

    --
    I don't actually exist.
  145. Re:Why they don't want to release driver sources by T.E.D. · · Score: 2
    I'll suggest a reason why certain manufacturers might not want to release driver sources. Suppose you have two competing products. One is a rather complex hardward based implemetation. The other is a rather simplistic hardware design with most of the functions implemented in software. WinModems come to mind but there are other "devices" where this can be done as well.

    In a hypothetical design, if the vast majority of the functions can be moved to software, then even though the end users THINK they are buying a hardware solution they really are buying a software solution. This implies that if the "drivers" are open sourced, then the competition can easily match the product simply by assembling a primative hardware support card. The fewer functions actually implememnted in hardware the cheaper it is to build the card.


    Perhaps. But in this case, I'd claim that you aren't a hardware manufacturer at all; you're a software manufacturer with an unusually elaborate dongle. :-)
  146. Re:Why they don't want to release driver sources by cdn-programmer · · Score: 1

    And I would agree with you.