Skip to content

MSVC setup flow seems to encourage breaching the build tools license? #11646

@dead-claudia

Description

@dead-claudia

Link: https://code.visualstudio.com/docs/cpp/config-msvc

Important: consult with your internal legal team on this.

Per https://visualstudio.microsoft.com/license-terms/vs2022-ga-diagnosticbuildtools/

  1. INSTALLATION AND USE RIGHTS.
    a. You may install and use any number of copies of the software to use solely with Visual Studio Community, Visual Studio Professional, and Visual Studio Enterprise (collectively, “Visual Studio Products”), to develop and test your applications; and
    b. Build Tools additional use right. Regardless of whether you have a Visual Studio license as described above, you may install and use copies of the software to compile and build C++ components that both have been released by their owner under an open-source software license approved by the Open Source Initiative and are reasonably required to build your applications (“Open Source Dependencies”).
    i. You may not use the software pursuant to subsection (b) to develop and test the Open Source Dependencies, except, and only to the extent, minor modifications are necessary so that the Open Source Dependencies can be compiled and built with the software.

The program being developed in the guide is very much not assembling a subcomponent or dependency, and VS Code is not in the list of products as defined in 1.a.

You should contact your legal team to get this sorted out and clarified as soon as possible. It's even raised some alarms in https://law.stackexchange.com/questions/49477/microsoft-c-build-tools-2019-not-allowed-for-use-with-visual-studio-code for the apparent legal contradiction. (This issue has existed since at least the 2019 version.)

I believe the intent is the following, based on what I see elsewhere in various Microsoft sites:

  1. The phrase "use solely with" is very broad, encompassing not just direct use, but also coexistence with.
  2. The "Open Source Dependencies" section was intended to allow general Windows-targeted open source library developer use without a developer license.

Both of these are considerable stretches. The first's phrasing is very non-standard, so much it's almost nonsensical. The second's section clarifies "and are reasonably required to build your applications", so it's plainly insufficient for authorizing pure library development outside the immediate scope of an end application.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions