The actual binaries rarely break, unless they statically link shit they shouldn't. Linux in general is pretty good about maintaining a stable ABI, actually. Almost every single update-breakage or distro-incompatibility issue is artificially injected into the mix by the distributions' packaging infrastructures. Over and over and over again.
Which is exactly what happens with RPMs, DPKGs, and .bin installers. You release your DVD in May 2010. By November 2010, half the distros can't install from the DVD anymore. You need to install to get the updater to run to download updates... but you can't install to get an updated installer. Hmm.
This isn't make believe. This actually happens today, frequently, with a lot of software that is shipped outside of the distro's central repository. Including every single commercial game every shipped for Linux. You're pretty much forced to go online, download a hacked-up community installer, and then use that to get the files off the DVD. It's retarded. There are plenty of Open Source apps where I can find a Fedora 12 i386 RPM or an Ubuntu 9.04 DPKG or whatever, but oddly I seem to be running Fedora 14 x86_64 which is not supported. Sucks to be me, I guess. I need to downgrade to an unsupported OS to get a supported package? Sure, a lot of the time you can get older RPMs to install just fine. Plenty of times, you cannot. All because someone decided to merge a package or split a package or rename a package and now incompatibility is artificially introduced.
And when the software is no longer being actively supported, the installers get out of date. See every single commercial Linux game for examples.Second of all, upgrades are easily handled with such a build system. You also do not need to repackage all the game assets. That part is actually really easy to do as a simple tar.bz2 file can be used for those items. The only thing that has to be distro specific is the installer.
Nobody hosts 4GB packages like that yet. They will change their tune, quickly. Debian, Fedora, and so on have had issues with mirrors getting upset over package size increases in even the recent past.As it is opensource you are free to host it on their beefy mirror infrastructure at no cost.
Plus, that's a half-solution for Open Source software, and a complete non-solution for everyone else. Particularly games, which are very rarely Open Source due to that whole $10m+ development cost they kinda like to recuperate a little.
Then there's still the problem of distributing those per-distro installers. I go to foo-soft.com's website, and click the big Download link. The browser can already detect if I'm running Windows, OS X, or Linux, and point me to a proper installer for the platform. Well, except for Linux, because it has no freaking clue which of 20 different installers to give to me. The burden of sorting through and finding the proper installer (if it even exists) is offloaded to the user. After already putting the burdern on the distributor to make these multiple installers (even with SUSE Build Service) instead of just being able to run a local "make-installer" tool over a tiny installer script like I can do on Windows with tools like InnoSetup.
So I've packaged for Debian, Arch, and Mandrake, and am currently a packager for Fedora. I also maintain installers for commercial Windows applications. I have supported user bases of over 200 people on heterogeneous networks comprised of multiple versions of Windows and several flavors of "desktop friendly" Linux distributions.Really your making a mountain out of a molehill.
Guess which machines were a complete and utter bitch to maintain support with software rollouts and which took close to zero effort? (Hint: it's not the Windows ones.)
The situation is not as bad as it used to be. It's still not perfect.
I doubt you notice it a lot. I doubt most people on this forum notice it. Every single person here is an uber Linux nerd. When you have to do some crazy Linux thing, you don't even notice anymore. It's normal. You've done it for years. It's well-honed habit. Hell, compiling a kernel is _fun_. Shells are easier and more efficient to use than a GUI. GCC and Vim are an incredibly powerful configuration toolset.
Try getting your non-uber-nerd friends and family on Linux. See how often you have to go over and do for them the most trivially basic stuff. Things like GNOME having icons in different places than Windows adds enough overhead as it is (and no, I'm not saying that Linux must look and act like Windows; just noting it already has a steep learning curve just by being different, without being harder). As soon as they go to download an app and it asks them if they're running Fosd Core Linux or Debutan Linux or Ubernutu Linux and whether they're running the 36-bit or 68-bit version and then tells them to set the Executive Byte on the file and then open the 1980's black typey-thingy window to run $.foo/bin, they say "fuck this stupid shit, I'm going back to a computer thingy that doesn't require a Master's degree in not-having-a-life."
The really screwed up part? It was actually easier to install and run Windows games on Linux than to install the Linux native games. If Wine is installed, they literally just had to pop in the CD, double click setup.exe, and bam it installed and ran. The Linux apps? Required me to come over and hack the shell scripts to work around the way the distros decided to change xhost and alter how CD-ROMs are mounted and then manually run the shell-based updater that requires root. That is _retarded_. I recall this so clearly, because of one friend -- a very poor college student, could barely scrape together the $300 it took for me to build his computer without a Windows license -- only wanted to play two games. NWN and Warcraft 3. He got Warcraft 3 installed by himself and needed me to fix NWN to install. He ended up selling off some stuff just to go buy a Windows XP DVD about 3 weeks after we got that computer set up, soon as he realized he couldn't actually patch or update NWN or install modules without me.
I don't particularly care if the uber-nerds don't see a problem. They never will. Most FOSS programmers don't even care about games at all. Doesn't mean games don't matter. The vast majority of people who own a PC play games on it. Being a FOSS programmer already makes a person an oddball minority. Them being a non-gamer doesn't change that. The oddball minorities can go be oddballs that do things the slow painful way all they want. The rest of us -- be they people who don't want to learn all that crap because they'd rather spend the time playing a game, going outside, or getting laid; or even just nerdy people who are just sick of wasting time doing the same 20 extra steps over and over after a decade of doing them -- don't want that anymore. We want things to just work with a minimum of fuss.
The stop-energy that the FOSS programmers keep throwing up is disgusting. Is it going to hurt you any if it's easier for other people to install software? Are you threatened? Do you want to keep the Linux userbase "pure" ? There is a problem. Even if it is a small problem, why for any reason do you not want any problem to be fixed? Especially one that is EASY to fix, if only people stopped blocking it every chance they get?