Github vs Bitbucket

Posted by UpGuard

Github vs Bitbucket

Github and Bitbucket are two of the largest web-based hosting services for source code and development projects. Unfortunately, they both don’t support the popular SVN version-control system (VCS). And they take different approaches to private vs. public repositories. Let’s dig into them a bit more.

Github

First of all, Github only hosts projects that use the Git VCS. That’s it. Nothing else. But Git is far and away the most commonly used VCS, so Github is still the largest code host of them all, with some 13.7 million-plus repositories of code.

Git was originally started in 2008, and was written in both Ruby and Erlang. Github is designed to encourage close communication and collaboration within development teams. To this end it includes features like highlighted code comments and collaborative code review. Other notable features are listed below (see more here: https://github.com/features) .

  • An integrated issue tracker right within your project
  • Milestones and labels within projects
  • Branch comparison views
  • Native applications for Windows and Mac desktops, and also an Android app
  • Support for over 200 programming languages and data formats
  • Github pages, a feature for publishing and hosting within Github
  • Security such as use of SSL, SSH and/or https for all data transmission, and two-factor authentication for login
  • API integration for easy integration of 3rd-party tools, and integration with a large number of other tools and platforms. Some examples are Asana and Zendesk for issue/ bug tracking; CloudBees, Travis and CodeClimate for Continuous Integration (CI); AWS, Windows Azure, Google Cloud, and Heroku cloud hosting. Read more.
  • The Github guys also recognize that SVN is also a widely used alternative to Git, so they provide a tool to import SVN repos into Git and host them on Github, although reports are that it’s at best a clunky, somewhat awkward solution. And they shrewdly made sure that Github repos are fully accessible on the SVN client.

Github pricing is free for public repos and unlike Bitbucket, doesn’t offer free private repos. For private repos, Github allows unlimited numbers of collaborators grouped into the following paid plans. The Organization plans allow a central administrator who manages teams and can set varying levels of permissions. There is also a Github version tailored for enterprises:

Github vs Bitbucket - Enterprise Pricing

7 Ways to Hack Ruby on Rails

As an aside, in early 2014 Github was the setting of an ugly case of employee harassment. A female software engineer called Julie Ann Horvath came forward with revelations of a discriminatory and generally female-unfriendly environment at Github. She also reported being harassed and intimidated by an at-first unnamed wife of a Github founder, made worse by the tacit approval and support of the wife’s bullying antics by the founder himself. These individuals were later revealed to be Github founder Tom Preston-Werner and his wife Theresa. The negative publicity that ensued resulted in Preston-Werner first being suspended then resigning from his role in Github’s management team, and his wife no longer allowed into the company’s offices. CEO Chris Wanstrath offered a public apology to Horvath for what she went through at the company; Github also launched an investigation which rejected Horvath’s accusations of “gender-based discrimination, harassment, retaliation, or abuse.” Read more about the whole sordid saga at the links below:

Bitbucket

Right off the bat, Bitbucket’s advantage over Github is that it supports the Mercurial VCS in addition to Git. But it also doesn’t support SVN, yet. Bitbucket is written in Python and uses the Django web framework.

Bitbucket was also launched in 2008 in Australia and was originally an independent startup offering hosting only for Mercurial projects. It was acquired in 2010 by fellow Australian company Atlassian, and about a year later added support for Git repos.

Bitbucket integrates very well with JIRA, a popular project and issue-managing app. This is no surprise given that JIRA is also an Atlassian product. Other features are:

  • Pull requests and code reviews
  • Unlimited private repos
  • Branch comparison and commit history
  • Bitbucket Mac and Windows client called SourceTree; Android app called BitBeaker
  • Bitbucket for Enterprises, called Stash
  • Integration with tools like Jira, Crucible, Bamboo, Jenkins

The pricing structure differs from Git’s in that Bitbucket charges per user whereas Git charges per repository. Bitbucket allows unlimited public repos for all, but also unlimited private repos for free for up to 5 users. Beyond that, pricing is tiered as per the table below:

Max no. of users Price (US$ per month) Private Repositories Public Repositories
5 Free Unlimited Unlimited
10 $10 Unlimited Unlimited
25 $25 Unlimited Unlimited
50 $50 Unlimited Unlimited
100 $100 Unlimited Unlimited
Unlimited $200 Unlimited Unlimited

Conclusion

Bitbucket and Github are very closely matched in terms of features if you need to use Git. And if your VCS is Mercurial, then it’s only Bitbucket for you. Each has some useful features not found in the other, such as Github pages for small web-hosting projects, or Bitbucket’s JIRA integration.

The choice may come down to the structures of your projects. If you have many private projects and small numbers of users per project, Bitbucket may be a cheaper option because of its per-repo pricing. If you have large teams collaborating on just a few projects, Github may be the better option.

Free DevOps Toolchain eBook

Apart from pricing, the comparison chart below may also help you in your decision:

Feature Bitbucket Github

Supported VCS

Mercurial, Git

Git

Public repos

Free, unlimited

Free, unlimited

Private repos

Free up to 5 users

Starts at $7/month for unlimited users

Integration

Jira, Crucible, Jenkins, Bamboo

Asana, Zendesk, CloudBees, Travis, CodeClimate, AWS, Windows Azure, Google Cloud, and Heroku

Popular projects hosted

Adium, Mailchimp, Opera, Python, Django

Bootstrap, Node,js, jQuery, Rails, Homebrew

Notable Extra features

Spoon, Jira integration, External authentication via Github, Twitter, Facebook, Google

Two-factor authentication, Github Pages, Github Gists

 

Get a Guided UpGuard Demo  

References

http://www.infoworld.com/d/application-development/bitbucket-vs-github-which-project-host-has-the-most-227061

http://www.computerweekly.com/blogs/open-source-insider/2014/01/is-bitbucket-or-github-the-host-with-the-most.html

http://nudowdeployer.wordpress.com/2013/07/23/github-vs-bitbucket-2/

http://www.takipiblog.com/2014/05/21/bitbucket-vs-github-its-more-than-just-features/

http://www.makeuseof.com/tag/love-github-4-reasons-why-you-should-host-your-code-on-bitbucket/

http://www.kevssite.com/2013/10/08/github-vs-bitbucket/

https://bitbucket.org/plans

https://github.com/pricing 

UpGuard customers