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

Marcel Holtmann
2008-02-05T21:12:20Z

Hi Chris,

> > If the developers say that this symbol can only be used in GPL code (and
> > with EXPORT_SYMBOL_GPL it is quite clear) then you have to obey to that
> > license or don't use this symbol at all.
> >
> > If you use that symbol inside non-GPL (meaning you link at runtime) then
> > you are in violation of the GPL license. We can't make it much clearer.
>
> Not necessarily so. The developers feel that any code using that symbol
> is necessarily a derivative work, but at the end of the day it would be
> up to the legal system to decide whether it really is or not.
>
> If the courts decided that the symbol could be used and the driver
> wouldn't be a derivative work, it would be perfectly legal to use a
> GPL'd shim to "re-export" the symbol, essentially stripping off the
> GPL-only protection for that symbol.

I agree with you that a court can decide that the usage of a
EXPORT_SYMBOL_GPL symbol is not derivative work, but I see the
likelihood of this happening as almost non existent. And even if so then
you still have to deal with the fact that the license of this symbol is
clearly GPL. No questions asked about that, because it says so and due
technical means you can't load a non-GPL kernel module that uses
EXPORT_SYMBOL_GPL symbol without tainting the kernel.

The same fact is valid in userspace where you can't link (not even
runtime) a GPL library into a non-GPL program.

However if anyone wants to fight the license, be my guest and do so :)

> In our group all kernel modules that we write are GPL'd, as it lets us
> sleep at night, simplifies our lives, and makes the lawyers much
> happier. Other people may be willing to take more risks.

All big companies are going this way. And licenses beside, there are
valid technical points in making your driver open source and get it
merged upstream. Just a hint for all these binary-only people :)

Regards

Marcel