Author Topic: [concluded]GPL violation  (Read 3556 times)

Offline obarey

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 25
  • Karma: 0
    • View Profile
[concluded]GPL violation
« on: April 20, 2010, 01:17:37 AM »
As far as I know, Linux modules count as derived work, even if you write them from scratch. Doesn't that make HTC, Nokia and others big copyright violators?
« Last Edit: April 22, 2010, 01:59:38 AM by obarey »

Offline rmcc

  • VIP
  • Top Member
  • ******
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 921
  • Karma: 342
    • View Profile
Re: GPL violation
« Reply #1 on: April 20, 2010, 02:43:41 AM »
As far as I know, Linux modules count as derived work, even if you write them from scratch. Doesn't that make HTC, Nokia and others big copyright violators?

You're wrong, modules can exist with licenses other than the GPL. Other module and subsystem authors are free to block functionality to those modules (by marking themselves as GPLONLY), but the existence of tainted modules is perfectly OK.

Offline obarey

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 25
  • Karma: 0
    • View Profile
Re: GPL violation
« Reply #2 on: April 21, 2010, 12:24:17 PM »
Aren't linux modules linked against the kernel, thus making them derived work? I thought that was the main difference between GPL and LGPL. And that's why proprietary desktop drivers like fglrx come with  GPL'd loaders.

Offline rmcc

  • VIP
  • Top Member
  • ******
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 921
  • Karma: 342
    • View Profile
Re: GPL violation
« Reply #3 on: April 21, 2010, 03:03:25 PM »
Aren't linux modules linked against the kernel, thus making them derived work? I thought that was the main difference between GPL and LGPL. And that's why proprietary desktop drivers like fglrx come with  GPL'd loaders.

No. Linus has granted a specific exemption for kernel modules, and it's one of the reasons the main kernel will not change licenses to GPL3. Proprietary desktop drivers come with source connection shims, which aren't necessarily GPL (although they usually are, because they use common GPL code). The only reason that part is source is so that people with different distributions and kernel versions can have the driver. If source wasn't distributed, it would be up to the proprietor of the driver (ATI, for instance) to generate the binary kernel modules for each and every kernel variant out there. The alternative to this was DKMS, which never really took off.

However, you're missing one thing here: While Nokia, HTC, and even Huawei are in the clear, the GP ONE is in violation of the GPL. Not because of the reason you thought it was (since it doesn't use modules at all), but the opposite: all drivers are being built into the kernel as a single binary; for that setup, there is no exemption: if you build something into the kernel itself, it is becomes part of a GPL'd binary, and must be released as GPL source.

Offline obarey

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 25
  • Karma: 0
    • View Profile
Re: GPL violation
« Reply #4 on: April 22, 2010, 01:59:09 AM »
OK, thanks for clearing that up.

zenvoid

  • Guest
Re: GPL violation
« Reply #5 on: November 02, 2011, 09:58:56 AM »
rmcc: That's not true, you are mistaken. Linus has never granted a specific exemption for kernel modules, the exemption only exists for the system call layer (user land). This is the quote from Linus:

"The module interface has NEVER been documented or meant to be a GPL
  barrier. The COPYING clearly states that the system call layer is such a
  barrier, so if you do your work in user land you're not in any way
  beholden to the GPL. The module interfaces are not system calls: there
  are system calls used to _install_ them, but the actual interfaces are
  not."

In the same message, Linus says that *distributing* a proprietary module would probably not a legal problem: "A vendor who distributes non-GPL modules [...] should feel very confident that they can show in a court of law that the code is not derived."

But note that *loading* the module and *distributing* the module are different things. Loading the module into the kernel is like linking a shared library with a program, and it does not exist an exemption for that. Linus says also:

"There is NOTHING in the kernel license that allows modules to be non-GPL'd." and "If people think they can avoid the GPL by using function pointers, they are WRONG. And they have always been wrong."

Please search the linux kernel mailing list the thread with title "Re: [PATCH] make LSM register functions GPLonly exports", are all those quotations are there and many other interesting information.

It is true and I agree with you that most linux developers usually allow, or at least don't actively fight non-gpl kernel modules, but there are a few exceptions, see for example Harald Welte on gpl-violations.org

« Last Edit: November 02, 2011, 10:00:58 AM by zenvoid »