Fork me on GitHub

GitHub and BitBucket

When I put up my website, one of the sections I added about why some people choose Git over Mercurial (and other SCMs) was GitHub. My reasoning behind this is that GitHub provides a community that people want to be a part of and that other SCMs don't have an online community of the same caliber.

Since then, I've amended this a bit because Launchpad is arguably large enough that they can possibly be seen as a community rivaling GitHub, but the main emails I get on this are about BitBucket. I assume this is because it looks similar to GitHub, so people think it must be the same thing. In addition to this, on blog post comments we've begun to see more people using BitBucket as an argument that GitHub is not special - that BitBucket provides an identical service and community. This is not true, and it's beginning to really bug me.

Imitation is the Sincerest form of Creative Bankruptcy

We've ignored this for a long time, but other groups ripping us off is becoming really annoying - and BitBucket is the worst. I understand that imitation is flattering to some point and copying one or two things is cool, but BitBucket copied our website screen for screen in nearly every major aspect without asking for permission or acknowledging the theft.

Let's take a look at a couple of examples. Keep in mind that BitBucket went live a few months after GitHub.

The Account Page

This is almost identical in layout - user profile (name, homepage, location) in the top left, a list of your repositories underneath that, recent activity from you in the left side of the screen where the activites are of the format 'username, action in highlight, link to action page, timestamp'

The Project Header

I think there is very little I need to point out here - see how many elements you can identify are nearly unaltered in layout from GitHub. (Hint - GitHub is on the top)

The Commit Log

Here we have the commits grouped by date, where each commit shows the message on the first line, the icon of the committer with name and link to profile on the bottom left part and then links to the commit and parent checksums on the right 1/3 of the block.

The Dashboard

For the users personal dashboard we have the page divided in half, with the left half being titled 'News Feed' with the same activities format used earlier. On the right side we have a block with all of the users repositories on top, followed by a block listing all the users watched repositories. Also, a 'create new' link on the right side of the 'Your Repositories' block.

The Project Page

This is my favorite one. In case it's not obvious why, there is the current commit block at the top, followed by the name of the project with a slash after it (the current path) followed by a listing of the tree contents (each having an icon, filename, modified date and latest message) followed by the README file if it finds one and then the contents of that file. I mean, even the icons and color palatte are basically identical.

Post Receive Services

Our Services List

  • POST
  • Twitter
  • Email
  • Fogbugz
  • Basecamp
  • Lighthouse
  • Campfire
  • FriendFeed
  • IRC
  • Jabber
  • Presently
  • RubyForge

Their Services List

  • POST
  • Twitter
  • Email
  • Fogbugz
  • Basecamp
  • Lighthouse
  • Issues


Of course, this doesn't mean the site is functionally equivalent to GitHub - we have easier forking (you don't have to fill out a form), we have the Fork Queue [BB has a 'Patch Queue', but I can't tell what it is (from their site):]

We have Pages, we have the Network Graph, Impact Graph, inline editing, blame, extensive Guides, APIs, a command line tool and more. We have the concept of having a tightly connected network of all the forked repositories that enables easy collaboration that BitBucket just didn't copy well enough to get right.

Is a Community a Community if Nobody is There?

We also have a much, much larger community. By the numbers you can get from our public repository listings, GitHub has somewhere around 30-40 times the number of repositories hosted as BitBucket.

I can't really look at traffic, but to get an idea of the interest in projects on GitHub versus projects on BitBucket, we can look at Google Trends.

Here I've compared search results that ended up at any of, or

note that the orange line is launchpad, bitbucket does not even show up

It turns out that BitBucket projects don't generate enough traffic to be on the graph at all. Now, I don't do this to be arbitrarily mean, but to demonstrate that the arguments along the lines of "Git is to GitHub as Hg is to BitBucket" are false. It has some of the same functionality, it looks very similar on the surface, but the community you are joining when signing up at GitHub is much different than what you would be joining at BitBucket.

You will also be joining a site run by a team that is innovative and honest, rather than one that unapologetically plagiarizes that team when they see something they like.