Warning this article may contain opinions of the author that you and iTWire don't necessarily agree with. Don't let them get away with it - have your say with a comment!

No. 1 Story

HP job cuts loom for Australian employees

A number of Australian employees of Hewlett-Packard are facing the loss of their jobs as the global computer giant looks to slash its worldwide workforce by up to 30,000.

read more

No FOSS please, we're Microsoft: checking out the .NET source code license

Opinion and Analysis

The second restriction to note is that only people writing code for Windows platforms may read the code. So, if you are using Visual Studio to produce a Windows app and you want to delve into how a library class works you are free to do so and welcome to do so.

However, if you are writing a program for a Linux or MacOS or other platform and you want to know, say, how Microsoft implemented the quicksort algorithm you are not permitted to do so. You will be contravening the license if you even peep it at with your filthy non-Windows app in mind.

Let’s be fair-minded and reasonable people. Microsoft invested a lot of work in .NET and it represents a lot of intellectual property. And, after all, they’re a commercial company. It makes sense they want to support people writing code for their target platform – but what I don’t understand is why Microsoft haven’t themselves released a .NET framework for Linux. Imagine the irony if the best known programming language for Linux ended up being C# by Microsoft?

It’s not as if it is technically impossible; the Mono project mentioned above have been working hard to produce their own portable .NET framework for other environments, and this has been working with success. One example is CRM software vendor, SplendidCRM, who provide a .NET application and pleasantly discovered that their executables ran fine on Linux with Mono without modification; this then gave both the vendor and its customers greater flexibility in platform.

In the absence of a Microsoft-supplied Linux .NET framework Mono fits the bill. Obviously, it lags behind because the Mono team have no special insight and must work hard to constantly play catch-up with Microsoft. What would be terrific is if the Mono team were freed from having to write their own library as well as all the other bits and pieces – like the important runtime and compilers – because they could re-use the official library source code.

Well, it would have been terrific. But it’s not permissible. The license explicitly forbids the source code being used by people who are developing non-Windows apps. This includes Mono, and it is such a shame.

Let’s not be wrong: what Microsoft have done is a good thing for developers. And, given the Java and Delphi precedent it’s even overdue. Yet, there’s no way the license surrounding the release can be labelled a free or open source license and it is very disappointing that those seeking to make .NET more universal are not being helped in their efforts.