RE: [PATCH] 2.6.25-rc2-mm1 - fix mcount GPL bogosity.

From: David Schwartz
Date: Tue Feb 26 2008 - 18:35:45 EST



> "David Schwartz" <davids@xxxxxxxxxxxxx> writes:

> > The agreement made when the feature was added was that
> > EXPORT_GPL was not a
> > license enforcement mechanism but was an indication that
> > someone believed
> > that any use of the symbol was possible only a derivative work
> > that would
> > need to be distributed under the GPL.

> But the above gives us nothing.
> *If* any use of non-GPL symbols only by a binary module was ok then it
> would make sense.

I don't buy your argument. It's essentially saying that a scheme that can't
detect all possible problems is useless, even if it can detect some
problems.

> >> Actually I think the _GPL exports are really harmful - somebody
> >> distributing a binary module may claim he/she doesn't violate the GPL
> >> because the module uses only non-GPL exports.

> > Anyone can argue anything. That would be an obviously stupid argument.
> > Perhaps clearer documentation might be helpful, but the GPL speaks for
> > itself.

> Not sure if the court would share this opinion.
> Defendant: my module doesn't use any GPL-only export!
> Plaintiff: but using XXX normal symbol is a violation too!
> D: so why have you created that _GPL thing exactly?

This is akin to "Maybe I was swerving, but I must have been driving safely
because I wasn't drunk". Everyone who drives drunk isn't safe, but it
doesn't follow that you're safe just because you're not drunk.

This is an obviously-wrong argument, and the fact that someone can make it
isn't interesting. People can make all kinds of obviously-wrong arguments.

Maybe this is a documentation issue.

The GPL exports mark symbols that someone felt could not be used in a
non-derivative work, "intimate details" if you like. But whether or not
something is a derivative work is a pure question of copyright law and the
nature of what was taken. (One could make an argument that not marking
symbols acts as some kind of estoppel against later arguing that just
minimally using that symbol can't make your work a derivative. It's possible
a judge might by that argument, but if so, how is that unreasonable?)

> Additionally:
> D: top of the COPYING file explicity states binary modules are ok.

I don't think anybody really knows what legal effect that will have. I can
speculate, but I don't know that my speculations are particularly
interesting. If anyone wants my analysis of that, feel free to email me
off-list.

> This is of course fine if we consider normal use of non-GPL-only
> symbols ok.

It's fine either way. Whatever you feel about non-GPL-only symbols, there's
nothing wrong with marking some symbols that, in the opinion of their
copyright holders, cannot be used by non-derivative works. If this is what
the GPL symbol marking does (which is what was agreed to when it was added)
then there's no harm.

> > They serve as a warning and, as a practical matter, may make it
> > a bit more
> > difficult to violate the license.

> Technically only.

All you can do in code is implement technical things. You cannot enforce or
implement the license because the GPL prohibits that.

> I have to agree with Alan that the list of non-GPL modules only is
> quite tiny nowadays. Madwifi is in terminal state, ATI is opening the
> docs and working on GPL driver, modem drivers are mostly thing of
> the past, NVidias will probably be supported by the open source driver
> soon even if they don't open their code.
>
> Embedded devices have full Linux, not just modules.

If you're arguing that GPL symbol export has outlived its usefulness, that
might be true. I don't really have an opinion one way or the other.

DS


--
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/