dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.45k stars 4.76k forks source link

License metadata on windows runtime nuget packages is wrong #108905

Open js6pak opened 1 month ago

js6pak commented 1 month ago

According to the LICENSE.TXT inside dotnet-sdk-8.0.403-win-x64.zip/dotnet-runtime-8.0.10-win-x64.zip the license of those binaries is the .NET Library License. But the license fields on https://www.nuget.org/packages/Microsoft.NETCore.App.Runtime.win-x64/8.0.10 and https://www.nuget.org/packages/Microsoft.WindowsDesktop.App.Runtime.win-x64/8.0.10 say MIT even though they contain the offending binaries: runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll, runtimes/win-x64/native/PresentationNative_cor3.dll etc.

Also, there is the question of whether the license is even .NET Library License if it contains files like runtimes/win-x64/native/D3DCompiler_47_cor3.dll and runtimes/win-x64/native/vcruntime140_cor3.dll which according to https://github.com/dotnet/core/blob/main/license-information-windows.md are licensed under Windows SDK License and Microsoft Visual C++ Runtime Software License, respectively.

dotnet-policy-service[bot] commented 1 month ago

Tagging subscribers to this area: @dotnet/area-meta See info in area-owners.md if you want to be subscribed.

jkotas commented 1 month ago

cc @richlander

richlander commented 1 month ago

Thanks for the report! You are correct. That doesn't seem right. We'll get this fixed in main and then backport.

I'll talk to some folks.

jeffhandley commented 1 month ago

cc @dotnet/area-infrastructure-libraries for awareness

richlander commented 1 month ago

Status:

It would be best to wait for final guidance before making any license changes to the artifacts we produce/publish.

js6pak commented 1 month ago

The C++ runtime license is not sufficient since it doesn't actually obviously allow redistribution which is inherent to the scenario. We're working to get that resolved.

According to WPF docs, vcruntime140_cor3.dll is just a renamed vcruntime140.dll which should be redistributable under the VS license as it's inside [VisualStudioFolder]\VC\redist which is specified by the Distributable List.

richlander commented 1 month ago

That's good context. We'd prefer not to have to use the whole VS license. I think that's actually what we were doing before. Either way, we'll sort this out.

richlander commented 1 month ago

We now have more clarity on next steps:

@leecow -- Who should be assigned this work?

[1] https://github.com/dotnet/core/blob/main/license-information-windows.md

richlander commented 2 days ago

We merged the referenced PR.

@leecow -- who would be responsible for updated packages to use the correct license?