linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* MODULE_LICENSE usage
@ 2007-08-06  7:53 Nathan Williams
  2007-08-06  8:21 ` Jan Engelhardt
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Nathan Williams @ 2007-08-06  7:53 UTC (permalink / raw)
  To: linux-kernel

Hi,

I'm working on a driver for an ADSL modem which requires the use of a
binary library from the chipset manufacturer.  All my source code is
GPL, so that others are free to distribute and modify the driver.
After asking the FSF for advice and working through their FAQ, I've
given permission for the binary library file to be used with the GPL
source code and be re-distributed with it.

I would like to know if I'm permitted to use MODULE_LICENSE("GPL") in my module.

Additionally, I'm unsure of what is the meaning of

"GPL and additional rights"     [GNU Public License v2 rights and more]

Is it correct to say that my driver is licensed under GPL with
additional rights to use the binary library file?

Thank you,
Nathan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-06  7:53 MODULE_LICENSE usage Nathan Williams
@ 2007-08-06  8:21 ` Jan Engelhardt
  2007-08-06  8:24 ` Alan Cox
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Jan Engelhardt @ 2007-08-06  8:21 UTC (permalink / raw)
  To: Nathan Williams; +Cc: linux-kernel


On Aug 6 2007 17:53, Nathan Williams wrote:
>Hi,
>
>I'm working on a driver for an ADSL modem which requires the use of a
>binary library from the chipset manufacturer.  All my source code is
>GPL, [...]
>I've given permission for the binary library file to be used with the GPL
>source code and be re-distributed with it.
>
>Is it correct to say that my driver is licensed under GPL with
>additional rights to use the binary library file?

[ Obligatory IANAL sticker. ]

Clear case for me IMHO. If your code is GPL (and which you emphasize
with MODULE_LICENSE(GPL)) and then link in a binary blob, then the
combined work becomes GPL, and you are required to hand out sources for
it, including for the blob.

I won't mention the gray possibilities because it is just evil in the
first place to begin with.

>Additionally, I'm unsure of what is the meaning of
>
>"GPL and additional rights"     [GNU Public License v2 rights and more]

I think (but I may be wrong) that e.g. "GPL+BSD" fall into this. (Which
not change the fact that you are still obliged to comply with the GPL.)

>
>Thank you,
>Nathan
>-
>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/
>

	Jan
-- 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-06  7:53 MODULE_LICENSE usage Nathan Williams
  2007-08-06  8:21 ` Jan Engelhardt
@ 2007-08-06  8:24 ` Alan Cox
  2007-08-06 10:41 ` Remy Bohmer
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Alan Cox @ 2007-08-06  8:24 UTC (permalink / raw)
  To: Nathan Williams; +Cc: linux-kernel

> After asking the FSF for advice and working through their FAQ, I've
> given permission for the binary library file to be used with the GPL
> source code and be re-distributed with it.

Only the copyright holder can give additional permissions for a piece of
code so for such a change you must have the permission of each copyright
holder of the code.

If you write all the GPL code you can give permission for it to be mixed
with a non-free library (creating a less free than GPL result) but you
didn't write all of the kernel.

You also dont make it clear if the library is code running on the PC or
is firmware. That may make quite a difference.

> I would like to know if I'm permitted to use MODULE_LICENSE("GPL") in my module.

Almost certainly not. If your module was GPL licensed there would be no
binary library file. 

> Additionally, I'm unsure of what is the meaning of
> 
> "GPL and additional rights"     [GNU Public License v2 rights and more]

It indicates code where the recipient and end user has additional
rights beyond the GPL. Your proposal is additional restrictions which is
different and not GPL compatible.

> Is it correct to say that my driver is licensed under GPL with
> additional rights to use the binary library file?

The kernel developers have not given you permission to link their code
with binary only codes so the answer is that if your code is any way a
derivative work of the kernel you have no ability to distribute the
work resulting from putting together kernel GPL code and the binary stuff
at all.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-06  7:53 MODULE_LICENSE usage Nathan Williams
  2007-08-06  8:21 ` Jan Engelhardt
  2007-08-06  8:24 ` Alan Cox
