I have a team developing software in MS Visual Studio and now they want to start using MS Team Foundation Server, mainly for versioning and maybe patch and bug tracking. They don't have any experience with MS Team Foundation Server, but they are very enthusiastic with MS products. So whats the best free open source alternative solution? Git, SVN, CVS, Bugzilla, plugins, etc.
views:
293answers:
6There's no single open source alternative to TFS. TFS does source code management and versionning, build server and continuous integration, workitems, project management, sharepoint portal, ... and a good Visual Studio integration.
There isn't a direct alternative, but I'd rather use the following:
Subversion (TortoiseSVN), CruiseControl, and something like Bugzilla.
Martin Fowler has recently done a good article on source control, and svn comes out ahead of TFS.
Martin Fowler survey results: http://martinfowler.com/bliki/VcsSurvey.html
Not a good showing for TFS - many users regard it as 'dangerous'. I use TFS because I have to at my current place of work. Prior to this I used SVN + Tortoise + Gemini and had no real complaints.
imho TFS is well integrated with VS but it is somewhat monolithic and occasionally recalcitrant. After all, 'Source Control' = Source + Control...
Lots of coders I know who are not in thrall to the evil M$ empire speak very highly of Git too.
Here's a vote for Mercurial (Hg), along with Bugzilla. If you are primarily a Microsoft shop then Mercurial has a much better UI (TortoiseHg), which we use with WinMerge to show visual diffs. We don't find Visual Studio integration to be a big factor in practice, and it's great to be able to operate source control on whole folder trees regardless of the VS solutions and projects contained within them.
Also, if you are planning on a new VCS now, you may as well keep up-to-date and use a DVCS, like Mercurial or git. No one I know who has switched to a DVCS would ever willingly go back to a non-DVCS like TFS or svn. Once you get used to local check-ins you'll agree!
If you want to consider a hosted solution, you can try GitHub or BitBucket. If you're using Visual Studio, I'd recommend BitBucket that uses Mercurial as the version control system. There's already a Visual Studio extension for Mercurial called VisualHg, or if you prefer Tortoise-style, you can use TortoiseHg.
GitHub/BitBucket will give you source controk, issue tracking, and project management.
For the build server, you can try CruiseControl or TeamCity (free but not open source).
Although it is not free but extremely cheap try VisualSVN, it integrates really well within Visual studio but uses SVN as backend