Bitbucket vs Github: Two of the largest source code management services for development projects, offering a variety of deployment models from fully cloud-based to on-premise. Historically, they have taken different approaches to private vs. public repositories that affected the ease of collaboration and the risk of data exposure.
A Github account is the calling card of the software developer. Just as any writer would be asked to show their blog, every developer is expected to produce examples of their code on Github. But that does not necessarily make Github the best choice for software development teams. Github thrives on making code easy to share, and in that regard is indispensable for the open source backbone of the internet as we know it. At the same time, that means organizations must take greater care to manage their users and access control settings to ensure they are not compromising their cyber resilience. The pricing models of the two products likewise reflects their differing approaches to how to best manage version control.
Right off the bat, Bitbucket’s advantage over Github is that both Git and Mercurial repository hosting are available with Bitbucket. 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.
Many users who are worried about keeping code private have migrated over to Bitbucket from GitHub following Microsoft’s recent acquisition of the platform for $7.5bn.
1. Bitbucket Feature Overview
Bitbucket integrates very well with JIRA, originally built as a bug trackers, but is so flexible now it can be used for: bug tracking, issue tracking, a service desks and project management. 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, HipChat
- Deep integration with Trello, via their BitBucket Cloud capability which offers seamless integration of branches, commits and pull requests into Trello boards.
- Branch permissions. Rather than give developers access to every branch in a repo, Bitbucket lets you restrict access to a single branch. This prevents nightmare situations such as an accidental master push, and is a key differentiator for Bitbucket.
- Built-in continuous delivery, issue tracking and wikis.
- Easy integration with Bamboo and Confluence in addition to Atlassian's own Jira Software Cloud for additional setup customization and hosting.
- Bitbucket Snippets allow you to create and manage multi-file snippets of all kinds.
- Third-party integrations allow you to integrate Bitbucket into several facets of your existing workflow, making the complete development process much more efficient.
- Bitbucket supports Git Large File Storage (LFS) which means shorter clone and fetch times for those working with large files.
2. Bitbucket Pricing
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 an unlimited number of private repositories for free for up to 5 users. Beyond that, pricing is tiered as per the table below:
|Plan||Price (user/month)||Private Repositories||Public Repositories||Max no. of Users|
|Max number of users||Bitbucket Server Edition (one-time)||Bitbucket Data Center Edition (yearly)|
As the name of the plan implies, the server plan is hosted on a company’s own server requires a one-time payment.
First of all, Github only hosts projects that use the Git version control system (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 57 million-plus repositories of code.
1. Feature Overview
Github.com was originally started in 2008, with the platform 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.
- 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.
- 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.
- Syntax highlighting. Github users will be used to this as a standard, indispensable feature, but Bitbucket notably continues to lack it.
- High level of usage in open source projects. Given that Github has a large number of public repositories, this is hardly surprising. Supporting trending repos and showcasing popular topics has helped Github become the defacto choice for the open source community. Major open source projects like Linux, jQuery are hosted on GitHub.
2. Github Pricing
Github pricing is free for public repos and as of January 2019, like Bitbucket, offers free unlimited private repositories. For private repositories, Github allows unlimited numbers of collaborators grouped into the following paid plans. The Team plans allow a central administrator who manages teams and can set varying levels of permissions. There is also Github Enterprise, a version tailored for large organizations which offers cloud-based and on-premise deployment options.
|Plan||Price (USD)||Private Repositories||Public Repositories||Max number of Users|
|Free plan||$0 per month||Unlimited||Unlimited||Unlimited|
|Pro plan||$7 per month||Unlimited||Unlimited||Unlimited|
|Team plan||$9 per user/month||Unlimited||Unlimited||Unlimited|
|Enterprise plan||From $21 per user/month||Unlimited||Unlimited||Unlimited|
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.” This history bears mentioning in part because hostile workplaces not only drive away talent, they increase cybersecurity risk– risk for lost time, legal penalties, reputational damage, and data exposure. Read more about the whole sordid saga here, here and here.
Gitlab is shifting their focus to devops according to their own web page. They write, “The first single application for the entire DevOps lifecycle. From project planning and source code management to CI/CD and monitoring.”
Bitbucket and Github are very closely matched in terms of features and either will be sufficient code repository hosting services if you need to use Git and or need a simple personal account. Both now have unlimited free private repositories. And if your version control system (VCS) is Mercurial, then it’s only Bitbucket for you. Unfortunately, neither supports SVN, which remains popular. 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. The free plan offered by Bitbucket and GitHub is aimed at solo developers and small teams.
See how UpGuard can help secure GitHub repositories and prevent dangerous data exposures.
Apart from pricing, the summary comparison table below may also help you in your decision:
Free up to 5 users
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