Mono is not a Microsoft product, it's an open source project primarily funded by Novell. The most useful parts of Mono (C# and the spec for the runtime) are ECMA standards which Microsoft officially has no control over; .NET is simply an implementation of said standards (even though Microsoft did invent the thing).
It's the same ordeal with JavaScript (Netscape's and now Mozilla's original implementation) and JScript (Microsoft's implementation). Both are implementations of an ECMA standard called ECMAScript.
The parts that are in the actual danger zone are the implementation of the non-ECMA parts of .NET (Windows-specific APIs like Windows Forms). Mono is basically in the same legal grey area as WINE here: it's an OSS implementation of a closed source, patented Microsoft API. The thing is, though, that those Windows-specific APIs are not used by Linux developers, but rather by Windows developers who want to easily port their applications to Linux. Removing these APIs from Mono would be no serious blow to adoption in the Linux world, it would just be a blow to attracting Windows developers.
Bookmarks