A couple days ago I was building a blog using Hexo (a static site generator built with Nodejs). I created a couple pages and installed a couple plugins. When I entered the command to build a local copy of the site, I got a nice long error message. It looked like one of the plugins was causing the problem, so I filed an issue on Github. It turned out that I was getting the error because my version of Nodejs was old, as in two major releases behind the most recent release.
I was able to fix the problem, but it got me thinking. All this happened on my Windows laptop. It would never have happened on my Linux machines. Why the difference? Because Windows does not have a package manager. Here are several reasons why Windows needs a package manager.
For those of you who have never used Linux, let me explain: a package manager is a system-level application that allows you to update your current programs and install new programs all in one place. Package managers allow you to search for applications by name and by category. Some also list reviews of the programs from other users. The package manager for each operating system is maintained by it’s creators.
In Windows, one of the biggest problems is keeping your software up to date. In most cases, you have to download each update and install it separately. For example, if I want to update CCleaner, you have to download the latest version and install it. Some things, like Flash or Java, have their own update systems, but you generally still have to initiate each update.
With a package manager, there is no such problem. All you have to do is run the package manager (either from the graphical user interface or the terminal) and all updates will be installed.
Some people might point out that Microsoft does include a package manager of sorts with Windows Update. That may be true, but it only updates Microsoft software. The non-Microsoft software that it updates is usually drivers. Remember when I mentioned Nodejs at the beginning of the post? That was not covered by Windows Update.
On the other hand, when I update my Manjaro laptop, everything is updated, from full programs like Firefox and Steam to building block like Nodejs, Go, Java and system drivers.
There are some third-party programs that check for updates, but they only search for a limited number of programs. I have heard of Chocolatey, which touts itself as a package manager for Windows. However, in my opinion, a program that security sensitive should be in the hands of the creator of the operating system, in this case, Microsoft.
One of the biggest problems with getting a new computer is that it often comes with quite a bit of bloat. This usually consists of 15 or 30 days trials of software. The idea is that you will get hooked on using these programs and pay for the full version. Most people want to uninstall them, but the software makers make this hard. There are several stand-alone programs just for removing bloat from new PCs.
A package manager would greatly simplify the removal of bloat. All you would have to do is open the package manager, select the program you don’t want, and hit uninstall.
Finally, a package manager would make it easy to find new software. Discovering software has always been a problem for Windows PCs. Before the internet, you could go to your local PC store and find which software is right for you. In the Internet Age, there are so many options to choose from you can get overwhelmed trying to make a choice. Many times I’ve just done a Google search for the program type I’m looking for hoping I’ll find something to fill my need.
Package managers consolidate a large portion of software into one place. You can search by name and by category. Sometimes they list reviews from other users, so you can see if the program is right for you.
When you get a new computer, most of the time it’s missing all the software that you use on a daily basis, such as VLC player, Paint.net, FileZilla, and Notepad++. Before you can get get to work, you have to download an install file for each application and install it manually. I know from experience that this is a very time consuming proposition.
A package manager would solve that problem because you can select multiple applications to install at a time. There is a third-party app named Ninite that allows you to batch installed applications. However this is something that Windows should do without having to install third-party programs.
Microsoft has mentioned in the past that they would include more Linux-like features in future versions of Windows. The article even mentioned a package manager. However, I think a Windows Apps store is as far as they will take it. (An app store has many of the same problems as Windows Update.)
In my mind, that is not far enough. Hopefully, a few people will read this and realize what Windows is missing.
Let me know what you think in the comments below. Do you agree that Windows needs a package mangers or not?
Originally published at tech.johnpaulwohlscheid.work on January 11, 2017.