@ 2007-08-06 10:41 ` Remy Bohmer
  2007-08-06 12:25 ` Krzysztof Halasa
  2007-08-06 15:22 ` David Schwartz
  4 siblings, 0 replies; 13+ messages in thread
From: Remy Bohmer @ 2007-08-06 10:41 UTC (permalink / raw)
  To: Nathan Williams; +Cc: linux-kernel

Hello Nathan,

There has been a lot of discussion about this in the past.
Read for example this thread: http://lkml.org/lkml/2006/12/13/370
This will probably clears some things up.

Remy

2007/8/6, Nathan Williams <ngwilliams@gmail.com>:
> Hi,
>
> I'm working on a driver for an ADSL modem which requires the use of a
> binary library from the chipset manufacturer.  All my source code is
> GPL, so that others are free to distribute and modify the driver.
> After asking the FSF for advice and working through their FAQ, I've
> given permission for the binary library file to be used with the GPL
> source code and be re-distributed with it.
>
> I would like to know if I'm permitted to use MODULE_LICENSE("GPL") in my module.
>
> Additionally, I'm unsure of what is the meaning of
>
> "GPL and additional rights"     [GNU Public License v2 rights and more]
>
> Is it correct to say that my driver is licensed under GPL with
> additional rights to use the binary library file?
>
> Thank you,
> Nathan
> -
> 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/
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-06  7:53 MODULE_LICENSE usage Nathan Williams
                   ` (2 preceding siblings ...)
  2007-08-06 10:41 ` Remy Bohmer
@ 2007-08-06 12:25 ` Krzysztof Halasa
  2007-08-06 15:22 ` David Schwartz
  4 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Halasa @ 2007-08-06 12:25 UTC (permalink / raw)
  To: Nathan Williams; +Cc: linux-kernel

Hi,

"Nathan Williams" <ngwilliams@gmail.com> writes:

> I'm working on a driver for an ADSL modem which requires the use of a
> binary library from the chipset manufacturer.

Legal things aside, the practical solutions are:

a) if the binary "library" is just firmware running on modem's CPU
(outside the host CPU and address space), then you should just
make it a file and use firmware_loader to load it to ADSL.
Having "open" firmware is nice but not a hard requirement.

b) if the binary blob is really a library to be run in kernel (host)
space then there is no point in writing such driver - there are
completely open-source drivers for ADSL devices and most (if not
all) people will prefer them over any binary library.

Perhaps you can convince the chipset manufacturer to open the source
or publish the complete docs, but I wouldn't count on it.
-- 
Krzysztof Halasa

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: MODULE_LICENSE usage
  2007-08-06  7:53 MODULE_LICENSE usage Nathan Williams
                   ` (3 preceding siblings ...)
  2007-08-06 12:25 ` Krzysztof Halasa
@ 2007-08-06 15:22 ` David Schwartz
  2007-08-07  3:29   ` Nathan Williams
  4 siblings, 1 reply; 13+ messages in thread
From: David Schwartz @ 2007-08-06 15:22 UTC (permalink / raw)
  To: linux-kernel


> I'm working on a driver for an ADSL modem which requires the use of a
> binary library from the chipset manufacturer.  All my source code is
> GPL, so that others are free to distribute and modify the driver.
> After asking the FSF for advice and working through their FAQ, I've
> given permission for the binary library file to be used with the GPL
> source code and be re-distributed with it.
>
> I would like to know if I'm permitted to use
> MODULE_LICENSE("GPL") in my module.

I don't see any reason you cannot include the line 'MODULE_LICENSE("GPL")'
in the source code for your module so long as that source code is not a
derivative work of the binary. Whether or not you can distribute the
resulting binary is, however, a complex legal question.

> Additionally, I'm unsure of what is the meaning of
>
> "GPL and additional rights"     [GNU Public License v2 rights and more]
>
> Is it correct to say that my driver is licensed under GPL with
> additional rights to use the binary library file?

No. The "additional right" to use the binary library file is not a right
under which your driver is licensed, so there are no additional rights to
your driver. The binary library itself is offered under rights much less
than the GPL.

What exactly is the license under which the binary is offered? If it's "may
be used with your driver" then you may have some interesting GPL issues when
people want to modify your driver and continue to use the binary firmware
with it.

Does this "binary library" actually run on the host computer? Or is it
firmware that runs on the modem only? Does it actually link in to the
driver?

DS



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-06 15:22 ` David Schwartz
@ 2007-08-07  3:29   ` Nathan Williams
  2007-08-07  7:17     ` Arnd Bergmann
                       ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Nathan Williams @ 2007-08-07  3:29 UTC (permalink / raw)
  To: linux-kernel

> b) if the binary blob is really a library to be run in kernel (host)
> space then there is no point in writing such driver - there are
> completely open-source drivers for ADSL devices and most (if not
> all) people will prefer them over any binary library.
>
> Perhaps you can convince the chipset manufacturer to open the source
> or publish the complete docs, but I wouldn't count on it.
> --
> Krzysztof Halasa
>

