-
Notifications
You must be signed in to change notification settings - Fork 252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Provide third party / OSS bill of material and license / copyright list on build #10993
Comments
@markusschaber - NuGet team received a proposal to list all package licenses here #10852. Can you please look at that proposal and see it covers all the scenarios listed above as per https://github.com/NuGet/Home/wiki/Submitting-Bugs-and-Suggestions#suggestions-and-feature-requests? //cc @JonDouglas @chgill-MSFT |
Hi, @kartheekp-ms, But on the other hand, as far as I can see, it falls short in the following requirements of my proposal:
Those shortcomings are one reason why I filed it as a different proposal. The other one is that I doubt this can be solved by NuGet alone, and the proposal #10852 explicitly concentrates with NuGet. However, I now asked the author of #10852 whether we could extend his proposal to include the uncovered requirements. |
@JonDouglas Can you take this into account for discussions in #10852 and see if there's ways to make these work together? /cc @anangaur |
See #10852 (comment) for an explanation of @aaronpowell why he thinks that the issues should not be merged. I tend to agree. |
(I'm posting this feature request here for discussion, as recommended on the DotNetEvolution Discord.)
My feature request is some mechanism to automatically provide a third party / OSS bill of materials and license / copyright list when building a .NET application. With growing number of dependencies, it's not easy to keep such a list up to date manually. Such mechanisms exist on other platforms, for example, we use https://www.npmjs.com/package/license-webpack-plugin with Angular.
Reasons why this feature is useful:
This is especially important for scenarios
<PublishSingleFile>
or client side Blazor: For example, the Apache License states "a) You must give any other recipients of the Work or Derivative Works a copy of this License;" - According to the Lawyers at OSADL (https://www.osadl.org/), the word "give" means that the text including the license must be downloaded to the browser when the web application is downloaded. It is not sufficient to just provide a link to the license text, or download it on demand when the user clicks on a "show licenses" link/button in the web application, or just copy-paste it somewhere in the documentation (this has been sufficient back then when the software and documentation were physically shipped together).IANAL, but as far as I understood, it's ok for a web app when the licenses are in a separate file, and that the license is only actually displayed when the user clicks on the button, but it must be downloaded (into the browsers' memory) each time the application is downloaded. Their detailed analysis is members only: https://www.osadl.org/?id=3543.
I cannot see this feature being easily implemented as an add-on NuGet tool. As far as I can see, this feature needs to be provided by the tool chain (NuGet, MSBuild, Linker...) playing together, as
<PublishSingleFile>
.There is https://github.com/tomchavakis/nuget-license, but as far as I can see, it does not take linking into account, and misses the framework/runtime itself (which is not referenced as NuGet). And I could not find an easy way to get the generated list included within the compiled application.
The text was updated successfully, but these errors were encountered: