you are viewing a single comment's thread
view the rest of the comments
[–] 22 points 9 months ago (1 child)

The user land API/ABI is stable to a fault in Linux. The kernel API/ABI is unstable

It's the other way around. The kernel API stable to a fault, the kernel ABI isn't. If your application only relies on the kernel API you won't have many compatibility issues. If you rely on userland stuff such as C++ stdlib, GTK, QT, Python, ... Good luck.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 9 months ago

    I wasn’t clear and that seems to have cause some confusion. I was talking about the Linux kernel itself, and only the Linux kernel.

    There are two sides to the Linux kernel: internal exposed to drivers and such, external syscalls exposed to the public. That’s what I was talking about.

    All bets are off with 3rd party software. That’s just a general problem in software development. It’s not specific to Linux, and it’s why vendoring libraries is recommended.

    This is why all the 3rd party software is frozen at a point-in-time with fixes backported in distros like Debian or RHEL. It fixes the problems of devs being mercurial. The distro is the SDK. It creates a stable base, and it works rather well.

    Unfortunately, most software relies on libc and a compiler. Both of which can be problems, and both of which are external to the Linux kernel. There’s not much which relies on only kernel syscalls.

  • source
  • parent