However, having all the modularity on the source level isn't the answer, because modern Linux users don't want to be bothered with compiling, and having every distro do it isn't the most free answer either as this only makes users have to go round about through them instead of from the devs, and needlessly creates duplicated effort and work when every version of a program should only have to be compiled once, and then made available for all Linux users. For example, I can't even try out Firefox Beta 3.5 cleanly because there are no packages for it right now, just a simple binary when all the other platforms have a nice juicy package they can all easily install. They get a nice feature, while Linux users suffer. In other words, right now, things suck. That's the coffee, so wake up to it.
"Oh please oh please distro company ZYX, package this new game that just came out for meeeeeeeee, it has this awesome feature XYZ!"
"NO! We won't! If you want it, reformat your computer and install this other distro, they have it! Or, wait until the new version of our distro comes out, maybe by then it'll be available for you! Mwuhahahaha!"
OK maybe not the mwuhahaha part, was added for dramatic effect, but you get the point. They're not the ones who should be in control, the original devs should be in control, and if they are being poofaces for whatever reason, the project can be forked or someone else can package it and/or rename it or whatever is needed.
Any way, all software developers should demand a universal Linux package format, and help push for it, a format that existing managers are going to want to adopt. Then hopefully in the future, the universal packages will replace the proprietary stupid old-way-of-doing-things packages.