LWN.net Logo

Quotes of the week

Quotes of the week

Posted Sep 1, 2012 15:50 UTC (Sat) by khim (subscriber, #9252)
In reply to: Quotes of the week by Uraeus
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.


(Log in to post comments)

Quotes of the week

Posted Sep 7, 2012 9:29 UTC (Fri) by ovitters (subscriber, #27950) [Link]

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.

I don't really get this bit. the ABI/API was the same for all those years. The distributions caused the breakage. For many years people have been trying to solve the binary bit as well. Meaning 'GNOME OS'. It has been around for way longer than you might assume if you just follow news sites.

It seems you attribute 'no solution' as 'they never even considered'.

GNOME also participated on LSB. And IIRC various libraries were added to that.

So in short I disagree with the 'never even considered' as well as judging solely based on result.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds