Re: Kernel interface changes (was Re: cdrecord problems on

Linus Torvalds (torvalds@transmeta.com)
7 Feb 1999 08:15:24 GMT


In article <79g5bu$spd$1@palladium.transmeta.com>,
H. Peter Anvin <hpa@transmeta.com> wrote:
>
>* Linus Torvalds has no interest whatsoever in developing such a
> plug-in ABI. Someone else is welcome to do it.

No, it's even more than that.

I _refuse_ to even consider tying my hands over some binary-only module.

Hannu Savolainen tried to add some layering to make the sound modules
more "portable" among Linux kernel versions, and I disliked it for two
reasons:

- extra layers decrease readability, and sometimes make for performance
problems. The readability thing is actually the larger beef I had
with this: I just don't want to see drivers start using some strange
wrapper format that has absolutely nothing to do with how they work.

- I _want_ people to expect that interfaces change. I _want_ people to
know that binary-only modules cannot be used from release to release.
I want people to be really really REALLY aware of the fact that when
they use a binary-only module, they tie their hands.

Note that the second point is mainly psychological, but it's by far the
most important one.

Basically, I want people to know that when they use binary-only modules,
it's THEIR problem. I want people to know that in their bones, and I
want it shouted out from the rooftops. I want people to wake up in a
cold sweat every once in a while if they use binary-only modules.

Why? Because I'm a prick, and I want people to suffer? No.

Because I _know_ that I will eventually make changes that break modules.
And I want people to expect them, and I never EVER want to see an email
in my mailbox that says "Damn you, Linus, I used this binary module for
over two years, and it worked perfectly across 150 kernel releases, and
Linux-5.6.71 broke it, and you had better fix your kernel".

See?

I refuse to be at the mercy of any binary-only module. And that's why I
refuse to care about them - not because of any really technical reasons,
not because I'm a callous bastard, but because I refuse to tie my hands
behind my back and hear somebody say "Bend Over, Boy, Because You Have
It Coming To You".

I allow binary-only modules, but I want people to know that they are
_only_ ever expected to work on the one version of the kernel that they
were compiled for. Anything else is just a very nice unexpected bonus if
it happens to work.

And THAT, my friend, is why when somebody complains about AFS, I tell
them to go screw themselves, and not come complaining to me but complain
to the AFS buys and girls. And why I'm not very interested in changing
that.

Linus

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