Re: GPL only modules [was Re: [GIT PATCH] more Driver core patchesfor 2.6.19]

From: Linus Torvalds
Date: Thu Dec 14 2006 - 12:04:42 EST




On Thu, 14 Dec 2006, Jeff Garzik wrote:
>
> For the record, I also disagree with the sneaky backdoor way people want to
> add EXPORT_SYMBOL_GPL() to key subsystems that drivers will need.

I actually think the EXPORT_SYMBOL_GPL() thing is a good thing, if done
properly (and I think we use it fairly well).

I think we _can_ do things where we give clear hints to people that "we
think this is such an internal Linux thing that you simply cannot use this
without being considered a derived work".

It's really just a strong hint about what we consider to be internal. The
fact is, "intent" actually does matter, and as such our _intent_ in saying
"these are very deep and internal interfaces" is actually meaningful -
even in a court of law.

So I personally don't see EXPORT_SYMBOL_GPL() to be a "technical measure",
I see it as being "documentation".

That said, I think that some people seem to be a bit over-eager to use it.
And I actually think that weakens the rest of them too (imagine a lawyer
saying in front of a judge:

"Look, they marked 'strcpy()' as a symbol that requires us to be GPL'd,
but look, it's a standard function available everywhere else too, and
you can implement it as one line of code, so a module that uses it
clearly is NOT a derived work, so EXPORT_SYMBOL_GPL is obviously not
something that means anything"

So this is why I've actually argued in the past for some
EXPORT_SYMBOL_GPL's to be demoted to "normal" EXPORT_SYMBOL's. Exactly
because over-using them actually _weakens_ them, and makes them pointless
both from a documentation _and_ from a legal standpoint.

Btw, I've actually had a lawyer tell me that EXPORT_SYMBOL_GPL makes legal
sense and has actually made people happier, for what its worth. Of course,
you can get <n*2> different opinions from <n> lawyers, so that may not be
all that meaningful ;)

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/