Msbuild: Why does msbuild say that it is proprietary software when I run it, despite the LICENSE file in this repository?

Created on 2 Jan 2020  路  7Comments  路  Source: dotnet/msbuild

I am currently considering learning C# due to some intriguing features, but it is very important to me to use only FOSS software as much as possible. As such, if C# isn't (yet) fully FOSS I will stick with fully FOSS systems, such as C++ on a FOSS toolchain. Many C# developers have told me that C# is now fully FOSS, but when I run the compilation script of a FOSS C# project on Debian Linux using the .NET SDK from the official aptitude repositories, I get the following concerning message:

Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

I asked about this on the C# Discord and someone told me that this is the correct GitHub project to ask about this on. Is C# fully FOSS (yet), or are there still proprietary components? In any case, it would be better to clarify next to this message, even if just to a link that fully explains the situation.

Version:

$ dotnet --version
3.1.100

Most helpful comment

We can remove the copyright line. /cc @rainersigwald

All 7 comments

It's important that you identify the different components you're asking about:

  • C# the language specification
  • the csc.exe compiler
  • the MSBuild toolchain
  • the .NET Core CLI toolchain

etc. etc.

The code in this repo is MIT licensed. The binaries that are built and distributed by microsoft sometimes carry a different license though I do not know if that is the case here. @terrajobst

It's important that you identify the different components you're asking about:

* C# the language specification

* the `csc.exe` compiler

* the MSBuild toolchain

* the .NET Core CLI toolchain

etc. etc.

Because I don't generally spend time and resources learning a new technology unless it is fully FOSS, I don't know enough about C# to be able to ask more precise questions than I did in the initial issue post. A good page that completely explains every the general purpose and usage in practice of every tool, document (e.g. specification), etc. and what license it is under would be very useful to allow me to determine if C# is worth learning.

The code in this repo is MIT licensed. The binaries that are built and distributed by microsoft sometimes carry a different license though I do not know if that is the case here. @terrajobst

Does this mean that I need to build everything myself from Github instead of using Linux package managers to have access to FOSS binaries? Is there some alternative (perhaps 3rd party) Linux repository set (for a variety of distributions) with FOSS binaries? Adoptopenjdk's repositories are an example of this sort of thing for C#'s primary competitor, Java, showing that it is a reasonable thing to have.

The Arch packages are fully built from source FYI, they don't use Microsoft's binaries. They rely on https://github.com/dotnet/source-build to build.

We can remove the copyright line. /cc @rainersigwald

@richlander Does this mean that the binaries that Microsoft publishes are FOSS, or is there a situation like this? Some clarification would be very useful.

The code in this repo is MIT licensed. The binaries that are built and distributed by microsoft sometimes carry a different license though I do not know if that is the case here. @terrajobst
source of quote: https://github.com/dotnet/msbuild/issues/5024#issuecomment-570281778

Was this page helpful?
0 / 5 - 0 ratings