Re: [PATCH] USB: mark USB drivers as being GPL only

David Newall
2008-02-07T16:50:40Z

Hans-Jürgen Koch wrote:
> Am Fri, 08 Feb 2008 01:01:24 +1030
> schrieb David Newall <davidn@davidnewall.com>:
>
>>> It is not legally meaningless if copyright holders publicly state
>>> how they interpret the license and what they consider a license
>>> violation.
>>>
>> Copyright-holders' opinions mean nothing. In the particular case of
>> EXPORT_SYMBOL_GPL, copyright-holders' opinions are clearly flawed
>> because they make a statement about code that they do not even know
>> of.
>>
>
> What are you talking about? That's what every GPL-licensed library
> does. By putting a library under the GPL, the copyright-holder clearly
> states that he considers all programs that link against that library a
> derived work. And that he therefor requires these programs to be GPL,
> too, no matter if these programs already exist or not.
>

Your last sentence, above: That is what EXPORT_SYMBOL_GPL attempts to
do. The place to state such a requirement is in the licence, not in the
source code. That is what I am talking about. I can't provide you with
software under a licence that says, "you are free to use this software
in any way you want," and later say, "oh, but in the source code is
tells you that you must take a break every two hours of use."

>> Less there be further confusion: I am not an advocate for binary
>> drivers.
>>
>
> Nice to hear. So, if you're an advocate for open source drivers, why do
> you have problems making them GPL?
>

I don't, but EXPORT_SYMBOL_GPL doesn't do that. It makes an ambit
claim, that might coerce an author into making a driver GPL, but might
also cause them to exit the Linux market. I have a problem with driving
manufacturers away from Linux.

> Using a symbol from a library means linking to it, and that creates a
> derived work. Why should it be different when using kernel symbols?
I don't agree with your claim, but I'm going to explain something else:
The GPL doesn't require software that *uses* GPL code to itself be GPL.
It requires software that is *distributed* as part of a GPL work to
itself be GPL. At time of distribution, a kernel module is neither
using nor linked to the kernel.