RE: GPL-only symbol Error

2011-11-23 Thread Jeff Haran
 -Original Message-
 From: Greg KH [mailto:g...@kroah.com]
 Sent: Tuesday, November 22, 2011 6:50 PM
 To: Jeff Haran
 Cc: Guillaume Knispel; Graeme Russ; Sengottuvelan S; Kernel Newbies
 Subject: Re: GPL-only symbol Error
 
 On Tue, Nov 22, 2011 at 06:10:27PM -0800, Jeff Haran wrote:
  But it doesn't do anybody any good to spread misinformation about
this
  topic, particularly with regard to what is and isn't legal.
 
 I agree, please don't continue it, but rather, consult a lawyer if you
 have further questions.
 
 greg k-h

You are the one who said it was illegal. To quote your previous post:

It is not legal and companies have gotten into big trouble by trying to
do that

I said this:

I've seen others when faced with this who build their own kernels from
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.

And when I asked you to provide evidence of the legal trouble you
mentioned, all you could come up with was allusions to legal disputes
regarding a different source package, Samba, which if I understood your
response, never even went to trial. No trial, no legal precedent.

If anybody might be guilty of spreading of misinformation, it's you. All
I have done is expressed personal doubts and asked questions. Maybe
doing this would be illegal, maybe it wouldn't be, that's why I said I
don't know if that is legal but you so far have completely failed to
justify your assertion that it is illegal.

At least that's my legal layman's personal opinion,

Jeff Haran





___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RE: GPL-only symbol Error

2011-11-23 Thread Jeff Haran
 -Original Message-
 From: Bernd Petrovitsch [mailto:be...@petrovitsch.priv.at]
 Sent: Wednesday, November 23, 2011 2:51 AM
 To: Sengottuvelan S
 Cc: Graeme Russ; Greg KH; Kernel Newbies; Jeff Haran
 Subject: RE: GPL-only symbol Error
 
 On Die, 2011-11-22 at 17:21 -0800, Jeff Haran wrote:
 []
  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
 
 You forgot that you also have the hand out the same rights you have to
 other people with the (changed) source.
 You forgot that all of that also holds for all of your changes, removal
 and additions to that code (and lawyers don't care if the changes good,
 bad or ugly).

Which is what I suggested in the hypothetical scenario I described. The change 
to the kernel source to change an EXPORT_SYMBOL_GPL() to EXPORT_SYMBOL() would 
be published.
 
   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?
 
 IANAL (and there are pretty much no non-lurking lawyers on LKML), but
 you probably didn't violate the GPL as such on the kernel you downloaded
 with such a change. But that hasn't anything to do with the legal side -
 ask a lawyer if can change the legal status with such a change.

Just to be clear, I haven't done any of this. This thread originated with 
somebody else asking why he was getting this build error when he attempted to 
build his non-GPL module that referenced EXPORT_SYMBOL_GPL() exported symbols. 
I was attempting to explain to that original poster why he was getting the 
error.
 
  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?
 
 That's the actual bug: You assume that you can legally make a
 proprietary Linux kernel module by simply declaring to do so (and going
 deeper is not quite possible as we do not know the module ).

I can clearly legally write a user space program that results in calls to 
kernel symbols without publishing it. To do that I load parameters into 
registers and onto the stack and issue a trap to generate a system call. A 
kernel module does almost the same thing, except instead of generating a trap, 
it makes a more traditional function call. The difference is technical and I 
don't see anything in the COPYING file that makes any reference to this 
difference. If I have missed that verbiage in the license, please point it out 
to me.

 Than you stumbled on a warning to help you to realize that (and not
 hitting such warnings or plain simply removing them doesn't change
 anything on the legal side IMHNLO).
 And you think you can fix the warning by simply removing it (ignoring
 the underlying issue).

Again, it I didn't stumble on this warning. The original poster did. All I did 
was respond to a post on a public email list.
 
 But your kernel module is very probably a derived work of the Linux
 kernel anyway and thus automatically and implicitly GPL (even if your
 whole company may want it, has been told or think otherwise).

