Newsletters

Select newsletters below and click the button to sign up!

Boston News NY News
DC News Internet Daily
SiliconValley News
InternetNews Business Report




Become a Marketplace Partner



Partner With Us















Internetnews Bloggers

Recent Entries

Archives

April 2009
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Monthly Archives

Search The Blog

Netstat -vat by Sean Michael Kerner (bio)

A command line view of IT



Windows needs a Linux package manager

tux.jpg
From the "lessons Microsoft should learn from open source" files:

Windows users have a real problem when it comes to updates. Sure they have Microsoft Update and certainly many applications include their own update mechanisms. Yet despite that, there seems to be a problem with Windows users actually updating.

So allow me to make a suggestion. Microsoft (or a really smart ISV) should build a full application manager for Windows, similar to what most Linux distributions do today.

For the non-Linux users out there - what Linux distros typically do is have a package management utility of some sort that pulls updates from a package repository (or repositories). Those updates could be for the core operating system but also could include updates for any application package in a repository. So if for example Mozilla Firefox is updated, you don't necessary have to go to Mozilla to update. Instead if its in your Linux distro's repository when an update is issued you'll get an update as part of your existing unified update process.

Small caveat though - there can sometimes be a delay between the time an application has an update upstream and the time an update actually appears in a particular Linux repository.

Overall though, the general idea of one unified approach through a master application package updating tool is one that in my view keeps Linux users (relatively speaking) up to date (and no pun intended on the old Red Hat Up2date command). Wouldn't that type of system be a good one for Windows too? Wouldn't you rather have one update process instead of many?

| Comments (21) | TrackBacks (0) | Share

0 TrackBacks

Listed below are links to blogs that reference this entry: Windows needs a Linux package manager.

TrackBack URL for this entry: https://swarm.jupitermedia.com/mt-tb.cgi/6048

21 Comments

NVRAM said:

I doubt I could count the times I've had the same thought.

But what I've wanted even more often, than simplified updates, is the ability to deal with packages already installed:

- Verify that files are installed, and validate by checksum,
- Verify and inspect package requirements/dependencies, including version numbers,
- Determining what package owns a file!!!
- List files in a (downloaded) package before installing,
... and more.

I think that the "MSI" file change (from an EXE) is one step forward, but a small one. It seems that if some feature is not measurably affecting their profit, MS moves very slowly.

Alex Dekker said:

Please can somebody port Debian's APT to Windows? Pretty please? Package management on Windows is almost non-existent. APT is a shining example of how packages, repositories, dependencies and updates can be managed.

Vi said:

Windows users have a real problem when it comes to updates.
- you a)must be kidding, b)never seen the real world outside your computer monitor or text books, c)are stuck in the last century, d)are talking about the non-desktop usage were Windows is not that important.
While there are many inherent issues with the updates on all platforms, in all practicality Linux is the most likely to fail after an update and need some tweaking, tech support or other troubleshooting as far as the regular desktop user is concerned. And we are not even talking about the upgrades, just updates.

Small caveat though
- application installation is one of the biggest "frankly stupid" issues on the Linux desktop. Packages, repositories, dependencies and so on are developer and only developer (as opposed to user) specific concepts. Desktop users do not (and should not need to) understand these concepts.
Here, all Linux and Unix fanatics, let me introduce the newest, never heard before, bleeding edge concept - APPLICATION. The concept is so freaking complex and I certainly can't expect you to understand it immediately. Application consist of one or more packages.
Application is the only concept needed for the users and that's what the common users (but not the developers) understand. The computer usage for me as a user is simple: I want to run that application on my desktop, period, please give me no packages, no dependencies or repositories. I just want to run that bloody application, that's all.
Here is the application installation test, involving the most common applications: I want to check out Firefox 3.1, Thunderbird 3 , Open Office 3.1 (and may be Skype 4) during my 15 min coffee break at work with limited bandwidth. Chose your OS

Richard Chapman said:

