5

Although the source code of the most .NET Core components is licensed under a MIT License, the binary files of the .NET Core runtime and other supporting libraries on NuGet are released under a more restrictive license.

iii. Distribution Restrictions. You may not

  • alter any copyright, trademark or patent notice in the Distributable Code;

  • use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;

  • include Distributable Code in malicious, deceptive or unlawful programs; or

  • modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that

    • the code be disclosed or distributed in source code form; or

    • others have the right to modify it.

According to the above text from that license, it seems that GPL is an Excluded License.

So I can't distribute a .NET Core project under GPL, or I've misunderstood something?

  • 1
    Typically one doesn't distribute runtimes. You let your users grab it from official sources themselves. – RubberDuck Feb 20 '17 at 19:50
  • @RubberDuck But do the runtimes subject to GPL? I've read about System Library definition in GPL, but still not sure if .NET Core runtimes are System Libraries. – DDoSolitary Feb 20 '17 at 23:48
  • Your project is not subject to the licensing restrictions of the runtime. They are two separate things. – RubberDuck Feb 21 '17 at 0:42
  • @RubberDuck You're right. I read the definition of System Library again. The .NET Core runtime is a System Library since its packaged along with the compiler, so it is not restricted by the GPL I used in my project. – DDoSolitary Feb 21 '17 at 1:35
  • 1
    @RubberDuck I've understood. Thank you for your comments. Would you like to post this as an answer so that I can accept it? – DDoSolitary Feb 21 '17 at 2:34
5

You have understood things correctly: the GPL and copyleft licenses are explicitly targeted here without naming them. So you cannot redistribute things in a way that would make Microsoft software subject to a copyleft.

Since these are system libraries, you would likely not redistribute them and should not.

But if you are saying that this license is for pre-built binaries and that the sources are MIT-licensed, then use the sources, do not reuse the binaries and be happy. The MIT is considered as compatible with the A/L/GPL licenses. And you could released binaries built from these sources combined with your copyleft-licensed code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.