Comment by knorker

3 years ago

Yeah Linus's "we don't break user space" is a joke.

Great, the kernel syscalls API is stable. Who cares, if you can't run a 7 year old binary because everything from vdso to libc to libstc++ to ld-linux.so is incompatible.

Good luck. No it's not just a matter of LD_LIBRARY_PATH and shipping a binary with a copy. That only helps with third party libs, and only if vdso and ld-linux is compatible.

My 28 year experience running Linux is that it's API (source code) unbroken, but absolutely not ABI.

Linus does provide a stable ABI with Linux, it's GNU who drops the ball and doesn't. You're criticizing Linus for something he has nothing to do with. What's the point in that?

  • Linus limited his scope to something that doesn't matter for users.

    I think this is a valid criticism.

    It's admirable to do the dishes, but the house is also on fire, so nobody will be able to enjoy the clean plates, so what's then even the point of doing the dishes?

    In fact, in this analogy he could have saved the kitten instead of done the dishes.

    Err, back from analogy land: ABI stability makes it harder to make things better, improving and replacing APIs. This is expected. But here we are in the worst of both worlds. Thanks to the kernel we are slowed down in improvements, and thanks to kinda-userspace (i.e. vdso & ld-linux), and userspace infra (libc, libstdc++, libm) we don't have ABI compatability either.

    So it's lose-lose.

  • Linus chose to only care about the kernel. So there's possibly some fault there.

    • So it's Linus' fault he didn't just write the kernel but should also decided to being responsible for the entire userspace as well? What kind of argument is that.

      2 replies →