Если Open Source является сильным ограничением, убедитесь, что вам нужно перейти на Java EE или RoR (Mono слишком молод). Но вы должны учитывать, что совокупная стоимость владения вашего проекта будет увеличена более высокой ценой консультантов по Java EE.
Я не очень хорошо знаю RoR, но у вас могут возникнуть проблемы с поиском консультантов на профессиональном уровне.
DOT.NET проще в использовании и разработке, и вы можете найти множество разработчиков, не так уж и дорого. Конечно, вы должны платить за ОС и платформы как SQL Server и так далее, но вы сказали нам TCO, поэтому вы должны учитывать все расходы ...
Особенно Java EE имеет много консультантов в корпоративной среде, поэтому стоимость выше, чем .NET. ИМХО :-) И вы должны учитывать, что инструменты Java EE не так совершенны, как .NET Tools. Java EE люди хотят продавать вам консалтинг, а не ОС; -)
Могу ли я посоветовать вам 4-й выбор? PHP: у него много консультантов, он с открытым исходным кодом, и вы можете найти парней разработчиков или профессиональных разработчиков. Он не такой элегантный или привлекательный, как Java, .NET и RoR, но многие PHP-приложения разработаны на PHP: отличный пример для Facebook! Joomla, Wordpress.
С PHP вы найдете все, что вы хотите в качестве консультантов и платформ.
Конечно, я предполагаю, что вы хотите разработать веб-приложение, потому что в случае толстого я советую вам только .NET!
ИМХО