Linked by Thom Holwerda on Mon 6th Oct 2008 10:37 UTC, submitted by John Mills
Mono Project The Mono project has released Mono 2.0. As most of you will know, Mono is an open-source implementation of Microsoft's .NET framework for Linux, Mac OS X, Windows, and other operating systems. The 2.0 release comes packed with new features, the main ones being the compiler upgrade to C# 3.0 with support for LINQ, as well as the inclusion of ADO.NET 2.0, ASP.NET 2.0 and System.Windows.Forms 2.0. The release notes detail all the changes and new features.
Permalink for comment 332956
To read all comments associated with this story, please click here.
RE[6]: Amazing
by lemur2 on Wed 8th Oct 2008 22:48 UTC in reply to "RE[5]: Amazing"
Member since:

"ASP.NET, ADO.NET and Windows Presentation Foundation are protected (I believe) by patents. If so, it doesn't matter one whit if Mono contributors have never read BCL or ROTOR source, or that they wrote all three implementations years before ms released their source. They would still be in violation of Microsoft IP if they do not have a license from Microsoft to use the protected IP.
Reverse engineering is a specific exception to this. If it weren't for that, smb and ms office format compatibility would have been illegal until they were opened/licensed, and wine would still be illegal. It is definitely a sort of grey area though, and one that could go to court. "

Sorry. Very nice try, but no. It is OK to reverse engineer a trade secret, but not a patent.

Copyrights protect the expression of something (so you can't copy source code directly, you have to write your own). OK, copyrights aren't the problem, because Mono source code, and Samba and Wine etc aren't a copy of Microsoft's source code.

Patents protect the idea (or the invention, if you will), and not just the expression of an idea. Samba is a free-software implementation of the SMB protocol (IBM's invention) for delivering client/server functionality over a LAN (Novell's invention, in Netware). The only form of IP that Microsoft has that Samba could possibly violate then is a trade secret. Reverse engineering is a perfectly legal way to try to uncover a trade secret. So Samba is fine, that is all fairly clear cut.

Wine is a bit more problematic. Wine is a free-software implementation of a translation between Windows win32 API and the Linux API that covers the same purpose. Therefore Wine does not actually do the same thing as the win 32 API. The Linux API clearly is not a copy of the win32 API. In any event, since any OS has to provide an API for programs to run, since that is a basic function of an OS in the first place, there is a strong argument that the win32 API is not a new invention, and Microsoft can hold no valid patents in it anyway. I haven't decided about Wine, but I think it too might be OK.

.NET is a problem. Microsoft has a fairly strong case to claim that .NET is a Microsoft invention, and therefore any patents that Microsoft holds covering .NET are valid.

I could argue that .NET is just a different-looking implementation of the same functionality as Java, and that therefore Java is the real original invention and not .NET ... but that is a point that would have to be argued in court.

If you want to implement .NET you are legally far better off (i.e safer) to get permission (that is, get a license) from Microsoft to implement it. I believe that Novell probably does have such a license from Microsoft to implement it, and therefore Novell is perfectly fine to write Mono.

The crunch comes ... who can legally use Mono? Implementation of the .NET "invention" requires a license from Microsoft, but so to does use of that "invention". (This pre-supposes that Java is not prior art for .NET, and that Microsoft's patents are valid, but bear with me, because Microsoft legal certainly believe that is so). Certainly purchasers of Novell SLED can use Mono, because they too have a license to use it paid for as part of their purchase of SLED.

Anyone else? I don't think so. Anyone else (other than Novell's programmers, and Novell's SLED customers) would be included in Mr Ballmers group of "Linux users with an undisclosed liability to Microsoft" I believe if they use (or try to modify the source code of) Mono.

The thing is that the worst thing that could happen to mono is forcing them to stop distributing ASP/ADO/Winforms. That is a pain, but its not something that would in any way effect linux mono apps, since its only the high level stuff that gets questionable. The low level stuff (CLR/C#) is under an open specification, and the linux mono APIs (like GTK#) are completely patent free. The mono team understands the issues, and from day one has been real careful to keep the dangerous stuff seperate from the safe stuff. I would agree that nobody should base their business on the mono implementations of the .net stack (just like I would caution anyone to base their business on wine), but mono is a great platform that integrates very well into existing linux APIs.

Mono is not a great platform at all for Linux if, years hence, when a number of mission-critical Linux enterprise applications have been written in C# and using Winforms, ADO.NET and/or ASP.NET, and Microsoft decides to sue.

If I were Microsoft, that actually would be the anti-Linux plan. Get some patent hooks into Linux, get some mission critical stuff using the patents, wait until businesses depend on it ... then collect license fees for it.

Hence ... far better to use Java. It achieves the same end, performs better, and is unencumbered.

Ditch Mono now ... before it becomes a potential problem.

Edited 2008-10-08 23:03 UTC

Reply Parent Score: 1