InternetNews.com states: "Microsoft (or a really smart ISV) should build a full application manager for Windows, similar to what most Linux distributions do today." Most Windows applications come with their own distinctive updating mechanism (much like Mac OS X), instead of having a centralised updating location like most Linux distributions offer. While it certainly wouldn't be harmful for Windows to gain such a feature - the question remains: isn't it time we rethink program installation and management altogether?

The need for a package manager in Linux is one of its greatest flaws. In Linux, parts of applications are spread out all over the file system. Some parts go in /bin (or /usr/local/bin), some in /etc (or similar) and some in /usr (or equiv). Manually uninstalling an app in Linux is a nightmare because the parts are in unpredictable places with unintuitive names. And manually installing an app is a time-bomb, waiting for some automatically-installed app to stomp on it (assuming you can find all the dependencies you need to manually install your app in the first place).

I agree that MacOS should have a centralized update system. Oh, wait. It does. It's called "Software Update..." The only problem is that far too many apps don't take advantage of that. They should. What MacOS does right is bundle all parts of an app together under one directory, except for user configuration files (plist files) that are small and stored in predictable places. Gobo Linux does roughly the same.

Another flaw in the way Linux handles things, but which MacOS and Windows do right, is that Linux lacks a standardized config file format. Upgrades in Linux are a nightmare, because none of the package managers have any clue about how you merge your config file changes with the additions to the config file that come with the update. Mostly you either just lose your changes or break the software due to missing updates to the config file. Switching to some kind of key-value XML format that's both human and machine readable would solve LOTS of problems.

The very fact that Linux NEEDS a package is a sign that something is horribly broken. There is a flaw in the design at a fundamental level. This is evidenced by the fact that MacOS keeps things organized without it. If you can eliminate a tool entirely, you have one less thing to break (and believe me, those package managers break).

That being said, having a package manager is one of the greatest things about Linux as well. You have a central application that handles all of your installs and updates for you and does a reasonably good job about it most of the time. Am I contradicting myself? No. The package system prevents you from easily installing non-repository apps, and that can be fixed by changing the underlying package system. This will result in a much simpler (internally), reliable, and stable package manager, because it can shed a ton of complexity.