Ramblings of General Geekery

Sourcehut Welcomes Bitbucket Refugees

Earlier this week, Bitbucket announced its plan for killing Mercurial
by next year.

This doesn’t come as a shock to anybody who has been a Bitbucket/Mercurial user,
since Atlassian’s investment in Mercurial had been declining for the past few
years. So I think their reasons for taking this decision are a bit ironic in
addition to being shortsighted:

Building quality features requires intense focus, and supporting two version
control systems means splitting focus – doubling shipping time and technical
overhead. With Git being the more popularly used tool, Mercurial runs the risk
of overlooked issues as we scale.

According to a Stack Overflow Developer Survey, almost 90% of developers use
Git, while Mercurial is the least popular version control system with only
about 3% developer adoption. In fact, Mercurial usage on Bitbucket is steadily
declining, and the percentage of new Bitbucket users choosing Mercurial has
fallen to less than 1%.

My humble opinion is that:

  • 90% of developers answering the Stack Overflow survey is not 90% of

  • Building a project lifecycle management solution that is completely tied to
    a particular VCS (Git) means you totally ignore a whole demographic of
    developers. Git fans often consider people not using Git as “misguided” or
    “stuck in the old days”, but there are good reasons for using a variety of
    other VCSes. For instance, game studios have pretty good reasons to use
    Perforce or Plastic.

  • Putting all your eggs in the Git basket may not end well in the long run. If
    Git has been popular only for the past 10 years, having overthrown
    Subversion’s reign which lasted about the same time, what would prevent some
    other new hip VCS to take over in the next 10 years? There’s probably some
    good reason to write code faster now and rewrite later, but, well, see
    previous two points.

  • All those online services competely predicated on you using Git will
    definitely lengthen Git’s supremacy, but, regardless of whether Git is “good”
    or “bad”, I see this monopoly as negatively as, say, websites assuming an IE6
    browser back in the early 2000s, or assuming an Amazon/Twitter/Facebook
    account to log you in these days.

  • Isn’t it ironic that, in this age of decentralized version control, we’re
    centralizing our version control system? It’s even worse when you consider
    so many services not only assume you’re using Git, but also assume you’re
    using Github.

Anyway, enough of this nonsense. The most important thing is that if you’re part
of the few people (still?) using Mercurial, we’ve got you covered on
Sourcehut, with the mercurial hosting service. It’s still rough
around the edges (it’s just a couple of us in our spare time after all!) but
it’ll get better with time, and, hopefully, with your help. Drew went so far as
to write a repository import tool.

If you need some help or have some questions, you can ping me on the #srht IRC
channel, sourcehut mailing list, or via the usual means.