Re: Linux GPL and binary module exception clause?

From: Linus Torvalds (torvalds_at_osdl.org)
Date: 12/10/03

  • Next message: Larry McVoy: "Re: Linux GPL and binary module exception clause?"
    Date:	Wed, 10 Dec 2003 09:58:45 -0800 (PST)
    To: Chris Friesen <cfriesen@nortelnetworks.com>
    
    

    On Wed, 10 Dec 2003, Chris Friesen wrote:
    >
    > Linus Torvalds wrote:
    >
    > > But also note how it's only the BINARY MODULE that is a derived work. Your
    > > source code is _not_ necessarily a derived work, and if you compile it for
    > > another operating system, I'd clearly not complain.
    > >
    > > This is the "stand-alone short story" vs "extra chapter without meaning
    > > outside the book" argument. See? One is a work in its own right, the other
    > > isn't.
    >
    > We currently have a situation where an external company supplies us with
    > a device driver containing a binary blob that was explicitly written as
    > OS-agnostic, and a shim that is gpl'd (at least the linux shim is) to
    > get the appropriate os-specific services. I guess this would fall under
    > the "not made just for linux" category in which you've placed the Nvidia
    > driver?
    >
    > Carrying on your analogy, this could be a generic love scene, with
    > blanks in which to insert the character's names and location.

    Yes. Depending on how it is done (ie is the support for other operating
    systems really a major thing that you really care about, and not intended
    just as a smoke-screen), I personally believe that this is likely a valid
    way to show that some part of the code (the binary blob) is not a derived
    work. Clearly it no longer depends on the kernel, and you can show that to
    be true by the obvious argument.

    And I think this argument is _especially_ strong for things like firmware
    etc, and I've been on record as saying that I think it's ok to upload
    standard firmware for a driver as long as you don't call it directly (ie
    it really lives on the hardware itself).

    (At this point I should probably point out that other people disagree, and
    there are people who feel strongly that the kernel cannot contain binary
    firmware. Whish is obviously part of the reason for having the firmware
    loader interfaces for drivers - adding an extra layer of separation).

    However, even that doesn't necessarily make the issue 100% clear. It
    clarifies the status of the binary blob itself - but arguably the _other_
    part of the story (eg the shim layer) is not a whole work, and it could be
    argued that that part in itself violates the GPL.

    At that point I just say "I'm personally a reasonable person, and quite
    frankly, personally the _last_ thing I'd want to do is to complain in a
    court of law".

    Quite frankly, you'd have to really really try to actively irritate me
    with some flagrant crap for me to decide that it's time to try to enforce
    anything. But I'm only speaking for myself here, and there are other
    copyright holders that might be more trigger-happy.

    So while I may be arguing vehemently here against binary-only modules,
    please realize that I haven't sued anybody over them, and in fact I'm a
    big believer in trying to make sure everybody is pretty happy adn not make
    a big deal out of things.

    Sometimes that "everybody is happy" means that I literally tell people
    that they might want to use a *BSD kernel instead of Linux, if I don't see
    them being able to make themselves _and_ the GPL people happy otherwise.

                    Linus
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Larry McVoy: "Re: Linux GPL and binary module exception clause?"

    Relevant Pages

    • Re: [PATCH 2/3] firmware: Add CONFIG_BUILTIN_FIRMWARE option
      ... the kernel handles device nodes and on how udev maps them to real ... Please keep in mind that when we created request_firmwaremost of the driver model developers still thought that having class devices was a good idea. ... That has changed and to represent firmware loading in a clean and race free environment where you could load multipl firmwares at the same time for the same driver, ... firmware files inside the kernel. ...
      (Linux-Kernel)
    • Re: [PATCH] request_firmware: skip timeout if userspace was not notified
      ... needs to be removed from the kernel, that's known for a very long ... your point is that the firmware loader is ... or use a kernel module for the driver that needs ... kernel on boot if built in unless an initramfs is carefully ...
      (Linux-Kernel)
    • Re: ipw2200 and wpa_supplicant
      ... > theres a wpa fix in the latest kernel prepatch ... > and there was also a small patch in the thread on sf.net i posted the ... the new ipw2200 driver. ... Back old ipw2200 firmware files, ...
      (Fedora)
    • [PATCH 00/04] Load keyspan firmware with hotplug
      ... > That people didn't like the inclusion of firmware, ... - make the keyspan driver use request_firmware. ... - converter program used to dump the keyspan headers as IHex files. ... Open Source operating system kernel'. ...
      (Linux-Kernel)
    • Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]
      ... ATI in particular, I'm amazed their lawyers OK'd stuff like.. ... going back to the Linux kernel. ... a 2.5 kernel, backported them to their 2.4 driver, and when time came ... them to give up on the whole binary module thing and just release specs so ...
      (Linux-Kernel)