We recently discovered OneGet, a package management framework included with PowerShell and Windows 10. We’ve learned a lot more about OneGet and its future since then.
OneGet was originally a product from the Open Source Technology Center at Microsoft. Not only is it inspired by open-source Linux package managers, OneGet itself is also open source. It’s now part of PowerShell proper.
Who is OneGet For?
RELATED: Windows 10 Includes a Linux-Style Package Manager Named “OneGet”
OneGet is currently targeted at power-users, system administrators, and people who aren’t afraid to use PowerShell — that much is clear. But OneGet isn’t just some obscure collection of cmdlets that will only be used by server administrators. OneGet developer Garrett Serack explained who it’s targeted at on Reddit:
The graphical interface and Windows Update integration aren’t coming immediately, though:
Further down the road I’d like to see integration into things like the Windows Update UI so that software updates from any package manager can show up in a centralized location.” (Source)
At the October 24, 2014 weekly meeting, Garret Serack shared his vision of a OneGet-aware desktop application popping up the standard Windows Update UI when it detects an update, and the update could be installed from there rather than each Windows program having its own updating service. (Source)
Once we get the basic feature set implemented, and hook up a bunch of package managers, a UI would be an important next step
However, that being said, it is open source, and I’d love to see someone start working on a UI that could be included.”
OneGet will probably offer access to apps from the Windows Store. If the Windows Store includes desktop apps as Microsoft accidentally revealed it would, that would give OneGet access to a huge universe of desktop software:
— Garrett Serack🤠 (@fearthecowboy) October 28, 2014
It’s a Package-Management-Manager, Not a Package Manager
Technically, OneGet isn’t a “package manager.” Instead, it’s an extensible package management framework — the official Q&A describes it as a “package-management-manager.” As the Q&A describes it:
OneGet is extended with package-management plug-ins that add package sources. These sources can be installed from a centralized repository. OneGet comes currently with a package source that includes these:
On a brand new system, you’ll be able to run a cmdlet to get a list of available providers from the Internet and then install a package provider of your choice — Chocolatey, for example.
OneGet is Open Source, and a Community Project
Like Linux package managers, OneGet is completely open-source. The source code is available on GitHub. You can always grab the latest experimental build at http://oneget.org/oneget.zip, and this build currently contains the Chocolatey provider that’s missing in action in the official builds. @PSOneGet tweets every time a new build is posted.
As it’s a community project, anyone can show up to the OneGet project’s weekly meetings at 10 a.m. PST every Friday. Just visit OneGet’s weekly meetings page, which also offers a stream of the last weekly meeting.
— PowerShell OneGet (@PSOneGet) October 24, 2014
OneGet Could Shame Developers Who Include Toolbars
RELATED: Why We Hate Recommending Software Downloads To Our Readers
The people involved in the OneGet project have the right sort of attitude for improving the Windows software management experience. On Reddit, Garret Serack was unsympathetic to developers who’ve built a business model on getting ad revenue from people visiting their websites and talked about an “adblock”-style plug-in to prevent users from installing terrible applications that bundle toolbars. The OneGet project has an “8 Laws of Software Installation” page that argues for better Windows software installations without all the toolbars, unnecessary EULAs, and other time-wasting junk. It reads like something we would write here at How-To Geek, but it’s written by someone who works at Microsoft and actually has the power to make things better.
After reading these laws, one Reddit user was skeptical: “I doubt you will get buy-in from App Vendors like Adobe, Oracle, or hell even SourceForge Now. it is no longer enough to just distribute an app/installer, the installer itself now has to generate revenue as well…”
Microsoft’s Garret Serack responded:
So OneGet shouldn’t just be a new conduit for garbage to flow onto your system — it should actually be designed to help Windows users avoid the junk. That would be a big improvement.
I may not be able to get ‘buy-in’ from these guys, but when someone installs their package thru OneGet, I can sure make it stop and go “Hey, are ya sure? — This package appears to do XYZ” … A bit of pro-active “package shaming” should be good…” (Source)
OneGet Could Help Fix Windows System Clutter
Windows installers tend to scatter files and registry entries over your system even after you uninstall them. One Reddit user asked if OneGet would one day help deal with that. After all, Chocolatey currently doesn’t — it just runs the standard program uninstaller, which may not clean everything up. So could OneGet clean everything up, just a Linux package manager could?
OneGet doesn’t just seem like a one-off tool. Instead, it looks like a project that’s actually set to rethink and improve how software installation is handled on Windows.
Right now, OneGet is primarily a unifying front-end to multiple package managers. As we get thru implementing the basic feature set, we’ll be definitely looking at stuff like this.” (Source)
Microsoft Wants to Make Linux Users Happy
One common complaint seems to be that the PowerShell syntax and way of doing things seems overly wordy and clunky compared to what seasoned Linux users are used to. Microsoft wants to make Linux users feel more at home:
— Garrett Serack🤠 (@fearthecowboy) October 29, 2014
OneGet is all very exciting. It’s what Linux users and tech geeks have wanted from Windows for a long time. And the best thing is that it isn’t just a PowerShell cmdlet for installing Microsoft-approved software from the Windows Store. Instead, “the user has ultimate control with which repositories they use and trust, not some centralized service.” (Source)