The binary blob is run in the kernel.  I wasn't aware of any
completely open-source drivers for ADSL modems, mine is a PCI ADSL
modem.  I have been referred to the BeWAN PCI driver as a guide for
conforming to GPL, but they use a binary library as well.

> I don't see any reason you cannot include the line 'MODULE_LICENSE("GPL")'
> in the source code for your module so long as that source code is not a
> derivative work of the binary. Whether or not you can distribute the
> resulting binary is, however, a complex legal question.
>
> > Additionally, I'm unsure of what is the meaning of
> >
> > "GPL and additional rights"     [GNU Public License v2 rights and more]
> >
> > Is it correct to say that my driver is licensed under GPL with
> > additional rights to use the binary library file?
>
> No. The "additional right" to use the binary library file is not a right
> under which your driver is licensed, so there are no additional rights to
> your driver. The binary library itself is offered under rights much less
> than the GPL.
>
> What exactly is the license under which the binary is offered? If it's "may
> be used with your driver" then you may have some interesting GPL issues when
> people want to modify your driver and continue to use the binary firmware
> with it.
>
> Does this "binary library" actually run on the host computer? Or is it
> firmware that runs on the modem only? Does it actually link in to the
> driver?
>
> DS

My company has been given documentation and the library source under
the terms of an NDA with the chipset manufacturer.  We are permitted
to compile the library and distribute the resultant binary blob, but
not release the source to the library.

The binary blob is linked into the driver we have written.  We don't
distribute this compiled module, customers are given the driver source
and the library blob, which they compile themselves.

Thanks for the help.

Nathan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-07  3:29   ` Nathan Williams
@ 2007-08-07  7:17     ` Arnd Bergmann
  2007-08-07 15:17     ` Alan Cox
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Arnd Bergmann @ 2007-08-07  7:17 UTC (permalink / raw)
  To: Nathan Williams; +Cc: linux-kernel

On Tuesday 07 August 2007, Nathan Williams wrote:
> My company has been given documentation and the library source under
> the terms of an NDA with the chipset manufacturer.  We are permitted
> to compile the library and distribute the resultant binary blob, but
> not release the source to the library.

Are you permitted to use the documentation to produce a free driver
that is not derived from the closed source code? That would put you
legally on the safe side and make a lot of your customers happy.

	Arnd <><

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-07  3:29   ` Nathan Williams
  2007-08-07  7:17     ` Arnd Bergmann
@ 2007-08-07 15:17     ` Alan Cox
  2007-08-07 18:22       ` David Schwartz
  2007-08-07 18:22     ` David Schwartz
  2007-08-07 19:20     ` Krzysztof Halasa
  3 siblings, 1 reply; 13+ messages in thread
From: Alan Cox @ 2007-08-07 15:17 UTC (permalink / raw)
  To: Nathan Williams; +Cc: linux-kernel

> My company has been given documentation and the library source under
> the terms of an NDA with the chipset manufacturer.  We are permitted
> to compile the library and distribute the resultant binary blob, but
> not release the source to the library.
> 
> The binary blob is linked into the driver we have written.  We don't
> distribute this compiled module, customers are given the driver source
> and the library blob, which they compile themselves.

So you distribute a kernel derived work without following the GPL. I hope
you've discussed that with your legal team in depth.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: MODULE_LICENSE usage
  2007-08-07  3:29   ` Nathan Williams
  2007-08-07  7:17     ` Arnd Bergmann
  2007-08-07 15:17     ` Alan Cox
@ 2007-08-07 18:22     ` David Schwartz
  2007-08-07 19:20     ` Krzysztof Halasa
  3 siblings, 0 replies; 13+ messages in thread
From: David Schwartz @ 2007-08-07 18:22 UTC (permalink / raw)
  To: linux-kernel


> My company has been given documentation and the library source under
> the terms of an NDA with the chipset manufacturer.  We are permitted
> to compile the library and distribute the resultant binary blob, but
> not release the source to the library.

> The binary blob is linked into the driver we have written.  We don't
> distribute this compiled module, customers are given the driver source
> and the library blob, which they compile themselves.

Make absolutely 100% sure that your driver source code is not a derivative
work of any existing kernel code. If it is, you may be violating the
copyright of that code just by distributing the source to your driver. If
your driver takes sufficient protectable elements both from the kernel and
the library, it cannot be distributed in source code form.

