General Information - Kiln and Version Control Products



This article contains some general information regarding Kiln and version control products, which might answer some questions you may have.


Mercurial vs. Git

Mercurial and Git are both awesome distributed version control systems (DVCS). A given team might pick one or the other based on esoteric reasons, but they are very comparable, and the most important thing is that they are both so much better than using non-distributed tools like CVS or Subversion.

Our initial reason for choosing Mercurial was that it is a little friendlier to people coming from Subversion (which is what we used to use) because the commands are similar. However, that is not a knock against Git, it just made a bit more sense for us at the time, and we thought the same would be true for a good chunk of our customers, who also use Subversion.


Perforce is a solid, fast version control system for very large code bases, but it is not distributed so you do not get the benefits of distributed version control.

Benefits of Distributed Version Control

For decades, version control has promised that you could branch and merge. But anybody who has tried that with “classic” version control knows that the merge process is a nightmare full of needless merge conflicts. Distributed version control has branching and merging that actually works right, so you can work better as a team.

With classic version control, developers go for days or weeks without checking in their work because they do not want to “break the build,” so they are not getting any of the benefits of version control. With distributed version control you can check in to your own private repository as often as you want, and you can decide later to push your changes from your repository to a central repository once your code is stable.

GitHub and Kiln

You might be wondering if Kiln is competition for GitHub. The answer is no. We love GitHub. GitHub is a terrific social coding application for open source software; if you work on an open-source project and are not using GitHub, please check it out. Kiln is commercially supported and intended primarily for commercial and in-house software.


Mercurial and Kiln

You might be wondering why we charge for Kiln, despite Mercurial being GPL (General Public License). GPL allows software to be freely used, modified, and redistributed by anyone. Therefore, the Mercurial code is of course always available under the terms of the GPL2 license.

Kiln is really two things: commercial hosting and support for people who use Mercurial, and a separate code review tool that integrates well with Mercurial and FogBugz.

Mercurial is on its own a great free version control system. With Kiln customers get code review, an all-new web interface for managing their code and repositories, tight integration with FogBugz, and support from Fog Creek. If you do not need those advantages offered by Kiln, you should definitely use the open source version.