very probably a derived work. That is a big assumption. What in the license 
defines all code that makes calls into kernel symbols via the dynamic module 
loader mechanism different than code that calls into that code via a trap?
 
  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.
 
 Technically, your module is a derived work of the Linux kernel unless
 proven otherwise.

Again, not my module, not my company's module. I was simply answering a post to 
this email list and asking questions around a hypothetical scenario.

Jeff Haran


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-23 Thread Greg KH
On Wed, Nov 23, 2011 at 10:05:19AM -0800, Jeff Haran wrote:
  -Original Message-
  From: Greg KH [mailto:g...@kroah.com]
  Sent: Tuesday, November 22, 2011 6:50 PM
  To: Jeff Haran
  Cc: Guillaume Knispel; Graeme Russ; Sengottuvelan S; Kernel Newbies
  Subject: Re: GPL-only symbol Error
  
  On Tue, Nov 22, 2011 at 06:10:27PM -0800, Jeff Haran wrote:
   But it doesn't do anybody any good to spread misinformation about
 this
   topic, particularly with regard to what is and isn't legal.
  
  I agree, please don't continue it, but rather, consult a lawyer if you
  have further questions.
  
  greg k-h
 
 You are the one who said it was illegal. To quote your previous post:
 
 It is not legal and companies have gotten into big trouble by trying to
 do that
 
 I said this:
 
 I've seen others when faced with this who build their own kernels from
 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.
 
 And when I asked you to provide evidence of the legal trouble you
 mentioned, all you could come up with was allusions to legal disputes
 regarding a different source package, Samba, which if I understood your
 response, never even went to trial. No trial, no legal precedent.

So you feel that only if something goes to trial, is it considered
legal?

If so, sorry, I'm not going to be able to help you out here, as every
company that has done this type of thing, when confronted with it, has
said something to the affect of oops, you are right, we will fix it.
This kind of makes me assume that this type of statement is correct,
right?

 If anybody might be guilty of spreading of misinformation, it's you.

I have spread no misinformation, again, SAMBA has publicly listed cases
where this type of thing has been held up, the kernel instances of this
are not public just because there was no need to because the companies
involved changed their ways when asked to.

 All I have done is expressed personal doubts and asked questions.
 Maybe doing this would be illegal, maybe it wouldn't be, that's why I
 said I don't know if that is legal but you so far have completely
 failed to justify your assertion that it is illegal.

The fact that companies change their behavior is a good indication that
this is not allowed, right?  Otherwise, why would they change?

Anyway, this is going nowhere, the original poster needs to consult
their legal department about this issue, nothing we can do here.

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-23 Thread Greg KH
On Wed, Nov 23, 2011 at 10:31:19AM -0800, Jeff Haran wrote:
  That's the actual bug: You assume that you can legally make a
  proprietary Linux kernel module by simply declaring to do so (and going
  deeper is not quite possible as we do not know the module ).
 
 I can clearly legally write a user space program that results in calls
 to kernel symbols without publishing it. To do that I load parameters
 into registers and onto the stack and issue a trap to generate a
 system call. A kernel module does almost the same thing, except
 instead of generating a trap, it makes a more traditional function
 call. The difference is technical and I don't see anything in the
 COPYING file that makes any reference to this difference. If I have
 missed that verbiage in the license, please point it out to me.

Please read the first paragraph in the COPYING file in the kernel, it
explains the differences and allows for userspace programs to not be
bound under the license of the rest of the kernel.

  But your kernel module is very probably a derived work of the Linux
  kernel anyway and thus automatically and implicitly GPL (even if your
  whole company may want it, has been told or think otherwise).
 
 very probably a derived work. That is a big assumption. What in the
 license defines all code that makes calls into kernel symbols via the
 dynamic module loader mechanism different than code that calls into
 that code via a trap?

