Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Kororaa Accused of Violating GPL

Posted by Zonk on Sun May 14, 2006 04:19 PM
from the penguin-is-confused dept.
AlanS2002 writes "The Kororaa Project, a pre-configured binary install method for Gentoo Linux which bundles nVidia's and ATI binary drivers in its Kororaa Xgl Live CD , has put its Live CD on hold after being accused of violating the GPL. The issue appears to be the distribution of the Linux Kernel and nVidia's/ATI binary drivers together. When the binary drivers are built the GPL'ed code is included in the binary result, which is a violation."
+ -
story

Related Stories

[+] Slashback: Kororaa GPL, ICANN .XXX, BellSouth NSA 216 comments
Slashback tonight brings some corrections, clarifications, and updates to previous Slashdot stories including an update to the Kororaa GPL accusations, BellSouth demands a retraction to NSA story, South Korea rejects Microsft antitrust appeal, Tim Berners Lee continues net neutrality fight, ICANN possibly pressured to nix .XXX domain, another side to Vista Beta2 reviews, and the worst tech IPO in 2 years -- Read on for details.
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Yep. (Score:4, Insightful)

    by Anonymous Coward on Sunday May 14 2006, @04:23PM (#15330888)
    This is one example of why the GPL is a terrible license. People are trying to add useful things to the Linux kernel so more people use it and your license is restricting it. Use a BSD style license if you want to distribute your code open source.
    • Saying they're trying to add "useful things" to the kernel is a bit of a judgement call. You might think that adding proprietary drivers is useful, but a lot of people would disagree.

      The GPL is designed to prohibit this for a reason, and it's not because the FSF people enjoy making people's lives difficult, it's to keep Linux and the kernel from becoming dependent on proprietary binary lumps. If you want to taint your kernel by adding proprietary modules, more power to you, but you can't redistribute the result. Every user has to add the tainted bits in themselves.

      If every distro could just use the nvidia binary drivers, maybe the people working on the free "nv" driver just wouldn't bother. And then one day nvidia decides (because they suddenly become evil / get bought by Microsoft / whatever) to pull the rug out and cease development of the drivers. A few well-placed cancelled projects could set an operating system years behind the competition.

      The GPL attempts to ensure that a basic Linux system is at least functional without proprietary add-ons, so that it can't become the hostage of someone who controls a lump of code that everyone has gotten used to depending on.
      • by Alef (605149) on Sunday May 14 2006, @06:23PM (#15331377)
        If you want to taint your kernel by adding proprietary modules, more power to you, but you can't redistribute the result. Every user has to add the tainted bits in themselves.

        What if I distribute the kernel with instructions on how to add add proprietary module? Would that be OK?
        What if I then distrubute the kernel with a helper script that downloads the modules when the user runs it?
        What if these modules would reside on the same CD as the kernel, and the script simply copies them from a specific directory instead of copying them from a server?
        What if I also include a helper script that automatically installs the modules when the user runs it?
        And what if this script is a boot script?

        But, oh wait, that sounds an awful lot like what kororaa does already...? Where did I cross the line?

            • by mangu (126918) on Sunday May 14 2006, @06:49PM (#15331471)
              To be fair, though, that is "more restriction"


              Well, that depends. Let's say you are in a country whose constitution states that "The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures shall not be violated". If you are a police officer, you would say that's *more* restriction, if you are an average citizen, you would say that's *less* restriction.


              If I were selling software, I would say the GPL licence is more restrictive than BSD, as a software user and developer, I think the GPL is less restrictive than BSD. After all, it's the BSD licence that restricts me from seeing the Nokia OS source code.

            • by mrchaotica (681592) * on Sunday May 14 2006, @11:14PM (#15332454)
              I hate these stupid semantic arguments, because nobody ever realizes that the question is not between "more restrictions" or "less restrictions," but between who is restricted.

              The GPL restricts the developer, because he's forced to contribute his code back to the community. This is done for the benefit of the end user.

              The BSD license restricts the end user, because even though the code running on his device used to be Free, the vendor could chose to close it and cut off his control of his own device at any time. This is done for the benefit of said vendor.

              The GPL and BSD licenses are both restrictive, but in different ways. There is no possible license that has zero restrictions for all.

              Now that I've made this clear, can we please stop arguing about it and move on?!
  • Whaaa? (Score:4, Insightful)

    by BobPaul (710574) * on Sunday May 14 2006, @04:25PM (#15330902) Homepage Journal
    I always thought it was ok as long as they provided everything necessary to build the CD on your own, IE all of the GPL code that was used and which non-GPL packages (the nVidia and ATI drivers) were used.

    If anything I would have expected this to be a violation of nVidia and ATI's copyright, distributing their drivers rather than sending people to their respective websites to download.
      • Re:Whaaa? (Score:3, Informative)

        Nope. You have to provide every piece of source code necessary to build it. The maintainers of KORORAA don't have the source code to NVidia and ATI drivers. Hence the violation.

        No, that's blatently wrong. OpenWRT includes the closed source BroadComm network driver, and RedHat Enterprise includes lots of Redhat only software that isn't GPL.

        Now, if you created your own custom kernel in order to make the binary drivers work, but then didn't include the source code for that, I would agree with you. But they did
        • Re:Whaaa? (Score:5, Insightful)

          by mrsbrisby (60242) on Sunday May 14 2006, @05:21PM (#15331171) Homepage
          No, that's blatently wrong. OpenWRT includes the closed source BroadComm network driver

          If OpenWRT is distributing a Linux kernel with closed-source software linked into it, then yes, they are violating the GPL.

          and RedHat Enterprise includes lots of Redhat only software that isn't GPL.

          As far as I know, RHEL doesn't allow their trademark to be redistributed. That's a very different thing.

          Now, if you created your own custom kernel in order to make the binary drivers work, but then didn't include the source code for that, I would agree with you. But they didn't modify the kernel at all. They just compiled kernel modules.

          But the kernel modules are based on the Linux kernel. They use hidden magical interfaces. They don't necessarily make the modules GPL (says Linus), but that doesn't mean the resulting linked modules can be redistributed.

          If the drivers themselves were "Derived works" then that would prohibit distribution. However, that would also prevent people from using them at all and require ATI and nVidia open sourced the drivers. This is not the case, though. The drivers contain a GPL kernel interface and a binary only driver. The kernel interface that the ATI and nVidia drivers use is the derived work, and is opensource. You can get it in the respective packages from ATI and nVidia's websites.

          You're confused. The GPL isn't a usage-license, it's a redistribution license. You're free to download ATI or NVidia's copyrighted work (as they say- that's their distribution) and compile and link them into your kernel. You cannot redistribute your binary modules, or your built kernel with them, because you cannot satisfy the requirement of the GPL that says you need to be able to provide source code for those things.
            • Re:Whaaa? (Score:4, Interesting)

              by mrsbrisby (60242) on Sunday May 14 2006, @07:41PM (#15331624) Homepage
              You are wrong. I'll only speak in regards to Nvidia, though I believe ATI is the same. There are two parts to the Nvidia driver. One is the actual binary driver and one si the kernel interface. Nvidia provides source for the interface and that is wht gets compiled. Nvidia also ditributes precompiled interfaces for serveral distro's kernels. If there is a GPL violation, then Nvidia has been violating copyright for a long time.

              You do not know what you are talking about.

              NVidia cannot produce a GPL violation because NVidia is not redistributing NVidia's software. They are the copyright older. If you give someone else NVidia's software then you are redistributing it.

              GPL only applies to redistribution.

              The interface you can treat as LGPL.

              You're confused. GPL and LGPL are redistribution licenses. They are not usage licenses.

              Linus explicitly said that some of the interfaces are stable and do not constitute aggregation. Of those interfaces, all of the syscall-exported interfaces and a few kernel-internal interfaces.

              So the question is basically can someone link a closed source binary to a LGPL binary then link the LGPL binary to a GPL binary?

              You can link anything you want. Usage cannot be restricted by licenses unless you sign them.

              Linking anything to GPL-covered works is GPL (except with certain exceptions). Even if it's LGPL'd- if linked, anyone you distribute the linked binary to must have the right to redistribute it under the GPL (although the LGPL is more permissive). If you cannot guarantee that right, then you cannot distribute it to them.

              Hence the reason NVidia doesn't distribute linked code, just "patches".

              It's also the reason KORORAA cannot link and apply these "patches" and then redistribute the patched program. That's copyright violation.

              This is a rare case where I doubt the FSF would even attempt to pursue as it could very easily lead to a court decision against the GPL.

              You are not a lawyer. Or a judge for that matter.

              KORORAA doesn't have the right to redistribute Linux. They can assume that right if they meet the FSF's requirements (as outlined the GNU GPL v2). If they do not or cannot meet those requirements, then they do not have any right to redistribute Linux.
      • No other options. (Score:5, Insightful)

        by Kadin2048 (468275) <slashdot@kadin.xoxy@net> on Sunday May 14 2006, @05:18PM (#15331158) Homepage Journal
        all those suckers that bought NVidia or ATI video hardware

        Just out of curiosity, who are the non-suckers? The people who bought video hardware from ... who, exactly?

        3Dlabs doesn't make GPUs anymore, 3dfx got bought by NVidia, and XGI is gone. That leaves ATI, NVidia, Matrox, and Intel making GPUs. Does Matrox or Intel release source code to their drivers? (Is Matrox even still in the consumer graphics card business?) Who else is there? ATI and NVidia basically have the market for aftermarket cards cornered, to the best of my knowledge, and in both cases their drivers are closed-source. There really aren't any other options for most people.

        Personally I'd say go with NVidia, because they seem markedly less evil and their binary drivers seem to suck less, but that doesn't mean I'm happy about it.
        • Intel (Score:4, Informative)

          by Wesley Felter (138342) <wesley@felter.org> on Sunday May 14 2006, @05:58PM (#15331309) Homepage
          Intel publishes open source drivers for their latest integrated video chipsets.

          While people may report that some Matrox or ATI cards work fine with open source drivers, those are all old, discontinued cards. If you want to buy new hardware, Intel is basically your only choice for open source drivers.
        • by Morgaine (4316) on Sunday May 14 2006, @06:12PM (#15331347)
          >> Does Matrox or Intel release source code to their drivers? (Is Matrox even still in the consumer graphics card business?)

          Yes, Matrox is still in the business, but they're not really competing directly against nVidia and ATI in the games market -- for example, they provide no hardware vertex or pixel shaders in their consumer cards. And yes, Matrox does release driver source code.

          I recently bought a Matrox Millennium G550 PCIe [matrox.com], and not only does it list Linux on the retail box alongside the other operating systems, but their product page proclaims it as "the world's first PCI Express graphics card with open-source display drivers for Linux and other Unix-like operating systems". And they're quite inexpensive too, which is nice.

          The drivers are in recent kernels already too, although I'm getting "drmOpenDevice: Open failed" problems at the moment so DRI is being disabled and thus 3D isn't accelerated on that box just now. I hope it's just a local misconfiguration.

          Not really sure what the status is beyond that, but in theory the G550 should have good support in Linux without needing any binary modules.
            • OK, I've got karma to burn.

              I just happen to enjoy playing Doom3 and UT 2004. What card other than an ATI or Nvidia is going to pull that off and has open source drivers?

              You're using open source drivers, but then you go and (censored) it up by using a closed source game.

              Actually, I use Nvidia's binary driver. :P

              I was just waiting for one of you open source utopians to express the "closed source games are evil" opinion. Let's face it, while there have been some good open source games released, 99% of the games in the world are closed source, and some of them I have deemed are worth my time and money spent. The game industry wouldn't truly exist without the profit motive, and in general they see the need to keep things closed to ensure that.

              Games don't need to be closed source to make money. That's what you're probably thinking at the moment. The only system that would work that I can think of is if a source CD was included in the same box as the binary CD. Obviously, you couldn't post the source on a publicly accessible server, for people who can would download the source and compile the game - never giving the company one dollar.

              Things to keep in mind:

              • A business is a profiteering venture (we're not talking non-profit here).
              • It is in the business's best interest to protect any proprietary technology. Since we all hate software patents (and dislike copyright), the only protection left is closed source.
  • What? (Score:5, Insightful)

    by tomstdenis (446163) <tomstdenisNO@SPAMgmail.com> on Sunday May 14 2006, @04:26PM (#15330904) Homepage
    The drivers aren't GPL though and they don't include GPL code. They merely are compatible with GPL code. This is like saying my source files are GPLed because GCC can parse them. Or this webpage is MPLed because Mozilla can read it, etc...

    Just because the kernel can load your module doesn't mean your modules is GPLed. The way I understand the GPL is anything you derive from GPL code must be open source and what not. The drivers are proprietary and just happen to be compatible with GPL code.

    • The drivers aren't GPL though and they don't include GPL code.

      Even though I doubt that they don't include GPL code, they are certainly based on GPL code.

      Linux is under the GPL, and not the LGPL.

      This is like saying my source files are GPLed because GCC can parse them.

      Except GCC has an explicit note in its license that says that C source files that GCC (and perhaps only GCC- say using GCCisms) can compile are not automatically under the GPL.

      This doesn't negate other reasons why these C files might be redistri
      • I thought that only went inwards.

        E.g. if glibc was GPL it means you couldn't write closed source binary only software. Therefore the glibc package is LGPL which allows this.

        Now, going the otherway ... the driver doesn't incorporate ANY GPLed code. It's merely compatible with it.

        So you give out a OSS package [and the source] and then include the drivers. The package won't be GPL even though components of it are.

        I don't see the problem there.

        Tom
      • by Morgaine (4316) on Sunday May 14 2006, @05:15PM (#15331150)
        The nVidia "shim" is licensed under the GPL and is copyright nVidia --- this means that it's perfectly legal to compile the shim against the GPL kernel. At the same time, nVidia is free to do whatever they want with the shim, and its license is immaterial to them at that point because they hold its copyright. The GPL has no say over what else the copyright owner can do with kernel-linked code, the only thing that's mandatory is that it's GPL'd, and it is. For example, it's very common for copyright holders to dual-license their own GPL'd code for commercial and highly proprietary use.

        Well, what nVidia chose to do in this case is to link the shim with their binary driver, and they're perfectly entitled to do that, by their copyright. Furthermore, since the shim and the binary driver are separate components from the kernel, they can certainly be shipped on the same CD as GPL components, as long as the binary code is not linked to the kernel. And it's not.

        So you see, by virtue of being the copyright holders of the shim and GPL'ing it, nVidia easily comply with the requirements of the GPL but aren't constrained in what else they do with it.

        If the binary module were linked against the kernel then you'd be right, but it's not. At no point in time did the binary module even get a sniff of the kernel, and it's shipped without knowing anything about it, nor viceversa.

        Yes, the dependency is contrived, but that's how the GPL forced them to rearrange their code dependency graph in order to stay on the good side of the GPL's guidelines.
  • by Morgaine (4316) on Sunday May 14 2006, @04:26PM (#15330906)
    Aggregation of components is not the same think as linking, the FSF is totally clear about that. So both the GPL code and the binary code can be present together on the same medium, not linked.

    It's only when the CD is booted and the drivers loaded that a runtime image containing the binary modules linked with the kernel is created, and not before.

    Distributing an aggregation is perfectly legit, according to the guidelines for GPL v2. (Dunno about v3).
    • Perhaps, but the binary module is compiled by linking against the kernel headers, and it includes shim code which may (or may not) be derived from the kernel. This would mean that the compiled binary module (which he is distributing) could therefore be derived from the kernel, and thus would need to be distributed under the terms of the GPL.

      Why do you think that nvidia doesn't precompile their shim code too, when they distribute their kernel module. Of course, If copyright affected Kororaa, then it should a
      • by ebooher (187230) on Sunday May 14 2006, @05:04PM (#15331083) Homepage Journal
        Perhaps, but the binary module is compiled by linking against the kernel headers, and it includes shim code which may (or may not) be derived from the kernel. This would mean that the compiled binary module (which he is distributing) could therefore be derived from the kernel, and thus would need to be distributed under the terms of the GPL.

        According to information that the originator of Kororaa received from NVidia while investigating this matter, this is not true.

        The NVIDIA kernel module consists of two pieces: a binary-only portion and a kernel interface layer (aka the "shim"). The binary-only portion is not Linux-specific (the same code is used on Windows, Solaris, etc), and does not include any Linux kernel header files when it is built. The shim is provided in source code form with the driver package, and this is the piece that is compiled for your version and configuration of the Linux kernel. The shim is the only piece that references Linux kernel data structures or macros, and only does so to the extent that is needed to provide the functionality of a modern graphics driver. After the shim is compiled, it is linked with the binary-only portion, to produce the final NVIDIA kernel module.

        NVidia states that the binary is the same binary they use in all Systems. Be they Linux, BSD, Windows, or Bob's Unknown Mini-OS. The "shim" is the glue code they write that is OS specific that makes calls into the binary.

      • by foonf (447461) on Sunday May 14 2006, @05:05PM (#15331094) Homepage
        Perhaps, but the binary module is compiled by linking against the kernel headers, and it includes shim code which may (or may not) be derived from the kernel.

        That is not "linking" in the sense that is covered by the GPL. The kernel headers contain declarations for kernel functions, structures, and macros. They don't actually produce any object code that is linked in the binary. The binary driver is produced from two object files, one distributed binary-only by NVIDIA and one compiled from NVIDIA's shim source, which is explicitly allowed to be linked with the binary, and not under the GPL. So no mixture of proprietary and GPL code occurs until runtime, when you actually use the driver, and while that is technically a GPL violation since the kernel runs in a single address space (hence the "tainted kernel" messages) neither NVIDIA nor any distributor is liable for it.

        Why do you think that nvidia doesn't precompile their shim code too, when they distribute their kernel module.

        They do, actually, or at least they used to (for the default kernels of specific distributions). Its just that the Linux kernel doesn't have a stable binary ABI for drivers, so it is necessary to recompile it for every single different kernel version. If it was up to them they likely wouldn't distribute any code at all, just a binary module, but because of the way Linux is that isn't practical. Other distributions, including even Debian, have also distributed linked binaries of the NVIDIA kernel drivers without trouble.
  • by Anonymous Coward on Sunday May 14 2006, @04:26PM (#15330907)
    Is there any basis in the copyright law for the claim that bundling binary drivers in the same binary
    as a GPL kernel is copyright violation, while having them as separate downloads is OK ?

    This seems like a very naive interpretation of the "derived work". Are there any laws or precedents
    that support it ?
  • It all depends (Score:5, Insightful)

    by robla (4860) * on Sunday May 14 2006, @04:27PM (#15330912) Homepage Journal
    ...on who sent the email as to whether or not this is truly a significant event. While the person emailing may have a point (IANAL, so I dunno, the devil is in the messy details), it's a little melodramatic to make a big fuss out of this unless the person making the complaint is a copyright holder in the kernel and is issuing a cease and desist.
  • Oh no!!! (Score:4, Insightful)

    by Duncan3 (10537) on Sunday May 14 2006, @04:33PM (#15330934) Homepage
    Someone made Linux easy to install...

    KILL KILL KILL!!! STOP THEM!!!

    Seriously, they put linkable drivers on a CD... That's 100% OK.

    Stop trying to stop Linux you Microsoft plant, nice try tho.
  • I spit (Score:4, Insightful)

    by fishbowl (7759) <nethack.cox@net> on Sunday May 14 2006, @04:34PM (#15330938)
    There really isn't any fun, having to take a distro that leaves you with an 80x25 console, or a 640x480 X desktop (and I feel lucky sometimes to have EITHER of these work correctly), and from there, find and download drivers for NV or ATI, and build and boot a kernel that works with what was otherwise a working live system.

    This is really not a reasonable thing to expect from a user, not even from a user like me who has been running linux since 0.99pl1.

  • by Anonymous Coward on Sunday May 14 2006, @04:39PM (#15330964)
    i am an idiot so here i go again.

    1) as of the new xorg there is no need for video drivers to be in the kernel.
    2) indeed the kernel people have been urging ati and nv to move their drivers out to userland.
    3) their drivers need a lot of rework to get to userland, plus they will run approx. 1% slower.
    4) neither ati nor nvidia want to lose 1% performance, let alone all the time and testing to move the code.
    5) if one moves before the other, the average gaymer, i mean laymer, oops, gamer magazine draws charts that make 1% seem like the entire frickin' page width.

    bye now.
  • What a prick (Score:5, Insightful)

    by linvir (970218) on Sunday May 14 2006, @04:42PM (#15330978)
    Sounds like the sort of guy who sends a letter to have the local skatepark closed down when he notices that its disabled access is lacking.

    The most infuriating thing is how he goes for the puppy angle with this bullshit:

    this distribution goes against the open source spirit of linux
    The 'open source spirit of Linux' is that Open Source is supposed to enable people to stop worrying about this licensing crap. If nVidia and ATI aren't complaining, there shouldn't be an issue on our side.

    And for the most part there isn't. Which is why it's even more sad that he's actually caving to this:

    As such, the Live CD has been put on hold, until I can sort this out. If I cannot sort this out I will be forced to cease work on the Xgl Live CD.
    My overall opinion is that this Koraraa guy ought to grow a pair and wait to see what the non-basement-dwelling grownups have to say about his distro's licensing.
        • Re:What a prick (Score:4, Informative)

          by Chops (168851) on Sunday May 14 2006, @08:09PM (#15331714)
          People choose the GPL over the BSD license because it fosters better software by keeping the codebase free and available. That is a pragmatic benefit of the GPL.

          People choose the GPL for all sorts of reasons. Some kernel developers like the GPL because they want the kernel, including hardware drivers, to remain free software. They're actively opposed to the idea of binary-only drivers proliferating, even if it means more hardware support for Linux. Did you happen to read the link I gave you?

          It'd be incredibly arrogant to say that these closed source drivers are no more than "improvements" to some kernel module interface code.

          The issue isn't whether it's arrogant to say that; the issue is whether or not it's legal to distribute the NVidia driver with the Linux kernel. My personal opinion is that it is legal, actually, but treating the whole issue as "licensing crap" is wrong. It's like a child complaining about having to eat dinner before having cookies. "But I like cookies! Why can't I just have cookies?"

          I know you like hardware support. I like cookies. It's not that simple, though, and saying "stop worrying and eat cookies" doesn't make it that simple. You should think about why Linux is so much better and more successful than its non-GPLed competitors, and why Linus said that relicensing Linux under the GPL was the best thing he ever did.

          And even if there was a case in all of this, it'd be the case of one man's (RMS) hatred of closed source software, and it would have exactly zero to do with creating quality free code. So like I said, stop worrying about this licensing crap, and get back to worrying about writing better software.

          Why do you think it's just RMS, and that everybody who choosed to use his license actually doesn't agree with most of what it's supposed to mean? Where did you get that idea?

          You really should read that link I included. Here, I'll include it again:

          http://www.groklaw.net/articlebasic.php?story=2006 0424164142296 [groklaw.net]

          I'll even save you some clicking: Some kernel developers (Arjan van de Ven and Andrea Arcangeli) are very concerned about the popularity of binary kernel drivers, and see it possibly eroding Linux's freeness, and interfering with the process of kernel development even for those not using the binary drivers. That's the opinion of people who are heavily involved in kernel development. You say it has "exactly zero to do with creating quality free code"; why do you think you know better than they do?
  • by Anonymous Coward on Sunday May 14 2006, @04:44PM (#15330988)
    Repeat after me:
    There is no GPL code in the binary driver!

    Nobody claims there is and that's not the issue here.
    One really has to ask how this article submission could have been acceptec, especially as the way the nvidia driver works is clearly spelled out on the kororaa hompage:

            The NVIDIA kernel module consists of two pieces: a binary-only
            portion and a kernel interface layer (aka the "shim"). The
            binary-only portion is not Linux-specific (the same code is used
            on Windows, Solaris, etc), and does not include any Linux kernel
            header files when it is built. The shim is provided in source code
            form with the driver package, and this is the piece that is compiled
            for your version and configuration of the Linux kernel. The shim
            is the only piece that references Linux kernel data structures or
            macros, and only does so to the extent that is needed to provide
            the functionality of a modern graphics driver. After the shim is
            compiled, it is linked with the binary-only portion, to produce
            the final NVIDIA kernel module.
  • by btempleton (149110) on Sunday May 14 2006, @09:58PM (#15332197) Homepage
    I must say I have always been bothered by the suggestion that writing code to a particular API (such as that of a kernel) could be considered a derivative work under copyright. If I write to the Windows API, have I careated a derivative work of Windows, to be owned by Microsoft?

    If you do static linking of some GPL code with your code, then it's not just a derivative work, you are actually including somebody else's code and must get their permission. But static linking is of course less and less common. Modules that call libraries are only bound to the libraries at runtime today. Code is written to APIs but bound at runtime.

    This is thus a "loophole" in the GPL, turning it into the LGPL in some interpretations, and to fight that, we see this interpretation that just writing code to an API, making use of the API definition found in header files, makes you a derivative work. I don't think this is a good interpretation for a free software movement to be pushing, even if it means some loopholes.
      • by btempleton (149110) on Monday May 15 2006, @03:00AM (#15332966) Homepage
        But this is, if you think about it, a pretty radical doctrine in software. Certainly if Microsoft, or anybody else who generated a header file or API, tried to claim a copyright interest in programs written to that API, the world, and most of all the free software community, would be up in arms. You should not use a doctrine you would not accept from others.
  • The following GPL FAQ items I believe are relevant:

    TECHNICALLY, seems the GPL prohibits what Kororaa is doing with their Live CD. HOWEVER, seems Linus would side with them. HOWEVER HOWEVER, this would have to be legally debated, in other words, "defended". There's no explicit legal protection, and to get a judgment call would require money, lawyers, and being tangled in a lawsuit.

    All of which would be silly and embarrassing both inside, and outside, of The Community.

    I, personally, am very much in favor of "completely free (as in speech)" software. Mr. Stallman may be a "stickler", but I find him heroically inflexible. The world needs MORE Mr. Stallmans who actually and honestly stand tall, stand proud for what they believe in. And I'm not kissing ass here: I share his vision, but am far weaker in my convictions.

    The pragmatist in me thinks that the Linux kernel's license should be changed to the LGPL. (http://www.gnu.org/copyleft/lesser.html [gnu.org]) I know full well, however, that this would be a huge step backward for Freedom. (Anybody saying otherwise is either [1.a] simply not intelligent enough to understand, or [1.b] hasn't bothered to consider the implications, [2] has ulterior motives, and/or [3] has a personal vendetta against RMS due to personality conflict. "Consider the messenger...")

    But PRACTICALLY, it would enable real headway on the driver/support front. I think ATI and nVidia (and every other closed-source **DRIVER** maker) is quite daft. But they have their "reasons", even if we neither know, nor understand them.

    It's laudable to DREAM of a world where all software is Free, both as in Speech AND as in Beer. Bur for now, and for the foreseeable future, we all live and work in the Real World. Unless we're friendly and play nice with the other children, most proprietary companies, especially hardware creators, may very well choose to take their balls and go home. (To those who cry, "GOOD RIDDANCE!", I ask for you to tell us all of the open-source-hardware, with accompanying open-source drivers, to replace their wares with!) Free and Open (Source) Software makes its virtues self-evident. We need not be antagonistic.

    The truth of the matter is that the hardware we want open-sourced drivers for the most is made by companies comfortably at the top of their game. They sell PLENTY of hardware to not need to worry/care about The Community one iota. They ha

    • by Poppler (822173) on Sunday May 14 2006, @04:26PM (#15330910) Journal
      I thought [the GPL] was supposed to make things simpler, not have all of these caveats and 'gotchas'.

      You are confused. The GPL is designed to keep software big-F Free. The "caveats and 'gotchas'" are very much the point.
        • by Tet (2721) <slashdot.astradyne@co@uk> on Sunday May 14 2006, @05:36PM (#15331230) Homepage Journal
          This hurts Linux adoption big time.

          Thus speaks the voice of one who sees widespread adoption of Linux as a goal. Others see the creation of a free operating system as the goal instead. The two aren't mutually exclusive, but nor do they go hand in hand. I would rather see Linux remain a niche OS than sacrifice my principles to chase market share. Of course, I'd like to see Linux gain widespread adoption as well. But if it came to a choice between the two, I'll stick with what I believe to be right.

          • Linux is a GPLd OS. If that doesn't suit you then you're quite right to use something else.


            It suits me fine, but it doesn't suit many people for this reason. Lacking userbase causes many problems, like the lack of hardware support and ultimately vendor support. It helps nobody.

            I seem to detect some aggressiveness in your reply. You have no business in telling me which OS to use or quit using.

            HAND
                • by mrchaotica (681592) * on Sunday May 14 2006, @10:53PM (#15332371)
                  From a hardware vendor's perspective, stable binary interfaces are nirvana.

                  It means that they can write their drivers to a stable interface and not have to worry about every single recompile of the kernel invalidating their work, which in turn means that they have lower support cost.
                  That entire argument is bullshit.

                  What would really be nirvana would be for an entire community of willing volunteers to write their driver for free, which could happen if the vendor would just release some damn specs! Then the support cost wouldn't just be lower, it would be zero because the community would be supporting itself!

                  Besides, "trade secrets" are not necessary for a hardware company to succeed anyway. Look at all the hardware that does have Free drivers: CPUs, mass storage devices, sound cards, network cards, etc. Those don't have any "trade secrets" that prevent drivers from being written, and there is absolutely no reason for video cards (and wireless chips) to be any different!
        • by sumdumass (711423) on Sunday May 14 2006, @05:44PM (#15331264) Journal
          it isn't that you cannot use a program, it is that you cannot use certain programs when redistributing gpl'd products. You are free to use it all you want if you don't trip anything in the gpl designed to protect free software.

          Now, i too think this is bullshit. There are alot of users out there that don't have the skills or abilities to install NVidia's or ATI's drivers and have it working corectly. Also, it seems that you cannot use them in a live cd so performance is thrown out. It doesn't matter how free software should be, this just holds it back. It is no wonder propriatary software vendors are fearful and sticking with microsoft only products. Situations like this do nothing but re-enforce all those GPL is viral statments. It is a shame that this hasn't been adressed before. Linus has glanced on the issue with before GPL kernel libraries verses others and non-GPL'd software using them. This topic should be closed at this point in life.
    • Before you go on about how evil the GPL is, why not wait until there is some clarification on the issue.

      So far, an un-identified person sent an email to someone distributing a Live CD making certain claims.

      As far as I can see, no one has said whether that person has any code of his/her own in that Linux distribution. Nor has anyone who would be able to say one way or the other been quoted.

      Personally, I'd wait until Linus or ATI said that this was wrong before going off on how evil the GPL is.
        • by khasim (1285) <brandioch.conner@gmail.com> on Sunday May 14 2006, @05:07PM (#15331107)
          If you can't tell if you're free or not, are you really free?
          So, if I can't piss on the cheese at the local deli, I'm not really "Free", am I?

          The GPL is about making the code Free so that anyone can use it and improve it ... PROVIDED that they share any changes they've made IF they distribute those changes.

          There are other licenses that are more "Free", depending upon your point of view.
          While I agree flying off the handle is probably not the best course of action at the moment, railing against the GPL for creating a situation like this where it really is quite difficult to see if there is a violation or not I would think is perfectly acceptable.
          Maybe. But then, as soon as any restriction is placed upon any code, you create edge cases. That's nothing new. Which is why we have "expert" lawyers in the field of "intellectual property" law.

          Because there are edge cases is no reason to claim that the GPL is evil.

          Certainly not when this case rests on one un-identified individual sending one email to one distribution.
    • All the more reason... To avoid the GPL. I thought it was supposed to make things simpler, not have all of these caveats and 'gotchas'. I understand the next version of the GPL is supposed to eliminate these, but then there's the problem with dealing with multiple versions of the GPL.

      It's sadly true... The GPL is far too restrictive. I do not believe the FSF will ever 'force' any of the major GPU makers to open source the software.

      ... but they could always switch to the FreeBSD kernel, they already ha

    • At this point, the Linux kernel is GPLd forever.

      So if you don't like it, just don't use it. If you want FreeBSD or Windows, you know where to find it.
    • by computerjunkie (128344) on Sunday May 14 2006, @05:19PM (#15331164)
      Have you ever read a standard EULA? The GPL is simple by comparison.
    • Re:tainted kernel (Score:5, Informative)

      by tomstdenis (446163) <tomstdenisNO@SPAMgmail.com> on Sunday May 14 2006, @04:28PM (#15330917) Homepage
      It only taints the kernel if you load the module. The kernel itself [the bzImage] is entirely based on GPL code.

      So don't autoload the drivers and the kernel will not load with a tainted status. /me shakes head...

      Tom
      • Re:tainted kernel (Score:3, Insightful)

        by Anonymous Coward
        "It only taints the kernel if you load the module. The kernel itself [the bzImage] is entirely based on GPL code.

        So don't autoload the drivers and the kernel will not load with a tainted status. /me shakes head...

        Tom"

        Thats bullshit as I look at it.

        That driver requires GPL'd code to be compiled. It requires GPL'd code to run. It's obviously kernel-derived and thusly it violates the GPL.

        The tainting is there to inform end users that their kernel is tainted with non-gpl'd code it's not there to decide weither
          • Re:tainted kernel (Score:4, Informative)

            by KiloByte (825081) on Sunday May 14 2006, @05:27PM (#15331195)
            No, stop the FUD, please.

            As a special exception, the Free Software Foundation gives unlimited
            permission to copy, distribute and modify the configure scripts that
            are the output of Autoconf. You need not follow the terms of the GNU
            General Public License when using or distributing such scripts, even
            though portions of the text of Autoconf appear in them. The GNU
            General Public License (GPL) does govern all other use of the material
            that constitutes the Autoconf program.


            However, if the exception was not there, anything that needs autoconf would have to be licensed under a GPL-compatible license. Not necessarily GPLed itself -- if your piece of software is, for example, under BSD3, anyone can replace GPLed parts with something else and be not bound by the GPL any more.

            In nVidia's case, though, there is no such exception, and it would be next to impossible to get it, considering that every single contributor to the Linux kernel would have to grant it. Including those who are dead (in which case you need to track down whoever inherited the copyright) or in persistent vegetative case (in that case you're simply out of luck until they die).
      • Re:tainted kernel (Score:5, Informative)

        by swillden (191260) * <shawn-ds@willden.org> on Sunday May 14 2006, @05:49PM (#15331289) Homepage Journal

        So don't autoload the drivers and the kernel will not load with a tainted status.

        That doesn't make any difference.

        Copyright law prohibits the creation of derived works without permission, and the GPL does not grant that permission unless you distribute source. So the question boils down to "Are the binary-only modules derivative works under the law?".

        The answer is: yes and no. The modules come from ATI and NVidia in two parts: a binary-only part that contains all of the interesting code, and some "glue code" that is distributed in source. Both parts have liberal redistribution permissions, which makes the GPL happy, so the big issue is source.

        The argument is that the core, binary-only components of their drivers are not derived works of Linux, since they contain no Linux code (not even any headers) and I think they even claim that the same binaries are used on other platforms and wasn't developed specifically for Linux, at least in the beginning. The glue code that they distribute that wraps the binary-only component is clearly a derived work of Linux, but they distribute the source to that.

        When a user compiles the glue code and links it with the binary-only component to produce a kernel module, the result is a derived work of the GPL'd Linux kernel. Note that I didn't say "and loads it into a running kernel". That's not really relevant. Technically, it's somewhat unclear whether the GPL gives users the right to create otherwise unauthorized derived works, but the general interpretation (including by the FSF) is that people can do whatever they like, and it's only when they start distributing that the question of whether or not the GPL has granted them permission becomes important.

        When someone takes that same compiled glue plus binary module and distributes them, they're distributing a derived work of Linux, without complying with the terms of the GPL, and therefore without permission to distribute under copyright law.

        I think it's quite clear that Kororaa cannot do this without infringing Linux copyrights. The only way they can justify it is if they can argue that the binary kernel modules (glue + core binaries) are not, under the law, derived works of Linux. That seems like a tough one, but IANAL, so maybe it's possible.

    • The problem with this is that the "evil" closed sourced drivers, in this case, are hands-down better. The folks at nVidia actually seem to care about the Linux community, and therefore bother to keep up with our development and produce drivers that perform top-notch for us. It's more than a little odd that the thanks they recieve for their efforts, other than my video card dollars, is GPL violetions, but that's the case.
    • Re:tainted kernel (Score:5, Insightful)

      by idonthack (883680) <idonthack@NOsPAM.gmail.com> on Sunday May 14 2006, @05:32PM (#15331215)
      just remove the evil binary-only drivers and all is well.
      Except XGL is Kororaa's main feature (in fact, the only reason for the LiveCD), and that won't run without those drivers. If they take the drivers out they might as well just not do it.
    • A counter-argument (Score:5, Informative)

      by xenocide2 (231786) on Sunday May 14 2006, @05:43PM (#15331252) Homepage
      Does anyone besides open source zealots care about open drivers? I think so. Perhaps if Nvidia and ATi had open sourced their drivers, Xgl wouldn't have taken so long to exist (Xgl requires a certain level of driver support, and aiglx even more so). I'm pretty sure you'd have liked this just as much 4 years ago, when I first saw people talking about things like openGL accellerated gtk widgets, and otherwise imagining how to use 3d to its best. But 4 years ago, you were writing off a large group of people by doing that.

      Furthermore, installing drivers for your ethernet, cd drive, etc is very simple on linux, because the drivers are open source and in kernel. Attempting to maintain a glue between the kernel and your driver is painful and prone to failure; unlike in tree drivers, when someone else breaks code you depended on, you have to fix it, not them. Recall that nvidia's nforce2 boards are better supported in the kernel than by nVidia itself! With no documents to support them in their efforts, even. I hear they even now recommend the reverse engineered driver over their own, but don't distribute or improve, oddly. If nvidia's drivers were GPL'd, installing them would be as simple as installing anything else.

      It's pretty naive to think that their IP is so valuable that the source code would disclose it any more than the underlying binary code does. Their IP is already in jeopardy by distributing the software. One of the many reasons I suspect they have no intention of participating in OSS is that there's a number of speed over quality decisions written into it that would be exposed, perhaps even application specific optimizations. While this could be neat to have optimized drivers on a per game basis, this is never disclosed to the public (and when revealed sparks not applause but public humiliation). Furthermore, it means that optimizations are done on their terms, not the public's. Any application specific optimizations are given only to a specific application, with no cross over improvement in other applications, or the ability to make the change. If NVIDIA really wanted to share their drivers with the public and gain all the benefits often touted, they'd stop pointing at other people's IP they own and begin to change it. They haven't, and they won't. What nefarious secrets lie within? Perhaps just a case of "this stuff is really hard, and we don't do it very well?"

      Just a thought -- if you dislike the open source spirit as embodied by the GPL, why not do something productive about it, like make a liveCD based on BSD running Xgl. There's nvidia drivers for BSD too, ya know. And for all the talk about pressuring vendors to open their code, they have no qualms about giving it away reguardless with no expectation of anything in return. Linux needs to focus on being Linux, not beating Redmond.

      The good news is that I suspect the person who wrote to Kororaa doesn't actually have any basis for the claim. While nvidia's legality has been on shady grounds, the message published doesn't provide any insightful evidence in either direction. Anyone seriously familiar with the kernel and binary objects should be familiar with the recurring arguments and whatnot. It's clear to me that if the drivers themselves were in violation, nvidia would have been sued some time ago.