Getting off-topic, I know, but since this is quite interesting... On Tue, 28 Dec 2010 10:43:08 -0500, Jorge Arellano Cid <jcid@dillo.org> wrote:
I don't develop nor have a Windows machine, but have heard of DLL hell (in the same sense as RPM hell ;).
Having developed extensively for both -- at one point I was rolling my own Linux distribution -- I can say quite confidently that Linux/Unix has it worse. On the technical side, there's system-wide shared libraries and soname versioning; if the major version changes, everything linked to the library must be recompiled. To compound that, there's the larger development community's general disregard for backwards compatibility. The worst changes I had to make for Dillo-Win32 were patching two or three lines of FLTK-2.0, to support Windows 95. Even then, it was trivial to run a brand-new program on a fifteen-year-old operating system. (On a related note, it's nice that I can still use my nineteen-year-old copy of WordPerfect 5.1. When I ran Linux, I was lucky if I could run something I'd compiled just a year or two before.)
Anyway, the point seems clear to me. In the very old days, with an Atari 800XL (or C64), developers had a great time. Binaries, and even HW tricks were portable!
These days, as you point out, it's very hard to acieve binary compatibility with GNU/Linux (HW is different, distros are different, libraries are different). If the problem was left to the user, no progress could be made (most don't know what is to compile, and shouldn't need IMHO). This is mainly solved by the distro-packaged-SW, which users feel comfortable with. That's the reason why it's so important for us to be back on this kind of repositories.
Windows achieves its binary compatibility largely because every Windows operating system is in the control of one vendor. If anything, the Linux distribution system is worse, because it places control of *applications* in the hands of the OS vendor as well. What I love most about Windows development is the ease of distribution: I just put the file online, and any user can download and run it without so much as a ./configure or even a chmod. No complication, and *no middleman*. I'm not disagreeing with you, by the way, just pointing out that the distribution system is badly flawed and unfriendly from both a user's and a developer's perspective. ~Benjamin