I have an ongoing bet with a few friends on when and who will buy Xamarin. In April my bet was 18 months they would be bought by Microsoft or Amazon. I still lean Amazon.
I hold out hope that the next Microsoft CEO won't be as blind as Ballmer was and that the first thing on his hit list will be to buy Xamarin or at least "secure" it to prevent anyone else buying it; a suitably large investment could do that.
Xamarin would provide the perfect solution to getting a major foothold on mobile app developers, which is what Microsoft so desperately needs for their Windows Phone aspirations. Once you have developer mindshare, you have cracked half the problem.
Microsoft should buy Xamarin, but they'll also need to open-source all of .NET. That would improve Mono on non-Windows platforms. That would be the best thing they can do to really get a foothold in the mobile space and also win back some part of the startup community.
P/Invoke and stuff like that is unopensourcable. The run time is way too deeply embedded in COM and the registry for its own good.
This move could have outright killed java in 2006 when the .NET 2.0 was way ahead of java in everything. Right now - I am not so sure it will be such a big thing.
(Disclaimer - haven't touched serious project in 4-5 years in .NET but I loved C# and the libraries)
Funny, but P/Invoke seems to work great on Linux with Mono... it's probably the single biggest reason I started out with it, as JNI by comparison is an ugly beast.
I love a lot of what C# and .Net have to offer, even though half of my server-side dev time is in node.js for the past couple years, I still like a lot of .Net ... It will be really interesting to see where things go in the next couple of years. I think unchaining VS and Office from Windows would be the best move MS could make right now. Web Matrix (with an extension) is imho second best dev environment for node.js out there, and that they haven't integrated this into VS really surprises me.
MS put a lot of effort into libuv, so not sure why they wouldn't get the runtime system that uses it up to speed better.
The BCL in .Net are second to none in terms of breadth and comprehensiveness. I feel that if MS really opened up most of .Net in MS-PL or something similar, it could really gain ground outside of windows... Again, this would mean getting VS and Office away from the windows anchor.
Unfortunately, the .Net Framework source is available under a 'reference license'.. You are allowed to look at the source, but not modify or redistribute it. Mono specifically has to be very careful about these problems, so if you have ever looked at Microsoft's 'shared source' code you are not eligible to contribute to Mono.
I think that keeping Xamarin out of MS's hands is actually better for the ecosystem. It is very healthy that there are multiple independent but compatible implementations of the CLR and other tools so that everything is not tied to Microsoft.
> In summer of 1997, he [Miguel de Icaza] was interviewed by Microsoft for a job in the Internet Explorer Unix team (to work on a SPARC port), but lacked the university degree required to obtain a work H-1B visa. He declared in an interview that he tried to persuade his interviewers to free the IE code even before Netscape did so with their own browser.