Bitbucket vs. GitHub: Which project host has the most?

The right choice boils down to a number of factors, and you might even consider using both

Bitbucket vs. GitHub: Which project host has the most?

The question is not "Do I host my source code?" If you're a one-person shop, the answer should be yes. If you're a midsized consulting firm, the answer should be yes. If you're a huge distributed product company, the answer should be yes. You get the picture.

The real question: "With whom do I host my source code?" The answer to that question is not as straightforward as the first and will require more thought and research.

At a company I used to work for, we hosted our own source code up until a drunk driver ran into our office building, and shortly thereafter we faced the same question. We did some preliminary research that narrowed our choices to GitHub and Bitbucket, but there wasn't a clear winner between the two. Here are some points to consider when picking the right source code hosting solution. The points are listed roughly in order of importance. The first points are critical, while the last points are icing.

RCS support

Which revision control system (RCS) you use could end your search right off the bat. Bitbucket officially supports Git and Mercurial. There used to be a rickety solution for Subversion users on Bitbucket, but it was quietly shut down back in 2013.

GitHub supports Git, with one slight exception. If you've been using Subversion and you want to change, GitHub posts instructions for making the transition.

Bitbucket vs. GitHub: Revision control support

Git Yes Yes
Mercurial Yes CLI support
Subversion No No

The slight exception: While GitHub only supports Git as the underlying RCS, it's possible to interact with Git repositories with the Mercurial CLI via a plug-in. If you have developers who insist on using Mercurial locally, that plug-in might keep GitHub in the running and let you weigh other factors into your decision.

We had been using Subversion, so we were out of luck for both GitHub and Bitbucket. We had been considering a switch to Git but had no logical reason to undergo that sort of transition. Our cloud exodus was going to be a migration project in any case, so we chose to make the switch to Git as a part of it.

Public vs. private

Both GitHub and Bitbucket support public and private repositories, so you can't rule out one or the other based simply on feature set. Your needs here, however, will determine which of the next two factors will be more important. If you have mostly public projects, then community involvement will have more weight in your decision. On the other hand, if you're dealing with more than a few private projects, the pricing model will be a more important detail.

Community involvement

It can be hard to quantify community involvement, but if you dumb it down to number of users, GitHub blows Bitbucket out of the water. Number of users is definitely not the only factor in community involvement, but it is a quick and easy way to get a rough gauge on what sort of exposure is possible.

Another way to gauge the community is to look at other projects that have chosen one or the other. GitHub is the favorite of a considerable number of open source projects, including the Linux kernel, a handful of your favorite NoSQL databases, and even Subversion. (To be accurate, Subversion is mirrored from Apache's self-hosted Git, but it's in GitHub nonetheless.)

Although both GitHub and Bitbucket allow for public repos, GitHub is the clear winner based on its community and notable projects.

An additional point to consider is how other companies cast their vote. The lists are long and major players sit in both camps, but if you admire a particular company, it’s worth doing some of your own research to see what they use. Impressed by Pinterest? Check out GitHub. Is Orbitz more your style? Bitbucket might be the way to go.

Bitbucket vs. GitHub: Community

Users > 3 million > 11.8 million
Projects Aldrin, TortoiseHg ... Linux kernel, MongoDB, Neo4j, Couchbase, OpenShift ...
Companies Tesla, DHL, Salesforce ... Adobe, Twitter, PayPal ...

Pricing model

If you have more than a few private repositories, the pricing model will be an important consideration. It's not straightforward to compare the two, because they charge for different aspects of the service. With GitHub you pay per private repository; with Bitbucket you pay by contributor.

Bitbucket pricing

Number of contributors 0-5 6-10 11-25 26-50 51-100 > 100
Price free $10 $25 $50 $100 $200

GitHub pricing

Number of repositories 0-10 11-20 21-50 50-125
Price $25 $50 $100 $200

The decision should be pretty straightforward. Here's a little calculator to help you figure out which one is right for you.

Project tracking integration

This is less a feature of Bitbucket or GitHub than of the project tracking software you use. It's worth mentioning, though, because good integration is fantastic and timesaving. First, look to see if your project management software integrates with either. If it does, check out the features and weigh them against one another.

A basic integration would simply be linking changes to bugs or development tasks. Many project trackers go beyond that, providing luxury features (and after using these features, they do feel luxurious), like the ability to change the status of an issue or to log time to an issue from within a commit message.

We used Jira, which has support for both GitHub and Bitbucket, so that didn't narrow our search. If you use a different project tracking solution, do some research and see if it narrows yours.


Nobody wants another set of login credentials, right? In the current climate, many apps will let you authenticate via your OAuth2 provider of choice. Unfortunately, GitHub doesn't allow for external authentication. Each member of your team will have to set up a new account at GitHub. Bitbucket, on the other hand, allows you to log in with Twitter, Google, Facebook, OpenID, and GitHub (oh my!) credentials. This point isn't critical, but it's definitely worth considering.

Bitbucket vs. GitHub: Authentication

Bitbucket Yes Yes Yes Yes Yes
GitHub Yes No No No No

When we migrated to the cloud, one of our decision points for services was how you log in. In our case, we were adopting many new services and didn't want to deal with having to manage a ton of new credentials. Since we had already decided on Google for mail and other apps, we chose a set of services that met all of our needs and would allow for authentication via Google. This wasn't possible for every service, but I could log into most of them with a single account.

It's not a make-or-break feature, but single sign-on means fewer headaches for your developers, less time spent on lost password requests, and more productive hours.

User interface

This comes down to two factors: how aesthetically minded your developers are, and how often they will actually use the Web interface. There are some tasks, like creating a remote repository, that are much easier to do in the Web GUI. But once that's done, how much time will your developers spend in it? After you consider powerful CLI tools and IDE integration, the Web UI looks more like a required convenience than anything else.

We didn't weigh the Web GUI differences much, if at all, into our decision. As for aesthetics, I can't decide for you. Luckily, it's both easy and free to try out the GitHub and Bitbucket GUIs and see which you prefer. When it comes down to it, however, the friendliness of the Web front end shouldn't be weighed very heavily unless your use case involves a great deal of pointing and clicking.

Website hosting

While it doesn't have anything to do with source code management, static website hosting is a nice-to-have feature that both GitHub and Bitbucket offer, albeit slightly differently. GitHub Pages lets you easily set up a website that GitHub will host for you for each repository you have, as well as a special top-level site. On top of that, GitHub supports static sites generated with Jekyll, which opens the door for easily hosting a blog on GitHub Pages.

Bitbucket also offers static hosting, but provides only a single, top-level site, the assets of which must all reside in a single repository. If you want to serve multiple sites, you will have to nest all of the assets within subdirectories of the repository and include an index.html file for each.

Unless you plan on hosting a collection of open source libraries, Bitbucket's single-repository limitation shouldn't weigh much in your decision. If you need multisite hosting, however, GitHub is definitely the way to go.

A last suggestion

GitHub and Bitbucket both have their strengths, and you may be at a decision already. Before you pull the trigger, though, consider that you don't have to choose one over the other. You could choose both.

We ended up using GitHub and Bitbucket to get the best of both worlds. For our private repositories, we used Bitbucket because the pricing model was so much smarter for us. With Bitbucket we paid about $30 a month as opposed to the $200 we'd have been paying at GitHub. When we had code we wanted to share with the community, we'd send the repository over to GitHub for wider exposure.

Making use of both Bitbucket and GitHub certainly won't work in every case, but it's a solid catch-all compromise that could save you a headache and make your decision go away.

Copyright © 2015 IDG Communications, Inc.

How to choose a low-code development platform