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

GPL-only symbol Error

From: Jeff Haran <hidden>
Date: 2011-11-23 01:21:46

-----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]
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
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
to
quoted
EXPORT_SYMBOL()s, publishing that modified kernel source as required by
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
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?

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?

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.

Thanks,

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