winget install learning

Andrew Clinick

Last week we announced a package manager preview for Windows. Our goal is to provide a great product to our customers and community where everyone can contribute and receive recognition. The last thing that we want to do is alienate anyone in the process. That is why we are building it on GitHub in the open where everyone can contribute. Over the past couple of days we’ve listened and learned from our community and clearly we did not live up to this goal. More specifically, we failed to live up to this with Keivan and AppGet. This was the last thing that we wanted.

The desire to use GitHub as the basis for our package manager germinated as a way to lean into how developers are building their apps. GitHub allows us to have an open repository and a way to integrate with DevOps pipelines for app publishing etc.

This GitHub based approach led us to AppGet and Keivan. We talked with Keivan last summer about potential opportunities to work together to deliver the Windows Package Manager. During those conversations we were impressed with Keivan’s insights into the package management world on Windows and with his desire for there to be a great package management experience on Windows.

There are a number of qualities in AppGet that really helped us get to a better product direction for WinGet:

  • No scripts during install – something that we completely agreed with and don’t allow with MSIX
  • Rich manifest definition within GitHub – the power of being open combined with rich declarative meta data about the app is so important to meet goal #1
  • Support all types of Windows applications installers
  • Seamless updates for applications in the repository

I want to take this opportunity to thank Keivan for his thoughtful approach to AppGet and working with us. We will be open sourcing our service code into our our WinGet repository on GitHub so that we can work together with Keivan and others to enable a better WinGet repository listing service.