Having a central repository that handles version dependencies and upgrades ... is great.
But let's be honest here: whenever a newer version of a software package is released, it can take months before it enters sid on Debian, or in Ubuntu, and these are the better-maintained distros.
And if you want to distribute proprietary software, maintaining multiple packages for multiple distributions and multiple versions, is hell-like.
And regarding interface guide lines, I do not agree that Linux apps have a standard. Quite the contrary.
But that's the philosophy of those distros such as Debian, Ubunutu and Fedora: Don't upgrade anything except security patches between releases.
If you want the bleeding edge packages, you need to install it yourself from an add-on repo (once you set it up, its just as easy as `apt-get install newpkg`. Or, pick a rolling-release distro that caters more towards having the latest packages available, such as Gentoo or Arch.
Why does it have to be like that? Why does Linux distributions fall in one of two categories: either "stable foundation and out-dated apps" or "unstable foundation and recent apps"?
What many people want is a stable foundation and recent apps. This is easier to get with a decentral installation system.
Who's foundation? I'm a web developer, so to me, I want the latest ruby, apache, etc... However, a server admin might want the more "stable" versions of the same.
I know that Gentoo, at least, has the facility to accomplish this. They have package masking, so you can specify exactly the packages you want to be kept on the bleeding edge. Taken a step further, you can set up your own "profile", and list exactly what version of each package in the system you want. Arch Linux provides something similar; you can list what versions a package shouldn't be upgraded past in a config file.
I'm sorry, but there's nothing "easy" about having to watch 50 RSS feeds or twitter uses to know when there's a new version of an app I might want, downloading it manually, and clicking next through their installer. Setting up a few config files and doing `pacman -Syu` is orders of magnitude easier.
Of course, it is easy. When you're already assuming something like RSS feeds for app updates exists, don't you think it's possible to have an application download them once a week and update all apps automatically? For an end-user, there's no difference to APT.
Also, you seem to misunderstand the point. To have a third kind of distribution -- "stable foundation and recent apps" -- doesn't affect your choice of distribution, at all. When you're satisfied with Gentoo, you simply continue using it.
> When you're already assuming something like RSS feeds for app updates exists, don't you think it's possible to have an application download them once a week and update all apps automatically?
So where can I get this program you speak of? Why doesn't it exist? (edit: and if it doesn't exist because you don't even have RSS feeds, isn't it even harder than watching those and manually installing?)
Check Sparkle [1] as well as AppFresh [2] for MacOS. The former is even available under the MIT/X license. No need for central repositories when done right.
> Who's foundation? I'm a web developer, so to me, I want the latest ruby, apache, etc... However, a server admin might want the more "stable" versions of the same.
What happens when the "stable" version doesn't have the same feature as the latest one? For example the latest Python is 2.6 and it's even declared stable, but RedHat comes with 2.4 IIRC. There were quite a few changes between these versions, so you have to use the same version for both production and development.
Yes, that's exactly my point. The devs and admins at my company got together, decided what ruby version we were going to use, and stuck with that. It's not always going to be the same version, and at some point, we may decide to upgrade. But we want to do that on our schedule, and decide which version, not have a package maintainer decide for us. I'll keep my system fairly up to date, particularly with X and my window manager, but freeze the specific version of Ruby we're using in production. The server, though, only has security fixes installed, no other updates.
Because the "foundation" can't be seperated from the apps that way. What is that foundation? What are the apps that need to be bleeding edge. What if I don't care what version of Firefox I have, but I must have the newest version of some tool or language. But now I get a buggy RC of Firefox and it crashes a lot. I consider Firefox to be foundation for me because I just don't care about it. But you may want Firefox 1.5 to be available TODAY. It is best to aim for bleeding edge or stability, because if you try to have both you will just have total instability.
But let's be honest here: whenever a newer version of a software package is released, it can take months before it enters sid on Debian, or in Ubuntu, and these are the better-maintained distros.
And if you want to distribute proprietary software, maintaining multiple packages for multiple distributions and multiple versions, is hell-like.
And regarding interface guide lines, I do not agree that Linux apps have a standard. Quite the contrary.