📜 ⬆️ ⬇️

Pitfalls of the "free" Microsoft .NET license

Two months ago, Microsoft proudly announced the publication of the CoreCLR source code, the .NET Core runtime, which is a modular implementation of .NET.

CoreCLR sources are published on Github under the MIT license and with a separate patent promise .

This is great news, which can only be welcomed, if not for one “but” - the sad past of Microsoft, which contains many facts of aggressive use of software patents against free software.
')
Therefore, it would be nice to understand the details.

This analysis was conducted by experts from the Legal Institute of Free and Open Software ( IfrOSS ). It turned out that not everything is so simple.

The first problem is that the terms of the patent promise apply only to code belonging to "the .NET runtime environment or an application designed to work in the .NET environment." Thus, if you take this code for an application under Python, Ruby or Java or in a project that is not running in .NET, then Microsoft does not promise anything.

In addition, a patent promise is valid only for “compatible implementations” with “all necessary parts of the mandatory provisions of the Standard”. This is a problem for open source projects that have not yet reached full compatibility, because they are forbidden to publish unfinished code.

According to lawyers, in this case there is absolutely no need to publish a patent promise. It is unclear why it is needed, if a free MIT license and so gives permission to copy, modify and do anything with the code, without even mentioning copyright.

The authors of the audit also pay attention to certain risks, which are incurred by the mandatory signing of the license agreement. NET Contributor in case of insertion of your code into the project.

And the terms of the "promise" also do not provide complete protection against lawsuits, because Microsoft does not guarantee such protection, but only promises not to judge the developers for the use of these patents (" But if patents become the property of another company - who knows? You never know what will happen in the future. It is interesting here that Microsoft itself does not accept such "personal promises", so when you enter third-party code into the project, it requires a full-fledged license, and not a personal promise.

Among other things, the “promise” in this form (it can be paraphrased as “We will not judge you while you use this code in .NET projects”) conflicts with the definition of Open Source Definition , namely, with sections 3 and 10 .

Therefore, Microsoft's press releases , which repeatedly mention “the publication of Open Source programs” are not true, according to IfrOSS lawyers.

So, we can conclude that the Microsoft licensing terms are inconsistent. The company as if cannot decide whether to judge other developers for using their code or not. It seems like they decided not to judge, but left such an opportunity just in case.

Source: https://habr.com/ru/post/357612/


All Articles