Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

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

Which is the best open source repository for your source code?

  • Print
  • Feedback

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 the company I work for, we hosted our own source code up untila drunk driver ran into our office building, and shortly thereafter we faced the same question. We did some preliminary research that narrowed our choices down 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 RCS (revision control system) you use could end the search for you right off the bat. Bitbucket officially supports Git and Mercurial. There's been a rickety solution for Subversion users on Bitbucket, but it's too flaky and will be removed on Oct. 1.

GitHub supports Git, end of story. If you've been using Subversion and you want to change, GitHub posts instructions for making the transition.

Bitbucket vs. GitHub: Revision control support
  Bitbucket GitHub
Git Yes Yes
Mercurial Yes No
Subversion No No

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 to you. 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 just a few private projects, then 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 take a 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.


  • Print
  • Feedback