Why hasn't MSFT hired this entire team yet? They want the .Net platform to be pushed as far out as possible and Mono is a great way to do that. Plus it'll give MSFT +1 Open Source.
> Why hasn't MSFT hired this entire team yet? They want the .Net platform to be pushed as far out as possible and Mono is a great way to do that.
No, Microsoft wants to make money off of its main products - Windows, Office, Server, etc. .NET is only a means to that goal.
Microsoft has an even better way to push .NET to other platforms - port .NET, the official runtime, to other platforms. This would be easy, and would actually ensure similar behavior on all platforms (unlike the current situation). However, this would eat into revenue from Microsoft's server OS and stack. So it will not happen.
Of course there are other factors here, and Microsoft did compromise by striking a patent deal with Novell, officially sanctioning Mono. But the other elements in that deal (Linux, office software, etc.) were very important too; it isn't clear if Microsoft would have made that deal just for .NET alone.
Bottom line, Microsoft has basically nothing to gain, and something to lose, for helping Mono. Mono is already where Microsoft wants - allow some level of .NET outside of the Microsoft ecosystem, but with various performance and other limitations that make it a good idea for people invested in .NET code to purchase Microsoft's other software to run it on. Mono has been weakened, but not killed, by the layoff from Novell, which has worked in Microsoft's favor.
Microsoft is not stupid. If it were in its interest, it would have hired this team a long time ago. That it has not is evidence that it is not in its interest.
It would be hard for one company to develop a proprietary and a open source runtime.
The big company that should really look at Mono is Nokia... Mono will likely be better than Qt in providing a portable runtime for mobile applications. Qt and Mono would go great together on the Desktop too(the current bindings kind of suck). I actually don't see how Windows Phone ever takes off unless 1) They start allowing native code on their phones 2) Mono becomes extremely popular as a cross phone runtime.
Another company I wish that would take a look at mono is VMWare(who bought out Spring)...
In my opinion, Mono is simply a distraction for the open source community. It takes people away from Java or Scala, for example, and has them running in the weeds with Mono.
Microsoft did a great job with C# and they've certainly moved much faster than the Java community. However, the Mono project won't get much enterprise support without a bigger company behind it, and I don't see how it's going to catch the JVM in performance without that support.
In short, if you're not writing Windows GUI apps, you might as well use Java, or give Scala as shot.
I used Mono for a couple of things that required only a linux daemon. .NET is much better at interoperating with native code, from the sourcecode point of view. It's also got a much better language (C#). It was definitely a good choice when scala was still young. Nowadays... pretty much depends on what you're used to.