On Mon, Nov 4, 2013 at 2:44 PM, Lars Seipel <lars.seipel(a)gmail.com> wrote:
On Mon, Nov 04, 2013 at 11:36:42AM +0000, Bryn M. Reeves wrote:
> The kernel does not provide stable APIs. If you've ever tried to
> maintain a non-trivial module or patch to the kernel out-of-tree for any
> length of time you'll understand how much work is involved in just
> keeping it working. Gnome shell extensions are not so different.
True. They are also one of the least likely pieces of code I can imagine
running in some sort of isolated container. If we are talking
applications instead, the Linux syscall ABI is damn stable. Just as
there are userspace libraries that go to great lenghts to offer a stable
interface to their users.
If I, as an application developer, don't want my code to break every few
months I'd be well advised to pick my dependencies wisely and choose
libraries that offer me what I want (i.e. a stable interface) instead of
those that don't. That's the proper solution. Not mindlessly bundling
everything together and expect others to keep it working somehow.
It is not only about stable ABIs but also what if you are using a feature added
in a new version of a library that is not in the target distro yet?
You'd be trying to
use the lowest common denominator which means you have to wait years until all
distros you care about ship the newer library.