Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Linux Software

GPL Issues Surrounding Commercial Device Drivers? 523

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?
This discussion has been archived. No new comments can be posted.

GPL Issues Surrounding Commercial Device Drivers?

Comments Filter:
  • lawyers (Score:5, Insightful)

    by Dionysus ( 12737 ) on Tuesday November 05, 2002 @12:13PM (#4599797) Homepage
    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?
  • Re:If you agree... (Score:1, Insightful)

    by Anonymous Coward on Tuesday November 05, 2002 @12:17PM (#4599838)
    Probably because he likes his job, and likes his paycheck and the things it allows him to do - like support himself/family and eat on days that end with "y".
  • by StandardDeviant ( 122674 ) on Tuesday November 05, 2002 @12:17PM (#4599839) Homepage Journal
    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...
  • by ShadowFlyP ( 540489 ) on Tuesday November 05, 2002 @12:17PM (#4599840) Homepage
    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.
  • Protect? (Score:5, Insightful)

    by OttoM ( 467655 ) on Tuesday November 05, 2002 @12:20PM (#4599863)
    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.

  • by Isle ( 95215 ) on Tuesday November 05, 2002 @12:22PM (#4599885) Homepage
    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.
  • by CaptainAlbert ( 162776 ) on Tuesday November 05, 2002 @12:24PM (#4599899) Homepage
    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... :)
  • Re:lawyers (Score:5, Insightful)

    by nicodaemos ( 454358 ) on Tuesday November 05, 2002 @12:25PM (#4599906) Homepage Journal
    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!
  • by Anonymous Coward on Tuesday November 05, 2002 @12:25PM (#4599907)
    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.
  • Re:If you agree... (Score:1, Insightful)

    by szo ( 7842 ) on Tuesday November 05, 2002 @12:26PM (#4599913)
    As far as I understand, he don't want to get around GPL, rather he wants to be sure that writing a binary-only kernel driver is not getting around GPL. IIRC Linus said it's ok to have binary-only drivers, they just can't reexport symbols.

    Szo
  • Re:lawyers (Score:1, Insightful)

    by joshua42 ( 103889 ) on Tuesday November 05, 2002 @12:26PM (#4599922)
    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... :)
  • Driver in ROM (Score:2, Insightful)

    by boy_afraid ( 234774 ) <Antebios1@gmail.com> on Tuesday November 05, 2002 @12:29PM (#4599948) Journal
    I may be way off base, but what about embedding the driver in the hardware via ROM chips? Wasn't there a previous /. article about this?

    Also, how will this product interface with Linux? Via PCI or USB interface or actually run Linux? If it runs Linux, then I don't think you need to have users download drivers since it will be a closed system. But, on the other hand, you will just have to bite the bullet and use the user space driver, which is actually a standard.

    Why don't you take a look at this article [linuxdevices.com] and a reply article here [linuxdevices.com]? There is are more discussions.
  • Re:lawyers (Score:5, Insightful)

    by Anonymous Coward on Tuesday November 05, 2002 @12:30PM (#4599952)
    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.
  • Wrong! (Score:4, Insightful)

    by Vicegrip ( 82853 ) on Tuesday November 05, 2002 @12:31PM (#4599965) Journal
    There's a place for open source and a place for proprietary. Liking Linux does not preclude using or working for proprietary software vendors.

    Bruce Perrens says it perfectly here. What matters to the industry in the creation of software is the use of open/patent/royalty-free standards.

    Claiming all Linux users subscribe un-equivocally to the FSF's views about Free software is a provocative statement that indeed does deserve to get modded down for being a Troll.
  • by Anonymous Coward on Tuesday November 05, 2002 @12:33PM (#4599985)
    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.
  • Re:Another Winner (Score:5, Insightful)

    by dasmegabyte ( 267018 ) <das@OHNOWHATSTHISdasmegabyte.org> on Tuesday November 05, 2002 @12:34PM (#4599995) Homepage Journal
    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?
  • by devaldez ( 310051 ) <(ten.tsacmoc) (ta) (zedlaved)> on Tuesday November 05, 2002 @12:34PM (#4600002) Homepage Journal
    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;)
  • Re:lawyers (Score:5, Insightful)

    by Anonymous Coward on Tuesday November 05, 2002 @12:35PM (#4600007)
    "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`.
  • Re:Protect? (Score:1, Insightful)

    by Anonymous Coward on Tuesday November 05, 2002 @12:39PM (#4600032)
    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.
  • by crush ( 19364 ) on Tuesday November 05, 2002 @12:41PM (#4600050)
    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?
  • by eggestad ( 204664 ) on Tuesday November 05, 2002 @12:43PM (#4600064)
    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.
  • by Compulawyer ( 318018 ) on Tuesday November 05, 2002 @12:52PM (#4600121)
    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.

  • by misterhaan ( 613272 ) on Tuesday November 05, 2002 @12:59PM (#4600165) Homepage Journal
    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.

  • by Vagary ( 21383 ) <jawarren&gmail,com> on Tuesday November 05, 2002 @01:03PM (#4600193) Journal

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

  • by n8ur ( 230546 ) on Tuesday November 05, 2002 @01:08PM (#4600215) Homepage
    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.

  • by Art Popp ( 29075 ) on Tuesday November 05, 2002 @01:16PM (#4600254)
    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.
  • by pythorlh ( 236755 ) <pythor.gmail@com> on Tuesday November 05, 2002 @01:17PM (#4600261) Journal
    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.

  • by Anonymous Coward on Tuesday November 05, 2002 @01:17PM (#4600268)
    > 1) Avoid any GPL issues -- if your driver is
    > written to the UDI spec, then it's not a derived
    > work of the linux kernel, as your driver can just
    > as easily run on non GPL OS's

    Point 2 is correct but point 1 is wrong. Your device driver isn't a derivative work of the kernel, *but* the combination of the Linux kernel and the UDI device driver *is* a derivative work of the kernel. The Linux kernel links to UDI which links to your device driver.

    Previously, Linus allowed binary modules to exist because most of the kernel wasn't modular so there's only so much that a binary module can do. The trend in Linux kernel version 2.6 is towards making as much as possible become a loadable module so recompiling the kernel will eventually become a thing of the past. Because of this, the tolerance of binary modules is decreasing. Don't be surprised if binary modules are eliminated altogether in Linux 2.8.

    IMO, the best way to design your device driver is to use usermode. Note, user-mode doesn't have to be slow. The linux kernel web server was removed from the kernel because it was possible to get the same performance benefits with a user-space program. In order to get this added performance, you may need to patch the kernel and release the source code for that patch. However, if done right, you can do it without revealing your intellectual property. Just define a generic interface which sends bytes to your device driver. The logic for the API would be in user-space. To get added speed, you have to eliminate user-space to kernel memory copying. Look at the "zero copy networking" code for details on how to do this.
  • by ADRA ( 37398 ) on Tuesday November 05, 2002 @01:25PM (#4600313)
    "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.
  • Re:Linux != Linus (Score:2, Insightful)

    by albalbo ( 33890 ) on Tuesday November 05, 2002 @01:28PM (#4600332) Homepage
    > 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.

  • by Jaeger ( 2722 ) on Tuesday November 05, 2002 @01:29PM (#4600342) Homepage
    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.
  • by Anonymous Coward on Tuesday November 05, 2002 @01:40PM (#4600392)
    " 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.

  • Re:lawyers (Score:4, Insightful)

    by ajs ( 35943 ) <ajs@ajsPERIOD.com minus punct> on Tuesday November 05, 2002 @02:21PM (#4600560) Homepage Journal
    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.
  • by 42forty-two42 ( 532340 ) <bdonlan@@@gmail...com> on Tuesday November 05, 2002 @02:28PM (#4600596) Homepage Journal
    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.
  • by GrumpyOldMan ( 140072 ) on Tuesday November 05, 2002 @03:20PM (#4600961)
    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.
  • by Skapare ( 16644 ) on Tuesday November 05, 2002 @03:23PM (#4600998) Homepage

    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.

  • by OSSturi ( 577033 ) on Tuesday November 05, 2002 @03:38PM (#4601139)
    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.
  • Re:lawyers (Score:4, Insightful)

    by paulbd ( 118132 ) on Tuesday November 05, 2002 @03:57PM (#4601282) Homepage

    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.

  • by 0x0d0a ( 568518 ) on Tuesday November 05, 2002 @04:25PM (#4601556) Journal
    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?
  • by metamatic ( 202216 ) on Tuesday November 05, 2002 @05:09PM (#4601990) Homepage Journal
    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.
  • Re:lawyers (Score:3, Insightful)

    by paulbd ( 118132 ) on Tuesday November 05, 2002 @06:53PM (#4603107) Homepage

    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.

"Everyone's head is a cheap movie show." -- Jeff G. Bone

Working...