Saturday, March 11, 2006

Linux problems: binary redistribution

thomasvs (who appears in Planet GNOME) is running a post titled How not to solve a problem in his blog. He talks about the aggressive tone used in a page from Autopackage's wiki and how it can cause a bad impression of that project. (I was going to reply to his post in his blog but commenting is unsupported... so posting this here.)

That "Linux problems" page talks about many issues that arise when trying to redistribute software in binary form for the Linux platform. It outlines many real problems that users face when using binaries not specifically built for their installation and how it prevents developers from creating binary-only versions of their programs that will work anywhere.

That page is certainly a good read. It contains a lot of technical interesting details of how ABI compatibility is broken often. (But you know, Linux is just a kernel so some of them may be unsolvable, unfortunately.)

You need to have suffered these problems to understand the tone of the page (which might be improved to be a bit more polite). It is frustrating to see how people continues to do "incorrect" things that cause pain to third parties. OK, OK, this is because those people are not aware of the issues... but hey, that's what that page is for, to inform them!

I already expressed my concerns here and here. They are not about binary portability, but I feel they are somewhat related.

1 comments:

Anonymous said...

The "Linux Problems" page's tone is perfectly adequate, if not too mild, for the severity of the problem.

Mike Hearn is not being arrogant. His response is perfectly okay considering how his ideas were treated. See the replies to his post to glibc developers, in which the developers refuse to even admit there is a problem.

What's shocking isn't the ELF symbol collision issue - ELF is old news - but capable developers' persistent lack of desire to solve it for the past 4 years if not longer. Consider how Michael Meek's Bdirect patch (which not only solves the problem, but halves the startup time of ELF binaries) wasn't and probably never will be accepted into glibc/ld.so/binutils.