On Fri, Mar 10, 2017 at 10:54:19AM -0800, Linus Torvalds wrote: > - library versioning. > > I don't know why, but I've never *ever* met a library developer who > realized that libraries were all about stable API's, and the library > users don't want to fight different versions. Actually, you have. (Raises hand :-) libext2fs has a stable API *and* ABI. We add new functions instead of changing function parameters (so ext2fs_block_iterate2() is implemented in terms of ext2fs_block_iterate3(), and so on). And structures have magic numbers that have served as versioning signal. This is actually not rocket science. If you've met anyone who's programmed for Multics, they did something similar. And of course, that's why we have the wait3(2) and wait(4) system calls. I do have to agree with your general point, that most developers tend to be *incredibly* sloppy with their interfaces. That being said, not all library developers are as bad as GNOME. :-) - Ted