Port APT to Windows? Not likely. The Package Manager is just the head of a very long snake. It would be easy to port the "head", impossible to port the rest. But imagine if Microsoft could. Developers would have to pay a premium to have their wares prominently displayed. Microsoft could even punish vendors for going to Linux first. Putting Microsoft in charge of tending the World's repository is a very, very bad idea.

digitoday said:

Well, we all know the dpkg tool and APT package manager for it. Together those builds a package manager system. There is many but APT has got now even more popular because many useses Linux Operating System's distribution called Ubuntu, but there is many others as powerfull too (do not even start fanfaar how "special" APT is.. all others has developed as good as APT!)

You can use package manager or just package system to install software, first one just allows automatically get depencies and install them from network, localdisk, removable media etc.

Windows has NOT a package manager, but just package system. But biggest difference is not the package system but on the packages itself.

On Linux distributions application, library... every software is sliced to different packages. Every different part what is developed is as own small project what can be developed alone. That is the real power of the package management, not the APT, URPMI, YUM or any other package manager.

When you develope the application, you dont need to build all software, you can use already existing one. You dont include them to your software but you just use them and you keep them as depencies. So to get a application, you dont download one package but lots of different packages what includes all the libraries and applications what the software needs. (Unless you have already all the depencies installed on your system).

On Windows, this is the bad side of it. You have only one package. A so called .msi package what still includes all the libraries and other applications what application needs to work. You will end to have installed multiple same library files but mayby a very littlebit different version from them. You need disk space lots more for that.

Microsoft Windows does not have package manager, it has package system, the .msi package system.
If Microsoft would be wise company, it would develope more the Windows update, it would change it's name to "Windows software management". It would allow applications to add a update source to it. And the "Windows software management" would then check new versions from those sources to installed applications. If there is update, it would notify the user and download new version and install it. No more dificult "next next" clicking and accepting license, if you have already accepted it first time. It is about updating software, not installing.

All the developers who makes sotware for Windows, should start using .msi package. Build it so that would use the "Windows software management" -tool.

Then you could add trusted sites as package source, like download.com or microsoft.com and browse all the software what is available there. Then just click what you want and let the package manager do its magic and start installing, asking just license and optionally the place where to install (default is always first choose).

You would not get malware installed by this if user is carefull what sources it adds there. You should be a admin to get something done, just like on Linux distributions or other OS's like BSD and OpenSolaris.

And anti-virus companies could make the antivirus software to check the sources list too, to keep the sources list safe. If there is source what is problematic, antivirus software could execlude it from list and windows software management could warn user about situation.

No more downloading applications from gray-border-of-the-internet and security would be much better state after that.

But still Microsoft would have the problem about packages being one single binary bloat. No shared libraries and other great features. Well some day Microsoft can get that done too, but it would need to slice Windows. Make possibility to get just the OS (only a 40-50MB) and all the other system parts like Desktop and basic libraries etc removed from system if user wants. More like Windows Server 2003. So when you want the minimal system, you can select OS + commandline + basic GUI. Or just OS + Commandline or if really wanted, OS + full GUI desktop and other features, like now Windows is always offered. All bundled to one gigantig blob what needs more computer resources what just the OS + basic stuff would take if Windows would be modular.

DDevine said:

I'm sure I have thought of this a dozen times over the years.

I'm sure a million people have thought of this.

...and where is the product?

A company could do it - but who would want a Windows centric company funneling software? $100 per month for updates?

No thanks. Windows has NO responsible community and that's why it hasn't been done.

Arkay said:

I have a better idea. Uninstall windows and enjoy functional package management with Linux. All Windows users need is a Linux enema to flush out the crud their used to dealing with. Once they use a user oriented OS they might wake up and realise that MS is there for MS and MS only. If MS didn't have the application base that it does and had to be measured by it's merit as an OS it'd fail against everything from a zx80 onwards. Application vendors will port to Linux when the userbase increases and we'll all have the best of btoh worlds. The great apps and the great OS.

Legal and marketing are all MS is good at, product and user experience are secondary.

Ant Bryan said:

Sounds like you're talking about Appupdater. You can make your own repository.

