Re: Linux GPL and binary module exception clause?

viro
2003-12-10T21:15:45Z

On Wed, Dec 10, 2003 at 11:48:45AM -0800, Kendall Bennett wrote:
> Linus Torvalds <torvalds@osdl.org> wrote:
>
> > In fact, a user program written in 1991 is actually still likely
> > to run, if it doesn't do a lot of special things. So user programs
> > really are a hell of a lot more insulated than kernel modules,
> > which have been known to break weekly.
>
> IMHO (and IANAL of course), it seems a bit tenuous to me the argument
> that just because you deliberating break compatibility at the module
> level on a regular basis, that they are automatically derived works.
> Clearly the module interfaces could be stabilised and published, and if
> you consider the instance of a single kernel version in time, that module
> ABI *is* published and *is* stable *for that version*. Just because you
> make an active effort to change things and actively *not* document the
> ABI other than in the source code across kernel versions, doesn't
> automatically make a module a derived work.

Oh, for crying out loud! Had you ever looked at that "API"?

At least 90% of it are random functions exposing random details of internals.
Most of them are there only because some in-tree piece of code had been
"modularized". Badly.

Due to the dumb mechanism used to export symbols, each of those layering
violations automatically becomes available to all modules. And they outnumber
the things that could be reasonably considered as something resembling an
API. Outnumber by order of magnitude.

The problem had been festering for almost a decade now, and external modules
also didn't help things - a lot of them contained layering violations of their
own and asked to export this, this and that. With no explanation offered and
too little resistance met.

In 2.7 we need to get the export list back to sanity. Right now it's a such
a junkpile that speaking about even a relative stability for it... Not funny.