Thread (18 messages) 18 messages, 6 authors, 2011-11-23

GPL-only symbol Error

From: Jeff Haran <hidden>
Date: 2011-11-23 02:10:27

-----Original Message-----
From: Guillaume Knispel [mailto:gknispel at proformatique.com]
Sent: Tuesday, November 22, 2011 5:40 PM
To: Jeff Haran
Cc: Graeme Russ; Greg KH; Sengottuvelan S; Kernel Newbies
Subject: Re: GPL-only symbol Error

On Tue, 22 Nov 2011 17:21:46 -0800
"Jeff Haran" [off-list ref] wrote:
quoted
quoted
-----Original Message-----
From: Graeme Russ [mailto:graeme.russ at gmail.com]
Sent: Tuesday, November 22, 2011 5:10 PM
To: Jeff Haran
Cc: Greg KH; Sengottuvelan S; Kernel Newbies
Subject: Re: GPL-only symbol Error

Hi Jeff,

On Wed, Nov 23, 2011 at 11:34 AM, Jeff Haran
[off-list ref]
quoted
quoted
wrote:
quoted
quoted
-----Original Message-----
From: Greg KH [mailto:greg at kroah.com]
Sent: Tuesday, November 22, 2011 2:44 PM
To: Jeff Haran; Sengottuvelan S; Kernel Newbies
Subject: Re: GPL-only symbol Error

On Tue, Nov 22, 2011 at 02:35:24PM -0800, Jeff Haran wrote:
quoted
I've seen others when faced with this who build their own kernels
from
quoted
quoted
sources just modify the problematic EXPORT_SYMBOL_GPL()s to
EXPORT_SYMBOL()s. I don't know if that is legal. I wouldn't do it
personally. Consult a lawyer before you go down that road.
It is not legal and companies have gotten into big trouble by trying
to
quoted
do that, or by creating "gpl-condom" kernel modules that wrap gpl-
only
quoted
quoted
quoted
quoted
symbols and export them again. ?Do not do that without the full buy-in
from your legal department as they do not want to hear about it from
an
quoted
external query first.
Greg,

Just curious, can you provide links to these cases?

I've read the COPYING file at the top of the Linux source tree. I am not
a lawyer, but I don't see anything in it that would prohibit somebody
from taking the GPL kernel sources, changing the
EXPORT_SYMBOL_GPL()s
quoted
quoted
to
quoted
EXPORT_SYMBOL()s, publishing that modified kernel source as required
by
quoted
quoted
quoted
the GPL license but then keep their module source that uses the now
non-GPL symbols private. It seems like it should be prohibited in the
spirit of open source, but I don't see any mention of these symbol
declarations in the license.
The mere fact that the "gpl-condom" module links to
EXPORT_SYMBOL_GPL
quoted
quoted
functions make it, in and of itself, a GPL module

ergo, there is no such thing as a "gpl-condom" module

Regards,

Graeme
Graeme,

Perhaps, but that's not what I asked about. It seems to me the essence of
GPL is that it grants people the right to modify GPL sources like the Linux
kernel in any way they want so long as they make those changes available to
whoever uses the code in the future. I don't see anything in it that prohibits
specific changes. So if I take a symbol that in the sources from kernel.org is
declared with EXPORT_SYMBOL_GPL(), make a 1 line change that declares it
EXPORT_SYMBOL() and put that on a publically available web site, how have I
violated GPL?
quoted
Let's say I then ship a product that uses that custom kernel and a non-GPL
kernel module of my own writing that only works with the custom kernel,
how is that prohibited in the GPL license?
quoted
Not that I am planning on doing this and I've never done it in the past, but
technically it seems that there would be no violation here.

I guess you can't really take some GPL code from a third party, do some
random paperwork or magic trick that basically constitute an unilateral
declaration from you that what was once considered and clearly
identified as derivatives are not anymore, publish said derivatives
that you pretend are not and do so in an incompatible licence, and get
along with it. On the contrary such behavior would very probably
constitute something like willfulness infringement if such thing is
applicable (but IANAL and so over...)
If I planned to do this, I wouldn't change the license. The custom kernel sources I posted to the would-be web site would still have the same COPYING file.

You say it can't be done, but so far I've read nothing that convinces me that it would be illegal according to the verbiage of the license.

Again, given the scenario I described, how would the existing GPL2 license file that accompanies the kernel sources prohibit it?

It seems to me that the answer so far is "nothing" and as such the previous assertion that doing this would be illegal is not supported by the law, at least not in the US where I live. Perhaps in other countries the laws of copyright are different, but if there has been anything in these recent international trade agreements that has been successful it has been a standardization of the intellectual property law that governs this kind of thing across different national boundaries.

I personally am all for open source. I wish I could have been more successful in the past at convincing my employers to open up their proprietary modules and push them upstream, if no other reason that it would have made my life easier when kernel changes invalidated their implementation.

But it doesn't do anybody any good to spread misinformation about this topic, particularly with regard to what is and isn't legal.

Jeff Haran
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help