microsoft / vstest

Visual Studio Test Platform is the runner and engine that powers test explorer and vstest.console.
MIT License
898 stars 323 forks source link

What do the licenses in package/licenses apply to? #4574

Closed omajid closed 1 year ago

omajid commented 1 year ago

https://github.com/microsoft/vstest/tree/main/src/package/licenses includes a few different non-open source license files for .NET Library and Visual Studio Test Platform.

What do these licenses apply to? Do they apply to the code in this repo? Are the asset files that are (optionally) applied to the output (eg, nuget packages) that are built from this repo?

nohwnd commented 1 year ago

Those licenses are for the nuget packages that we produce, that ship additional files that are built in different repositories and have different licensing.

MichaelSimons commented 1 year ago

Sounds like these would not be used in .NET source-build. If that is true, we could cloak these from the vmr by adding exclusions here.

MichaelSimons commented 1 year ago

This should be re-opened as the first attempt to fix this broke the build and was reverted with https://github.com/dotnet/installer/pull/17033

MichaelSimons commented 1 year ago

@nohwnd - Can you provide guidance on how to resolve this issue? TIA

nohwnd commented 1 year ago

The projects and nuget packages are setup to reference those license files, when you remove those files they fail to build.
image

MichaelSimons commented 1 year ago

I guess I mis-interpreted your earlier comments.

Those licenses are for the nuget packages that we produce, that ship additional files that are built in different repositories and have different licensing.

Can you clarify which additional files are being shipped from different repositories that have different licenses? If this is applicable for source-build, I would expect that those components would be part of source-build as well and have an OSS compatible license.

cc @leecow

nohwnd commented 1 year ago

License_NET is applied to both the packages you are trying ty build (.cli and .build), this is the most permissive license we have in this repository. There are some third party dlls shipped with those packages (as found in third party notices in the package), name ly mono.cecil and newtonsoft.json.

There are also additional dlls coming from microsoft that we ship with the package: NuGet.Frameworks Microsoft.CodeCoverage.IO.dll msdia140.dll

Are you also excluding some of those from the build to avoid having pre-builts?

MichaelSimons commented 1 year ago
  1. Newtsonsoft.json is MIT and built by source-build
  2. cecil is MIT and built by source-build
  3. NuGet.Frameworks is Apace-2.0 and built by source-build
  4. Microsoft.CodeCoverage.IO.dll is conditioned out in source-build - https://github.com/microsoft/vstest/blob/main/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.csproj#L72
  5. msdia140.dll - I don't see this included in the SB packages. SB doesn't target NetFX tfms which may explain the exclusion, IDK
nohwnd commented 1 year ago
  1. Maybe you remove the whole TestHostNetFramework folder somewhere? This is a "tools" package and even though it targets netcoreapp3.1, it carries additional executables to allow running .NET Framework tests on Windows (or under Mono on Linux).
MichaelSimons commented 1 year ago

@nohwnd - Can this be closed now?

omajid commented 1 year ago

For my own reference, it looks like this is the PR that fixed the licenses: https://github.com/microsoft/vstest/pull/4658