Результаты опроса Мартина Фаулера: http://martinfowler.com/bliki/VcsSurvey.html
Плохой показатель для TFS - многие пользователи считают его «опасным». Я использую TFS, потому что это необходимо на моем текущем месте работы. До этого я использовал SVN + Tortoise + Gemini и особых претензий не было.
imho TFS хорошо интегрирована с VS, но в некоторой степени монолитна и иногда непоследовательна. В конце концов, «Source Control» = Source + Control ...
Многие программисты, которых я знаю, которые не находятся в рабстве у злой империи M $, тоже очень хорошо отзываются о Git.
Прямой альтернативы нет, но я бы предпочел использовать следующее:
Subversion (TortoiseSVN), CruiseControl, и что-то вроде Bugzilla.
Мартин Фаулер недавно написал хорошую статью об управлении исходными текстами, и в ней svn опережает TFS.
Нет единой альтернативы TFS с открытым исходным кодом. TFS выполняет управление исходным кодом и версией, сервер сборки и непрерывную интеграцию, рабочие элементы, управление проектами, портал sharepoint ... и хорошую интеграцию с Visual Studio.
Я голосую за Mercurial (Hg), наряду с Bugzilla. Если вы в основном работаете с Microsoft, то Mercurial имеет гораздо лучший пользовательский интерфейс (TortoiseHg), который мы используем вместе с WinMerge для визуального отображения различий. Мы не считаем интеграцию с Visual Studio важным фактором на практике, и это здорово - иметь возможность управлять исходным кодом для целых деревьев папок, независимо от решений VS и проектов, содержащихся в них.
Кроме того, если вы планируете новый VCS сейчас, вы можете не останавливаться на достигнутом и использовать DVCS, например Mercurial или git. Никто из моих знакомых, кто перешел на DVCS, никогда не захочет вернуться к не-DVCS, таким как TFS или svn. Как только вы привыкнете к локальным чек-инам, вы согласитесь!
Если вы хотите рассмотреть возможность размещения на сервере, вы можете попробовать GitHub или BitBucket. Если вы используете Visual Studio, я бы порекомендовал BitBucket, который использует Mercurial в качестве системы контроля версий. Для Mercurial уже существует расширение Visual Studio под названием VisualHg, или, если вы предпочитаете стиль Tortoise, вы можете использовать TortoiseHg.
GitHub / BitBucket предоставит вам контроль исходного кода, отслеживание проблем и управление проектами.
В качестве сервера сборки вы можете попробовать CruiseControl или TeamCity (бесплатно, но не с открытым исходным кодом).
Хотя это не бесплатная, но очень дешевая версия VisualSVN, она очень хорошо интегрируется в Visual Studio, но использует SVN в качестве серверной части