Rust Licensing for Windows Closed Source App

My small nano-business was sued by Microsoft one year after it was established, likely due to a bulk lawsuit farming strategy from an outsourced lawyer.

We’ve already sold a new app, which is closed-source and developed for Windows, and we’re currently deciding on the programming language, preferably moving away from Java.

Here’s what I know:

  • We are tied to the Microsoft Visual Studio Community (for the Microsoft Compiler) under Business and Enterprise licensing conditions. In our case, it seems we fall under the Business category if we use and deploy over five devices.
  • The GNU ABI has far less compatibility for Windows crates.
  • Microsoft can change its licensing terms, as Oracle did, which we are currently compliant with.
  • Rust’s Apache 2.0 | MIT License, and crates’ licenses seem acceptable so far.

So, is there any real way to untie us from the Visual Studio licensing scheme and avoid being subject to legal interpretation if we deploy over five devices?

We are really eager to start using Rust as soon as possible, but these legal issues are holding us back significantly, especially since we didn’t anticipate that Rust might involve such licensing schemes.

Not sure where this comes from? Rust crates are mostly ABI-agnostic, the only difference is whether some non-Rust library is available for that toolchain.

2 Likes

Bear in mind, Apache 2.0 / MIT License is not a requirement for crates. You will have to audit your dependency tree.

Using a different linker (and possibly C compiler) comes to mind. The GNU toolchain is supported for Windows development.

3 Likes

The llvm target is making progress too: *-pc-windows-gnullvm - The rustc book

When that's more available, the practical benefit is more likely to be that it uses the more modern UCRT rather than msvcrt, which iirc has some better localization behavior, performance, etc.

1 Like

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.