What you say is true, and I think it's very sad. This is how MS will control us for another decade or two. When .NET has enough weight, MS will make Mono's life difficult. All those *nix server that where running Java will be in the end swapped for Windows servers running .NET. In our company *nix boxes have been replace with Windows boxes to run .NET because Mono doesn't quite do the job. That is right now and this is only going to get worse. I'll be damned if I'm going to help this, so I fight in what little way I can. But it's not just the politics, C# is replacing C++ for desktop apps, least internally at my company, and the results are quite a bit slower and hungrier. This has caused an increase in user dissatisfaction, at very least from users able to use task manager. Though to be fair, other measure of user satisfaction may have gone up, for reasons the C++ app was replaced (though those reasons where nothing to do with language!). It might be a pointless fight, but while I can, I will fight and hope others see the clouds ahead and join, or I'm wrong.