Again the very license of the kernel itself does that.

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RE: GPL-only symbol Error

2011-11-22 Thread Jeff Haran
 

 

From: kernelnewbies-boun...@kernelnewbies.org
[mailto:kernelnewbies-boun...@kernelnewbies.org] On Behalf Of
Sengottuvelan S
Sent: Tuesday, November 22, 2011 1:49 PM
To: Kernel Newbies
Subject: GPL-only symbol Error

 

Hi All,

 

Basically, I am developing a kernel module named xyz.ko  and my
MODULE_LICENSE is Proprietary. I have got an error GPL-incompatible
module xyz.ko uses GPL-only symbols.

 

I am having trouble identifying it. How to avoid this error in during
MODPOST?. Is there any way to avoid this error? 

 

Can you someone throw light on this.


Regards,
S. Sengottuvelan.

 

Legally, I believe your only option is to change your code to not
reference the EXPORT_SYMBOL_GPL () symbols that it is currently
referencing.

 

Jeff Haran

 


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Sengottuvelan S
Hi Jeff,

I have few symbols with this error especially - sock_recv_timestamp(). Is
there way to refer this or similar API in my module with MODULE_LICENSE is
Proprietary. How do I know equavalent non-EXPORT_SYMBOL_GPL  APIs to
achieve similar functionality.
Regards
Sengottuvelan.S
On Tue, Nov 22, 2011 at 1:53 PM, Jeff Haran jha...@bytemobile.com wrote:

 ** **

 ** **

 *From:* kernelnewbies-boun...@kernelnewbies.org [mailto:
 kernelnewbies-boun...@kernelnewbies.org] *On Behalf Of *Sengottuvelan S
 *Sent:* Tuesday, November 22, 2011 1:49 PM
 *To:* Kernel Newbies
 *Subject:* GPL-only symbol Error

 ** **

 Hi All,

  

 Basically, I am developing a kernel module named xyz.ko  and my
 MODULE_LICENSE is Proprietary. I have got an error GPL-incompatible
 module xyz.ko uses GPL-only symbols.

  

 I am having trouble identifying it. How to avoid this error in during
 MODPOST?. Is there any way to avoid this error? 

  

 Can you someone throw light on this.


 Regards,
 S. Sengottuvelan.

 ** **

 Legally, I believe your only option is to change your code to not
 reference the EXPORT_SYMBOL_GPL () symbols that it is currently referencing.
 

 ** **

 Jeff Haran

 ** **




-- 
Regards,
S. Sengottuvelan.
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RE: GPL-only symbol Error

2011-11-22 Thread Jeff Haran
From: Sengottuvelan S [mailto:sengottuvela...@gmail.com] 
Sent: Tuesday, November 22, 2011 2:09 PM
To: Jeff Haran
Cc: Kernel Newbies
Subject: Re: GPL-only symbol Error

Hi Jeff,
 
I have few symbols with this error especially - sock_recv_timestamp(). Is there 
way to refer this or similar API in my module with MODULE_LICENSE is 
Proprietary. How do I know equavalent non-EXPORT_SYMBOL_GPL  APIs to achieve 
similar functionality.
Regards
Sengottuvelan.S
On Tue, Nov 22, 2011 at 1:53 PM, Jeff Haran jha...@bytemobile.com wrote:
 From: kernelnewbies-boun...@kernelnewbies.org 
[mailto:kernelnewbies-boun...@kernelnewbies.org] On Behalf Of Sengottuvelan S
Sent: Tuesday, November 22, 2011 1:49 PM
To: Kernel Newbies
Subject: GPL-only symbol Error
 Hi All,
 Basically, I am developing a kernel module named xyz.ko  and my 
MODULE_LICENSE is Proprietary. I have got an error GPL-incompatible module 
xyz.ko uses GPL-only symbols.
I am having trouble identifying it. How to avoid this error in during MODPOST?. 
Is there any way to avoid this error? 
Can you someone throw light on this.
Regards,
S. Sengottuvelan.
Legally, I believe your only option is to change your code to not reference the 
EXPORT_SYMBOL_GPL () symbols that it is currently referencing.
Jeff Haran