"Appupdater provides advanced functionality to Windows, similar to apt-get or yum on Linux. It automates the process of installing and maintaining up to date versions of programs. It is fully customizable for use in a corporate environment."

http://www.nabber.org/projects/appupdater/

Piopolo said:

What about BitNami? It covers Windows, Linux and Mac and is growing

mario said:

Let's just relievefully conclude that this won't ever happen. The proprietary developer mindest in the Windows world won't ever permit a comparable package management system to those on BSD/Linux.

Maybe some of the Win freeware hosting sites could pull it off in a small-scope way. But it's in no way possible to intruduce a full-system update manager on Windows. It's way too late for that.
Neither Adobe/Corel/Nero/Norton or other big software houses, nor ALL small freeware/shareware developers would agree to it. You cannot package every Win app into an MSI without serious legal troubles.

And technically it's out of the scope to introduce application and DLL packages in any sane way on Windows. And that's what it would require for a fuss-free and user-friendly package manager, like on Linux.
You cannot have whole system upgrades without that. (Microsoft couldn't even accomplish working upgrades from a bare Windows XP to Vista setup, due to driver troubles.)

There's no serious threat here. No package management on Windows. Ever.

lars pettersson said:

The concept of THE APPLICATION is rapidly dying. More and more applications adopt an addon like structure even if not directly supporting addons.

Microsoft and others are aiming at some kind of compartmented application structure where the user buys or rents specific functionality rather than an application. Just saw the newest version of Adobe CS4 (full version) I think it's 11 different apps though there is a lot of overlap or close integration (not entirely clear to me) - in short it's rather a bunch of functionalities divided into packages fitting something the old time users can easily recognize as 'photoshop' 'illustrator' etc. BUT essentially those concepts are dead and only kept alive for historical reasons.

So rather than trying to adapt to a dying model we should be proud of how advanced the package concept actually is.

You may be right the packages of the usual package manager is not for the average user but I believe Ubuntu, correct me if I'm wrong, has made exactly a user centric version that obscures the package concept and presents the user with what appears to be applications or relevant functionality divided into convenient categories.

Alan Smithee said:

There was but unfortunately Microsoft more or less killed the project, Autopatcher.

Daeng Bo said:

To Vi,
"- you a)must be kidding, b)never seen the real world outside your computer monitor or text books, c)are stuck in the last century, d)are talking about the non-desktop usage were Windows is not that important."
Or we are talking any application which doesn't either a) register with windowsupdate (almost all of them) or b) run a process in the background which checks for and downloads updates.

"While there are many inherent issues with the updates on all platforms, in all practicality Linux is the most likely to fail after an update and need some tweaking, tech support or other troubleshooting as far as the regular desktop user is concerned. And we are not even talking about the upgrades, just updates."
Since most users can go years having all applications and dependencies (I said the "bad" word) being updated automatically without having any issues at all, I don't think you're statement is factual. Care to back it up with stats?

"- application installation is one of the biggest "frankly stupid" issues on the Linux desktop. Packages, repositories, dependencies and so on are developer and only developer (as opposed to user) specific concepts. Desktop users do not (and should not need to) understand these concepts."
Here. Go to any of the most popular Linux OSes (Fedora, Ubuntu, etc.). Open the Applications menu. Click "Add/Remove" and choose your application. Everything is handled for you. No mention of dependencies, repositories, or packages. That's the answer to your "application" rant.

"Here is the application installation test, involving the most common applications: I want to check out Firefox 3.1, Thunderbird 3 , Open Office 3.1 (and may be Skype 4) during my 15 min coffee break at work with limited bandwidth. Chose your OS"
I'm skipping the fact that these apps obviously don't exist yet .... How are you going to do this on any OS without using bandwidth? A CD? You can use those on any OS, including ... gasp ... Linux.

My application installation test: With one action, reinstall every application from your old system onto your new one with the same or later version of your operating system.

Miguel A. said:

You, UNIX yunkies, don't see the beauty of the Microsoft answer to this: �Format & reinstall!

" - Verify that files are installed, and validate by checksum,

Just reinstall another machine and compare the folders.

" - Verify and inspect package requirements/dependencies, including version numbers,

Just try to reinstall it and write-down the dependencies it asks for.

" - Determining what package owns a file!!!

Eh, Just format and reinstall, check for the file after each package.

"- List files in a (downloaded) package before installing,

Format and reinstall on another machine and compare folders.

Windows is sooooo easy.

SirYes said:

December 12, 2008 5:37 PM
Vi said:

Here is the application installation test, involving the most common applications: I want to check out Firefox 3.1, Thunderbird 3 , Open Office 3.1 (and may be Skype 4) during my 15 min coffee break at work with limited bandwidth. Chose your OS

Why do you write things like that? What do you want to achieve? Do you want to "enlighten" all these poor Linux users, that they chose the wrong OS and your choice is superior? I seriously doubt this will ever happen. Windows refugees that settled in the Linux, MacOS, *BSD, [Open]Solaris lands will rather laugh at you silently.

Did it ever cross your mind that there are more important things in the free and open-source software and/or OS than availability of the newest daily builds of your favourite programs?

It seems you intend to discredit other operating systems, without real understanding why things are the way they are. Your opportunistic attitude is harsh and you don't like any other opinion than your own. Go away, you're not welcome here.

SirYes said:

December 15, 2008 3:22 AM
Daeng Bo said:

My application installation test: With one action, reinstall every application from your old system onto your new one with the same or later version of your operating system.

That's... brilliant! Exactly! The same is for being able to update the whole system, including all installed applications, in one go.

It's very easy to do with sane package manager + package management system. OTOH it's a very long and user interaction intensive process in every Microsoft system from Windows 95 to Vista.

J. said:

I don't think that windows will support ever a package manager... windows is rather a monolithic system that provides a base OS with major backward compatibility and provides security for applications that requires it (read DRM, hardware locks, software locks, etc...) since the most applications are sell, not distributed freely.

And also aren't really part of Microsoft bussiness stategy to offer something without paying for it. Actually windows update is a service that is not really free: the price comes bundled with the OS when you buy it. If you need entreprise level support from microsoft, you have to buy it. (And is not cheap anyway :) )

Of couse there are alternatives... in the gaming world there's steam... a somewhat fair DRM scheme, mandatory updates for it's games and the possibility of ban you from their net if you haven't buy your copy of the game... Considering microsoft maybe this is the idea they would like more...

Just my 2 cents.

Regards

J.

rich said:

One would think that, because of the close collaboration between Microsoft and its developers, that Windows apps are well integrated, but they're not. Often, one gets kernel errors because apps infringe on each other's memory space. Consider software drivers. When they fight for the same memory space, one gets driver corruption.

rich said:

No software is perfect, There are bugs at the os level and there are bugs at the application level. In Windows, one has to go to each separate vendor to update os and apps. In Linux, os and apps are included in the same repository so it's easy to keep Linux up to date. Linux admins get notified of updates to both os and apps.

Ben said:

The whole application argument is crap.

Sure, in realistic terms, you're not getting one all-inclusive package. You can present it this way to the user, though. The user, ideally, will not need to worry about dependancies.

Consider the advantages for the user experience in package management. They have one nice, neat application from which they can download all the software they'll ever need. They can get updates for this software easily, unintrusively, all at once. They can remove any of this software easily, from the same interface, the same way, every time.

Sure, it's more of a task for maintainers, but this is not the problem of the user. If the maintainers do their job well, the user will only know about new applications.

Then consider the major advantage to package manegement: less bloat. Sure, dependancy hell sucks, but there's a reason we don't like software that comes with all its functionality built-in. First, by using standard functionality, you have chances for better integration and operability (a good example would be an FTP file transfer client that uses GVFS). Second, by allowing software to depend on different libraries, we can ship only the unique sections, allowing programs with similar functionality to use the same libraries for much of the heavy lifting. Applications are smaller, meaning you save bandwidth and hard drive space.

This is a major win. The problem is, even if Windows did develop this, I doubt enough developers would use it. Sure, the big ones might, but users would still probably need to hunt around for the software they want.

Leave a comment