Updates to Visual Studio Build Tools license for C and C++ Open-Source projects

Marian Luparu

Visual Studio Build Tools (VSBT) can now be used for compiling open-source C++ dependencies from source without requiring a Visual Studio license, even when you are working for an enterprise on a commercial or closed-source project.

This change expands user rights to the Build Tools and does not limit the existing Visual Studio Community license provisions around Open-Source development. If you already are a developer contributing to OSS projects, you can continue to use Visual Studio and Visual Studio Build Tools together for free, just like before.

New License Benefits

If you are an enterprise developer or developing any closed-source projects, this change now allows you to use Visual Studio Build Tools to compile and build any C++ 3rd party open-source dependencies, without needing a paid Visual Studio license, when you’re not using Visual Studio for active C++ development.

For example, if your Node.js application depends on npm native modules like sqllite3, bufferutil, etc., in order to successfully install these npm packages on Windows, you will need to use Visual Studio Build Tools. Previously, if the application you were developing was not OSS, installing VSBT was permitted only if you had a valid Visual Studio license (e.g., Visual Studio Community or higher). With this new license option, if you do not need the full functionality of Visual Studio for your active development of your project, you have the flexibility to install Visual Studio Build Tools for free.

As noted above, if you and your team need to compile and develop proprietary C++ code with Visual Studio, a Visual Studio license will still be required.

You can review the latest Visual Studio Build Tools license here: License Terms | Microsoft Diagnostic Build Tools for Visual Studio 2022 – Visual Studio (for full list of licenses check out the Visual Studio Licenses & EULA Directory)

Background

The C++ OSS ecosystem is a vibrant one and you need to look no further than the growing popularity of vcpkg, the multi-platform C++ dependency manager from Microsoft, to see how it is becoming a fundamental building block for an increasing number of projects. We are thrilled to see the adoption of many of these C++ open-source libraries in the Python or node.JS communities as well. We hope these licensing changes will allow for further adoption of these C++ libraries in enterprise environments, where building from source:

  • removes friction in securing the supply chain,
  • creates a smooth migration path to the latest MSVC versions,
  • presents opportunities for further runtime performance optimizations, and
  • potentially allows for more active OSS contributions to these libraries

What’s Next

We are actively working to further simplify the acquisition of the MSVC toolchain and all its dependencies, to make it as easy as possible to bootstrap a C++ environment on Windows for C++ developers as well as for other language communities that chose to depend on MSVC toolchain. Stay tuned for more news on our blog.

For questions or feedback on these licensing changes, please reach out to us via email at visualcpp@microsoft.com or on Twitter at @VisualC.

 

4 comments

Discussion is closed. Login to edit/delete existing comments.

  • Marat Radchenko 0

    Could please be more specific when linking to Build Tools EULA text? What you currently link is a page with LOTS of different licenses and it is not clear which one you’re referring to.

    If you’re talking about https://visualstudio.microsoft.com/license-terms/mt644918/, then it doesn’t say anything about open source code.

    • Marat Radchenko 0

      Also: I don’t understand your Node.js example. Why can’t user just install VS Build Tools under VS Community license for that? Even if the final app will be proprietaly?

      • Marian LuparuMicrosoft employee 0

        If they are eligible for the Community license, they definitely can. Some enterprises are not though and only have the option of Pro or Enterprise. Hope this makes sense. Let me know if you have more questions
        — Marian

Feedback usabilla icon