On a Theoretical “HgHub” (and Why Cloning Is a Bad Idea)

Sunday, April 10th, 2011

“If Mercurial is so awesome, why doesn’t someone make HgHub?”

If your company’s mission statement is “like X but for Y” you’re in trouble. There’s nothing in there that will inform the thousands of decisions you’ll make about your product in the future. You’ll be simply copying X over and over again — forever a clone.1

Truth be told, Git is probably the least interesting part of GitHub. In fact, GitHub will probably still be around when the next generation version control systems appear, and GitHub’s mission — embodied in statements like “GitHub is the best way to collaborate with others” and “GitHub: Social Coding” — will lead them smoothly into the future.

My advice to someone interested in creating another Mercurial-based tool for code hosting2 would be to examine GitHub’s features and see what you think you could do better. What gaps are there in GitHub’s offerings? What class of users are served poorly by GitHub?3 How can you reduce the costs of switching to your service? Are those people going to be willing to pay you money? If you can answer these questions — and decide to use Mercurial for the basis for your system — you’ll be well on your way to developing a serious GitHub competitor.

  1. However, “like X for Y” is a reasonable place to start brainstorming — it can help you to identify Ys that are underserved by X — but it’s often not enough to support an entire product. 

  2. Besides BitBucket, Google Code, and even the lowly hgweb

  3. My own personal sore spot with GitHub is its pricing structure. As a software consultant, I have a ton of repositories that need to be private but many of which I won’t come back to for ages, if ever. GitHub’s pricing structure, where the more private repositories you have the more you pay, isn’t a good value for me. 


  1. stdim replied on April 10th, 2011:

    There is a HgHub,

  2. Rob Speed replied on April 10th, 2011:


  3. Rob Speed replied on April 10th, 2011:

    D’oh. I’m too slow.

  4. Colin Barrett replied on April 10th, 2011:

    I don’t mean to be a jerk, but did you guys read my post?

  5. Peter Hosey replied on April 10th, 2011:

    Colin: I read both this post and (at least some part of) the original Twitter discussion. You haven’t really addressed how Bitbucket isn’t HgHub. What are the differences that disqualify Bitbucket from the title? It would be worth splicing into the post, I think: “Bitbucket might seem to be the obvious contender, but…”

    Also, you rightly point out that HgHub might want to do things differently from GitHub (doing everything the same being bad). How would each difference in how Bitbucket does things not be this, and therefore not disqualify Bitbucket from being “HgHub”?