WSO2's API Vision: Unifying Control, Empowering Developers
5 source control systems for distributed development teams
1. 5 Source Control Systems for Distributed Development Teams
By Justin James
Version control can be a big issue for developers working from various locations, but a good
distributed control system can keep the project on track.
If you have developers offsite or otherwise working in a disconnected manner, version control can
be a challenge. Traditional centralized version control systems like Team Foundation Server and
Subversion use a central server to be a “single point of contact” and maintain a canonical version
of files, which is a tough paradigm for distributed teams to work with. Thankfully, a new breed of
version control systems, called distributed version control systems, do away with the need for a
central repository (though you can make one if you want). These version control systems make
life easy for disconnected teams to work. Here are five that work well for teams spread across time
zones and geographical areas.
1: Git
Git is one of the most popular distributed version control systems. Originally written by Linus
Torvalds (and distributed under the GPL) to serve as the repository for Linux kernel development,
it has gained widespread adoption among groups of individuals working together. For teams that
do not want to handle their own server, Git is available from a number of providers, the most well-
known of which is GitHub.
2: Mercurial
Mercurial is another excellent distributed version control system. I personally like it a lot,
especially used in conjunction with the TortoiseHg plugin for Windows and the VisualHG plugin
for Visual Studio, which makes Mercurial as “built-in” smooth as Team Foundation Server. Like
Git, Mercurial is open source, and it has a number of commercial hosts like Bitbucket. Also of
interest is Fog Creek’s FogBugz project, which adds bug tracking to Mercurial, and its Kiln
application, which puts a ton of project management and team tools on top.
3: CodePlex
CodePlex is a source code hosting site run by Microsoft. While it is not a separate version control
system by itself (you can choose between Team Foundation Server and Mercurial hosting), it is set
up to allow full project management. CodePlex can be used directly from Visual Studio, which
makes it a good choice for .NET developers.
4: Bazaar
Maintained by Canonical (the makers of Ubuntu Linux), Bazaar is one of the older distributed
2. version control systems, debuting right around the same time as Git. It too is open source and free,
and can be used in a hosted offering (including SourceForge). Something that sets Bazaar apart is
its ability to work well with other version control systems, even non-distributed ones like SVN,
which makes it a good choice for remote workers on a project that’s using a centralized version
control system.
5: BitKeeper
BitKeeper is the granddaddy of distributed version control systems. There was a good bit of
controversy around its licensing (it is not open source) and the use of it in the Linux Kernel
project. As a result, Linus Torvalds took a lot of the ideas he liked in BitKeeper and wrote Git.
BitKeeper does not have any hosted versions that I can find, and it is proprietary software
requiring a paid license for commercial use.
Recommend Office .NET/Silverlight Component:
Spire.XLS for .NET and Silverlight
Spire.Office for .NET and Silverlight
Spire.Doc for .NET and Silverlight
Spire.PDF for .NET
Spire.DataExport for .NET