sock_recv_timestamp() is an inline function, but it calls 
__sock_recv_timestamp() which is declared like so:

EXPORT_SYMBOL_GPL(__sock_recv_timestamp);

And that is I suspect what is generating the error.

You can try to find equivalent functionality in other kernel code that is not 
so declared. Good luck with that. Even if you do find it, don't be surprised if 
down the line you decide to upgrade the kernel you are using and then you find 
that what were EXPORT_SYMBOL() symbols have been changed to EXPORT_SYMBOL_GPL() 
and you'll have to do it all over again, if it turns out to be even possible. 
That's a bad place to be in since its usually completely unanticipated work. 
Blows development schedules right out of the water.

I've seen others when faced with this who build their own kernels from 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.

This stuff is designed to encourage you and more specifically the company you 
work for to declare your module as GPL and make it available for others to use. 
That's how Linux grows. Convincing management to do so can be quite challenging 
though. If your company must keep its intellectual property private, they can 
always dump Linux and use one of the BSD derivatives instead that aren't 
covered by GPL.

Good luck,

Jeff Haran




___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Greg KH
On Tue, Nov 22, 2011 at 02:08:59PM -0800, Sengottuvelan S wrote:
 Hi Jeff,
  
 I have few symbols with this error especially - sock_recv_timestamp(). Is 
 there
 way to refer this or similar API in my module with MODULE_LICENSE is
 Proprietary. How do I know equavalent non-EXPORT_SYMBOL_GPL  APIs to achieve
 similar functionality.

There are none, you need to fix the license of your kernel module.

You do realize the kernel developer community's stance on non-GPL Linux
kernel modules, right?  Any reason why your company feels they can go
against their wishes?

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Greg KH
On Tue, Nov 22, 2011 at 02:35:24PM -0800, Jeff Haran wrote:
 I've seen others when faced with this who build their own kernels from
 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
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
external query first.

 This stuff is designed to encourage you and more specifically the
 company you work for to declare your module as GPL and make it
 available for others to use. That's how Linux grows. Convincing
 management to do so can be quite challenging though. If your company
 must keep its intellectual property private, they can always dump
 Linux and use one of the BSD derivatives instead that aren't covered
 by GPL.

Exactly, if you want to use Linux, you must abide by the license of it,
just like any body of software.  What would happen if you decided to
ignore the license of Microsoft's operating system?  :)

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RE: GPL-only symbol Error

