-
Currently, Microsoft provides a manifest repository, and the installer package must be retrieved from another site. winget plans to support package dependencies. To ensure that past versions of packages remain available, there needs to be a centralized package repository where both packages of X and Y can be managed in the same place under a unified package management policy, and Microsoft should provide such one. |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments
-
This might cause legal problems for the cases where it isn't allowed to distribute installers further or those would need to be excluded |
Beta Was this translation helpful? Give feedback.
-
@aetos382 To expand on and confirm what @Croydon said, here's an excerpt from Chocolatey's FAQ where they talk about this issue:
Most proprietary programs on Windows are licensed under terms that prohibit their redistribution by unauthorized third parties. What this means is that under current copyright law, neither Microsoft nor anyone else can legally create a comprehensive public package repository for Windows. |
Beta Was this translation helpful? Give feedback.
-
As others have stated, there are independent software vendors who prohibited third-party distribution. |
Beta Was this translation helpful? Give feedback.
-
I don't think that the package repository provided by Microsoft should be the only repository for winget. Many installers distributed in the form of EXE or MSI are also responsible for resolving the dependencies that are necessary for the software to work. Such software does not require the dependency resolution capabilities provided by winget. But, for winget to support package dependencies, it needs a repository with a package retention policy. I believe Microsoft already knows about the need for repositories with retention policies, as they are a company with experience running repositories like nuget.org and npmjs.com. |
Beta Was this translation helpful? Give feedback.
-
Throw out the baby with the water ? For intented population that winget is built for, majority of tools allow redistribution because they either have permissive FOSS license (GNU, MIT etc.) or it is expliciatelly stated in custom license or it is given by the vendor itself on request. That is what we do on chocolatey core team to package ~300 mainstream tools with millions of downloads. So while most propriatery programs are licensed that way, there are bunch of FOSS tools that are not. We need both mechanisms in place - download automation AND embedding entire stuff in a package (readmes, executables, icons, licenses etc.). The trend of FOSS on Windows is only accelerating so this will even get better, rather then worst in the future.
The quote that @WhaleHub provided above was mostly in effect prior to intorudction of embedded packages which is a time when Chocolatey sucked - installing a package was akin to tossing a coin and hopping for the best because of multiple reasons. The only solution to that problem was to use enterprise version which caches downloads so when the vendor removes them, they still work on Chocolatey, however, it was still far from good because you couldn't do some other things, like caching them locally and you still needed to be constantnly online and depend on 3rd party infrastructure (which is not great either). Embedded packages are recommended now. I personaly wouldn't even consider using a package manager that doesn't have this, nor would I recommend it to anybody. |
Beta Was this translation helpful? Give feedback.
-
I'm working on the specification for dependencies #163. I'm converting this Issue to a Discussion. |
Beta Was this translation helpful? Give feedback.
I'm working on the specification for dependencies #163. I'm converting this Issue to a Discussion.