Re: [PATCH 2.5.5] do export vmalloc_to_page to modules...

Alexander Viro (viro@math.psu.edu)
Thu, 4 Apr 2002 11:42:02 -0500 (EST)


On Thu, 4 Apr 2002, Tigran Aivazian wrote:

> On Thu, 4 Apr 2002, Alan Cox wrote:
> > > exported only "internally". But that is their own problem -- we should
> > > neither help them nor prevent them from doing their work and earning their
> >
> > So why are you trying to put me out of business by allowing people to use
> > my code in ways the GPL doesn't permit. That cuts both ways.
>
> That would be the case _only_ under yet another interpretation of GPL.
> Strange thing about GPL is that there are so many interpretations to
> choose from :)
>
> It is your interpretation that matters, not mine, so how can I convince
> you? But I am entitled to an opinion that your interpretation is, in some
> sense, wrong. Namely, in the sense that it is inconsistent with the
> similar situation in the case of libraries or even system calls. I don't
> see why exporting kernel symbols should be so radically different and
> extremely sensitive to the nature of the consumer's license for some
> symbols but not for others...

Because we don't _HAVE_ an API, let alone ABI. What we have is 4000-odd
more or less randomly selected functions and variables that had been used
by some module at some point of history.

It's not an interface, it's a wide-open gut wound. Yes, set of syscalls
is also too large and chaotic, but it's nowhere near that bad.

Situation in the tree itself is also not pretty, but there we at least
can do global changes. With external stuff we don't have that, but
we can say "recompile and go ahead" - it reduces the set of changes we
can do without breakage, though. With external binary stuff, we
are fucking stuck - a lot of things _will_ break it.

Again, that wouldn't be a problem if we had a well-defined interface.
We don't.

Moreover, "well-defined" includes mechanisms in place that would resist
changes and prevent adding random stuff to the interface. Again, no
such thing.

And that's the real problem. If we can turn the thing into stable _sane_
API (and that will mean changes in 3rd-party code and a *lot* of resistance
from binary-only module authors) - wonderful. Until that happens any
talk about kernel/module boundary is crap. There's none. "You are allowed
to use this API without making your work a derivative" is all nice and
dandy. When there is something that resembles an API.

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