2011-11-22 Thread Jeff Haran
 -Original Message-
 From: Greg KH [mailto:g...@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:
  I've seen others when faced with this who build their own kernels
from
  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
 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
 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
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.

Thanks,

Jeff Haran




___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Greg KH
On Tue, Nov 22, 2011 at 04:34:21PM -0800, Jeff Haran wrote:
 Just curious, can you provide links to these cases?

No kernel cases ever became public, but the SAMBA team have lots of
public cases where they have successfully handled this type of case.

 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
 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 license does not say anything about this, nor should it.

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Graeme Russ
Hi Jeff,

On Wed, Nov 23, 2011 at 11:34 AM, Jeff Haran jha...@bytemobile.com wrote:
 -Original Message-
 From: Greg KH [mailto:g...@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:
  I've seen others when faced with this who build their own kernels
 from
  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
 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
 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
 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

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Guillaume Knispel
On Tue, 22 Nov 2011 17:21:46 -0800
Jeff Haran jha...@bytemobile.com wrote:

  -Original Message-
  From: Graeme Russ [mailto:graeme.r...@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 jha...@bytemobile.com
  wrote:
   -Original Message-
   From: Greg KH [mailto:g...@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:
I've seen others when faced with this who build their own kernels
   from
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
   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
   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
   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.

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...)

-- 
Guillaume Knispel
Avencall - 10 bis, rue Lucien Voilin - 92800 Puteaux
Tel. : (+33) 141 389 960

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Greg Freemyer
On Tue, Nov 22, 2011 at 8:21 PM, Jeff Haran jha...@bytemobile.com wrote:
 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


I assume you know it is against the GPL to remove the license statements.

If I was to write it, the implementation of EXPORT_SYMBOL_GPL() would
have embedded license statements.

Thus if you removed it, you would be removing a license statement and
are in violation of the GPL.

Somehow, I think the kernel legal brains have come up with even better
ideas than I have.

Greg (not KH)

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RE: GPL-only symbol Error

2011-11-22 Thread Jeff Haran
 -Original Message-
 From: Guillaume Knispel [mailto:gknis...@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 jha...@bytemobile.com wrote:
 
   -Original Message-
   From: Graeme Russ [mailto:graeme.r...@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
 jha...@bytemobile.com
   wrote:
-Original Message-
From: Greg KH [mailto:g...@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:
 I've seen others when faced with this who build their own kernels
from
 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
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
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
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.
 
 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

RE: GPL-only symbol Error

2011-11-22 Thread Jeff Haran
 -Original Message-
 From: Greg Freemyer [mailto:greg.freem...@gmail.com]
 Sent: Tuesday, November 22, 2011 5:57 PM
 To: Jeff Haran
 Cc: Graeme Russ; Greg KH; Sengottuvelan S; Kernel Newbies
 Subject: Re: GPL-only symbol Error
 
 On Tue, Nov 22, 2011 at 8:21 PM, Jeff Haran jha...@bytemobile.com
 wrote:
  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
 
 
 I assume you know it is against the GPL to remove the license
statements.
 
 If I was to write it, the implementation of EXPORT_SYMBOL_GPL() would
 have embedded license statements.
 
 Thus if you removed it, you would be removing a license statement and
 are in violation of the GPL.

Perhaps, but you didn't write it.

The implementation of EXPORT_SYMBOL_GPL() is this:

/* For every exported symbol, place a struct in the __ksymtab section */
#define __EXPORT_SYMBOL(sym, sec)   \
extern typeof(sym) sym; \
__CRC_SYMBOL(sym, sec)  \
static const char __kstrtab_##sym[] \
__attribute__((section(__ksymtab_strings), aligned(1))) \
= MODULE_SYMBOL_PREFIX #sym;\
static const struct kernel_symbol __ksymtab_##sym   \
__used  \
__attribute__((section(__ksymtab sec), unused))   \
= { (unsigned long)sym, __kstrtab_##sym }

#define EXPORT_SYMBOL_GPL(sym)  \
__EXPORT_SYMBOL(sym, _gpl)

How does that constitute a legal license document? It's C preprocessor
gibberish that only a software engineer can understand. Law is decided
in courts, in juries of peers, at least the US. Any judge that is asked
to rule on the validity of the above as a legal document would laugh the
attorney out of court.
 
 Somehow, I think the kernel legal brains have come up with even better
 ideas than I have.

I would hope they had, but so far I've seen no evidence to that effect.

Jeff Haran




___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Greg KH
On Tue, Nov 22, 2011 at 05:21:46PM -0800, Jeff Haran wrote:
 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?

If you distribute that, nothing.  But if you somehow think that
protects your closed source kernel module to now use that symbol
exported by the condom module, you are mistaken.

Again, talk to a lawyer for the details, they are the best ones to
answer this for you, we aren't.

Would you ask a lawyer mailing list for medical questions?

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: GPL-only symbol Error

2011-11-22 Thread Greg KH
On Tue, Nov 22, 2011 at 06:10:27PM -0800, Jeff Haran wrote:
 But it doesn't do anybody any good to spread misinformation about this
 topic, particularly with regard to what is and isn't legal.

I agree, please don't continue it, but rather, consult a lawyer if you
have further questions.

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies