As of 2018, this site is mostly irrelevant

Written at: 31-December-2017
Updated at: 04-December-2020

TL;DR

  1. Unless you have a good reason to choose otherwise, you should use Git as a version control system. Git, while not perfect, is acceptable and usable, and established itself as the de-facto standard.

  2. If your requirements are particularly heavy, then you may wish to look at Subversion or Perforce. This is because keeping the size of the history on every working copy may be prohibitive, and because git, while having shallow clones, does not have a resumable "git clone" operation. One can still use git-svn or similar.

  3. VCSes that also provide distributed bug trackers and other integrated services, such as Fossil and Veracity, provide an interesting approach to watch in the future.

  4. Due to Git's dominance and other factors, the contents of this site are of mostly historical relevance and a limited one at that.

Braindump

  1. I might as well admit by now that the main motivation for setting up this site was my unhappiness from one of BitKeeper’s licence changes, which made it unavailable to me.

  2. BitKeeper was aimed to be used by FOSS projects, as an alternative to the limited CVS, while not being FOSS itself. After a series of licence changes, and adoption by the Linux kernel project and some other projects, its gratis version was terminated. This lead to the initiation of several FOSS alternatives, including Git, which established itself as the de-facto standard. This in turn, drove BitKeeper into obscurity (not that it was ever too high profile).

    Many years after that, BitKeeper was made open source, which may be too little, too late. All of this left a bad taste in the mouth that could have been prevented if BitKeeper had been made FOSS to start with.

  3. While I have adopted git and formerly mercurial as part of my work-flow and am happy using distributed VCSes, I still miss the simplicity and transparency of the client/server model of Subversion. Distributed VCSes, while in general an improvement, often throw me off leaving me to need to consult a web search, the #git chat-room on freenode (you guys rock!), or other resources, and I do not feel that I understand their underlying model.

    At a previous workplace, I was the resident git "guru" that (usually successfully) handled people's troubles and I do not think of myself as a git expert. Someone on freenode told me that has been the case for him as well. This xkcd comics about git is spot on.

  4. In theory, I should now be happy, because:

    1. Subversion, which I contributed a little to and used for several years, has matured and saw several 1.x releases with enhancements.

    2. There are now some usable open source distributed VCS alternatives.

    3. There are some software "forges" (or software development hubs) that can be used at no cost by developers.

    4. BitKeeper was made open source, in case anyone needs or wants to use it.

    But like the Chinese curse goes: May all your wishes be granted. Something is still bothering me.

Share/Bookmark