I would definitely consult a good lawyer to make sure you aren't breaking
any of the rules.

As for the MODULE_LICENSE tag, if it's supposed to indicate the library the
module is under after it's compiled, it's definitely not GPL or GPL with
additional rights. Since you can't get the source code to the entire module
and can't distribute the binary, it's under a proprietary license.

DS



^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: MODULE_LICENSE usage
  2007-08-07 15:17     ` Alan Cox
@ 2007-08-07 18:22       ` David Schwartz
  0 siblings, 0 replies; 13+ messages in thread
From: David Schwartz @ 2007-08-07 18:22 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel


> > My company has been given documentation and the library source under
> > the terms of an NDA with the chipset manufacturer.  We are permitted
> > to compile the library and distribute the resultant binary blob, but
> > not release the source to the library.
> >
> > The binary blob is linked into the driver we have written.  We don't
> > distribute this compiled module, customers are given the driver source
> > and the library blob, which they compile themselves.

> So you distribute a kernel derived work without following the GPL. I hope
> you've discussed that with your legal team in depth.

What "kernel derived work" would that be?

All he distributes is the binary blob and the source code to his driver. He
hasn't given sufficient information to establish that either of those is a
"kernel derived work". It's certainly possibly that they might be and
sensible to caution him that he's breaking the rules if they are, but you
can't establish that he's not following the GPL.

Of course, he would have a definitely problem if he, or anyone else,
distributed the resulting binary.

DS



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-07  3:29   ` Nathan Williams
                       ` (2 preceding siblings ...)
  2007-08-07 18:22     ` David Schwartz
@ 2007-08-07 19:20     ` Krzysztof Halasa
  2007-08-07 20:02       ` Alan Cox
  3 siblings, 1 reply; 13+ messages in thread
From: Krzysztof Halasa @ 2007-08-07 19:20 UTC (permalink / raw)
  To: Nathan Williams; +Cc: linux-kernel

"Nathan Williams" <ngwilliams@gmail.com> writes:

> The binary blob is run in the kernel.  I wasn't aware of any
> completely open-source drivers for ADSL modems, mine is a PCI ADSL
> modem.

People around here use Alcatel/Thomson "Speedtouch" and Sagem
"Fast" USB ADSLs. Linux has open-source drivers for both.
USB seems like an advantage in this case, too - you can connect
to any machine including non-PCI small network storage servers
with non-x86 CPU.

Hopefully you have a x86-64 version of the library as well.


You may want to check video cards stories, it seems either your
device is useful and it _will_ be reverse engineered and
eventually a open-source driver will be written, or your device
isn't useful and nobody will bother.

I both cases open-source from start is a clear win.
-- 
Krzysztof Halasa

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: MODULE_LICENSE usage
  2007-08-07 19:20     ` Krzysztof Halasa
@ 2007-08-07 20:02       ` Alan Cox
  0 siblings, 0 replies; 13+ messages in thread
From: Alan Cox @ 2007-08-07 20:02 UTC (permalink / raw)
  To: Krzysztof Halasa; +Cc: Nathan Williams, linux-kernel

> People around here use Alcatel/Thomson "Speedtouch" and Sagem
> "Fast" USB ADSLs. Linux has open-source drivers for both.
> USB seems like an advantage in this case, too - you can connect
> to any machine including non-PCI small network storage servers
> with non-x86 CPU.

In this part of the world external boxes are cheaper than PCI cards. The
PCI cards are also usually avoided even by windows people as many of them
do a lot of DSL processing using the main CPU and trash gaming
performance as a result.

If they do this in the library btw please remember that you can't use the
FPU/MMX/etc registers in kernel on x86 Linux.

> Hopefully you have a x86-64 version of the library as well.

And PowerPC .. and ...


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2007-08-07 20:04 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-08-06  7:53 MODULE_LICENSE usage Nathan Williams
2007-08-06  8:21 ` Jan Engelhardt
2007-08-06  8:24 ` Alan Cox
2007-08-06 10:41 ` Remy Bohmer
2007-08-06 12:25 ` Krzysztof Halasa
2007-08-06 15:22 ` David Schwartz
2007-08-07  3:29   ` Nathan Williams
2007-08-07  7:17     ` Arnd Bergmann
2007-08-07 15:17     ` Alan Cox
2007-08-07 18:22       ` David Schwartz
2007-08-07 18:22     ` David Schwartz
2007-08-07 19:20     ` Krzysztof Halasa
2007-08-07 20:02       ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).