> Well, one thing I agree. Shipping binaries it's the easy part.
When I said "shipping", I included building and solving binary compatiblilty issues in that. It really isn't too hard - build on the oldest system you want to support, decide what dependencies you can rely on the system to provide and ship the rest static, load a couple of things at runtime if in doubt. There are still a couple of gotchas (the autopackage web page has good information on the subject, although C++ ABIs are no longer a problem, and glibc is getting better at not pulling in new features unless you actually use them), but it is still quite feasible. And once you have solved the problems, they stay solved on the whole.