Quotes of the week
Posted Sep 1, 2012 15:50 UTC (Sat) by khim
In reply to: Quotes of the week
Parent article: Quotes of the week
Yes, better ABI stability is definitely a boon for 3rd party developers, but it wasn't like GNOME for instance didn't try to keep a stable ABI during the last 10 years of GNOME 2.x existence.
No. They tried to keep stable AP and minimize API breakage. It's was quite easy to recompile program with newer version of GNOME and the infamous "./configure; make; make install" incantation often worked well.
But they never even considered the use-case where you build one binary and use it for years. This was fine approach 15 years when GNOME 1.x was planned but they kept this approach when GNOME 2.x was introduced, too. Sure, it was mostly distribution's fault (they usually refused to ship obsolete versions of libraries because "nothing in our distribution uses this old crap anymore" - let's remove it), but we are talking about the end result here.
And when GNOME 3.x was introduced they did nothing to support programs designed to work with older versions of GNOME: some components are missing altogether, some are incompatible. You can drop some libraries from old version of GNOME and start most programs, but they often work incorrectly and GNOME developers don't consider this a problem.
And it is not like the APIs of Windows and Mac has been 100% still in those 10 years either.
Of course not! But they don't consider "just recompile your program" a valid answer to the problem. Sometimes APIs are removed without warning and you need to bring old, obsolete libraries from previous versions of OS to the latest and greatest (think DirectMusic), but these are notable exactly because they are rare. With Linux desktop and GNOME that's rule, not an exception.
In effect they used wrong metric to measure success: instead of how many programs works out-of-the-box without additional efforts they used metric how many jumps through hoops you need to run old version of program.
This is all about perception. If you use 10 programs, upgrade your OS and 9 of them work while one does not work (or require extensive tweaking to start it) then obviously it's fault of said program (because vast majority of them work, right?). If you use 10 programs, upgrade your OS and 5 or 6 don't work correctly after upgrade then it's obviously an OS developer's fault (even if the fix is simple and trivially googleable).
Is it fair? No. But that's life. Deal with it.
to post comments)