It’s been almost a year that Keivan Beigi shut down the AppGet project in response to shenanigans by the Windows App Model team. Microsoft was going to use the concepts and ideas behind AppGet to build WinGet without giving credit to Keivan. That’s just rude.
It’s a year later and we can now safely conclude that WinGet is terrible. It calls itself a package manager, but it doesn’t really manage packages: it can only install them. With AppGet you could actually manage your software. If it got outdated, you could update it. If you no longer wanted it, you can uninstall it. WinGet doesn’t do that. It just downloads software and installs it.
For months there’s been “experimental” support for the most important feature of a package manager: upgrades. It just doesn’t work. Sure, it will download the updates. It’ll even pretend to install them. And if you run it again, it will do it all over again for the same packages. It’s pointless. It just pretends to upgrade software, just like it pretends to be a package manager.
A year ago, I was happily using AppGet for my Windows package management needs. I liked it. The biggest issue was that some software wasn’t in their repository, though most important software was. I had used Chocolatey before, but it was just painfully slow. AppGet seemed to be just the right tool for the job. Fast, robust and maintained.
And then those Microsoft folks had to go and ruin it all.
When I read their announcement I was equal parts scared and hopeful. Scared because I’ve seen earlier Microsoft attempts to provide better package management. It never works out. Hopeful because maybe this time they’ll try and get it right. After all, they took the great AppGet as an example.
Unfortunately, it’s always the fears that come true and never the hope.
My single most important feature of package management is to keep my installed software up to date. Finding and downloading software are one-off tasks that can be easily accomplished with a web browser. More importantly, it’s needs-driven: it’s best done when you are actively engaged with finding the right software.
On the other hand, upgrading is maintenance task. It’s something that needs to be done periodically whenever security risks are addressed, or normal bugs fixed. If you need to upgrade when engaged with the software, it distracts from the task at hand and disturbs your flow. The consequence is that updates are either ignored or productivity is lost.
Periodically updating all software at the same time prevents that. But it requires functional package management of the kind Windows never had before AppGet. And hasn’t had since AppGet’s demise.
So for now, I’m stuck using application-specific updaters and checking websites periodically. I just want AppGet back 😢