Far be it for us to tell Microsoft how to run its business. That said: Microsoft should get behind the Mono project and help nurture it. The goodwill with developers (both open-source and Microsoft-centric) will ultimately be good for Microsoft.
If there’s one thing Microsoft knows for certain, it’s that if you have the developers on your side, and a huge stockpile of applications to run on your platform, you win. It’s why Microsoft won the operating-system wars for the desktop and the server. It’s why Apple grabbed the big early lead in the mobile platform war with the iPhone. Developers, that’s where it’s at.
While Miguel de Icaza was running the Mono project out of Novell, Microsoft took a hands-off approach: It didn’t actively support the project, but it didn’t overtly try to kill it either. (Some speculate Microsoft’s purchase of Novell patents during the sale to Attachmate may have influenced Attachmate’s decision to fire the Mono team… but for now, that is merely speculation.)
Support of the Mono Project may seem counterintuitive for Microsoft; after all, isn’t every Linux server running .NET applications under Mono a lost sales opportunity for Windows Server? While that’s true, there’s more to Mono than merely a free platform for running the Common Language Runtime.
After all, every application written to run on a Mono implementation was written using Microsoft’s specifications for .NET and the CLR, including its language. That means developers aren’t using competing languages and frameworks.
For example, Mono also serves as a native development platform for iOS and Android applications. From a developer perspective, being able to use Visual Studio for .NET to create applications for all those devices is most compelling. Without Mono, there is no single native development platform for those operating systems.