If you boil it down to the most basic difference between GitHub and Bitbucket, it is that GitHub is focused around public code and Bitbucket is for private. GitHub has a huge open-source community and Bitbucket tends to have mostly enterprise and business users.
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.
What is Bitbucket?
Bitbucket supports Git, but the situation has changed when it comes to other repository types. Bitbucket’s advantage over GitHub used to be that both Git and Mercurial repository hosting were available with Bitbucket. There was never support for SVN, however, Bitbucket’s modernisation has come at the expense of support for Mercurial. Bitbucket is written in Python and uses the Django web framework.
Bitbucket was 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.
Note: Mercurial support will be removed from Bitbucket on June 1, 2020. Read more about Atlassian's decision to focus on Git.
What are Bitbucket's Features?
Bitbucket integrates very well with JIRA, originally built as a bug tracker, but is so flexible now it can be used for: bug tracking, issue tracking, 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.
What is Bitbucket's 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:
The Bitbucket Data Center Edition goes up to 30,000 users for $792,000 per year. If you are interested in extensive pricing, click here.
As the name of the plan implies, the server plan is hosted on a company’s own server and requires a one-time payment.
What is GitHub?
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 now over 100 million repositories of code.
What are GitHub's Features?
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.
What is GitHub's 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.
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.
BitBucket vs GitHub: UX and Ease of Use
The widespread use of GitHub by small developers for hosting their code has resulted in a well-tested platform that has one of the best user experience in the open-source community. Bitbucket, which did not start out with such a heavy focus on open source, and saw lower usage, has struggled at times with an interface that was seen as more complex to navigate than what GitHub offers. In recent times, though, this has changed. Bitbucket now draws rave reviews for its user experience. Its online editor is among the best for editing code directly online without checking it out onto your machine first. While not being the simplest platform to use, it’s powerful and versatile, with plenty of features to support the needs of small businesses and enterprises who have long been heavy users of the platform. The Bitbucket interface is centered around the “Your Work Dashboard,” which gives you easy access to your repositories and pull requests. Bitbucket offers a fully-fledged Git interface and supports everything from filtering pull requests to issue tracking, management of SSH keys, and other features.
GitHub has a simple interface that is friendly even for beginners to Git and online source code hosting. The platform has long been open-source friendly and packs a UI that provides access to Git’s underlying features as well as providing some of its own. That said, there are scenarios where you will still need to know how to use Git at the command line, especially if you are managing large open source projects with complex merging requirements.
GitHub lets you easily see and review commits by collaborators, with online diff features, so you can manage code at a granular level. The interface also offers excellent support for collaborative code review, highly useful for working in teams, tracking, and management of tasks, as well as DevOps features like CI/CD. Through its other tools such as GitHub Desktop, GitHub lets you expand the range of features you can use for managing your Git code collaboration still further.
Bitbucket vs GitHub: Developer Adoption
Developer adoption and community reach is one area where Bitbucket and GitHub have experienced diverging fortunes. Lacking the dominant position in open source that GitHub has long enjoyed, Bitbucket continues to play second fiddle to GitHub in terms of the number of users. However, its community has recorded impressive growth over the last several years.
Bitbucket now boasts more than 10 million registered users, which, while not enough to supplant GitHub, which has been growing for its part as well, makes Bitbucket firmly one of the leaders in the online Git code hosting marketplace. Since the company’s founding in 2008, its commitment to help companies write code, test software, and collaborate, has seen it grow to a level where it can claim that 60 of the Fortune 100 corporations use Bitbucket every single day. While it might have a smaller community than GitHub, Bitbucket is also notable for its plethora of integrations, which means its community can access tools like Slack, AWS, Datadog, and JFrog just as well as those developers using GitHub.
GitHub’s community is far more impressive, especially when it comes to its reputation in the open-source community. To be a credible open source project or open-source developer, it’s almost a de facto standard that your code must be hosted and publicly available on GitHub. GitHub’s user base now consists of over 40 million registered users, with over 100 million Git repositories hosted on the platform. GitHub’s community is active in 200 countries and is a significant driver in the platform’s preeminence in the tech world. This sizable community also drives business value and might have been a factor in Microsoft’s acquisition of GitHub for $7.5 billion back in 2018. While Microsoft and the open-source world had long been at odds, the partnership between GitHub and Microsoft does give GitHub new-found credibility with enterprise customers, and Microsoft new-found credibility with open source developers and software users. Needless to say, the GitHub community, which already counts a good share of Fortune 50 and Fortune 100 companies, could continue to grow by leaps and bounds in the years ahead.
GitHub vs Bitbucket: Wikis and Collaboration
In addition to working with source code, both Bitbucket and GitHub serve as collaboration and knowledge sharing platforms. Wikis and other tools for collaboration, built right into the platforms, help teams work collaboratively on ideas that form part of the intellectual space of the code. In Bitbucket, you get a wiki when you create a code repository. Bitbucket wikis can be edited and version controlled, and many projects also use them as project home pages.
Bitbucket offers plenty of other features that facilitate team collaboration, including side by side diffs, IDE integrations, and the ability to organize repositories into projects.
GitHub also offers a plethora of collaboration features, with its history of facilitating very large open-source projects bearing testimony to the robustness of tools supporting collaboration on the platform. To name a few, some of the projects with the most influential collaborator networks and highest numbers of contributors include:
The GitHub workflow, with simple cloning, repository forking, branching, pull requests, merging, diffs, and more, makes this one of the best platforms for teams looking to work on code together, whether open source or not. GitHub also comes with support for wikis to document your project and share information with your team. Wikis are available for GitHub Free, GitHub Enterprise Cloud, and GitHub Enterprise Server. Wikis can be written in Markdown or other supported formats. Just as with source code, wikis are visible publicly for public repos, and limited to team members for private projects.
Integrations With Tools Commonly Used by Developers
One of the chief selling points for Atlassian’s Bitbucket is that it integrates extremely well with the Atlassian suite of developer tools, and these tools have considerable usage and are popular among developers. This is certainly true, and should be a factor in your consideration, however, note that GitHub has been making moves to buttress its products with similar features, and also integrates well with the Atlassian suite of developer tools.
Bitbucket integrates well with Jira, Atlassian’s issue tracker software, and Trello, the project management tool that’s popular among many software and business teams. In addition, there are more than 50 integrations with other commonly used developer tools available for developers and teams hosting their repositories on Bitbucket. These include:
- Amazon Web Services
- Microsoft Azure
- Docker Hub
- And many more
With integrations, you are able to view metrics from these services and tools right inside Bitbucket, as well as managing aspects of your software or DevOps infrastructure right alongside the code.
If you do end up going with GitHub, you’ll be happy to know that the integrations available for both Trello and Jira are very capable. In 2018, GitHub announced it had been working with Jira to create an integration allowing enhanced features for connecting your GitHub code to Jira Software Cloud. Trello also has a GitHub Power Up integration that allows you to attach GitHub pull requests to Trello cards. Managing your GitHub work in Trello should be a breeze thanks to this integration. However, GitHub has been making moves to enhance its own product with Trello-like features. Back in 2016, for example, GitHub launched “Projects,” a feature allowing Trello-like cards to manage tasks and code projects.
GitHub also has integrations available for a wide range of popular developer tools and software products. A Slack integration is available for team chat, for example, as well as integrations with Codefresh and Semaphore for continuous integration. Monitoring integrations available include LogRocket and Waydev. In the project management category, integrations with GitKraken Glo Boards and DeepAffects are available, among plenty more useful integrations in multiple categories.
Given that both Bitbucket and GitHub are among the giants in the Git repository hosting space, it’s likely they will continue to offer the widest sets of integrations with other popular code tools. A notable exception here is the 2020 dropping of Mercurial from Bitbucket’s source code hosting services. GitHub never supported this VCS, but Bitbucket, for many years, did. However, due to the low numbers of Mercurial users, it has met a final demise on Bitbucket’s platform and will not be supported in the future.
Alternatives to Bitbucket and GitHub
They may be the most visible and reputable Git hosting platforms available to developers today, but the popularity of Bitbucket and GitHub does not mean they are the only viable platforms available to you. Some low key longtime players have always been chugging along in the background and may receive more attention now that Microsoft’s acquisition of GitHub, and other changes, have at least a small number of open-source developers asking questions.
Since its appearance on the scene in 2011, GitLab has become a notable competitor to both GitHub and Bitbucket. Over the years, it has gone from offering source code management to a full DevOps lifecycle product. To quote the company’s own web page, “From project planning and source code management to CI/CD and monitoring, GitLab is a complete DevOps platform, delivered as a single application.”
LaunchPad is the software collaboration management platform used by Canonical, makers of the Ubuntu Linux distro and related software. Canonical is one of the big names in the open-source movement and its software management platform, with support for both Git and Bazaar, will be a great solution if you are working on open source code.
Another notable platform in the open-source world, SourceForge allows open source developers to host their code and distribute their software and downloads through the platform. It also has tools to import GitHub repositories along with related data such as wikis.
There are many other Git source code management and collaboration platforms that your team can use to develop software. Some notable ones to look at are Google Cloud Source Repositories and AWS CodeCommit. These tools also integrate well into cloud computing resources offered by their respective providers, Google and Amazon.
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:
Is Your Business at Risk of a Data Breach?
UpGuard also supports compliance across a myriad of security frameworks, including the new requirements set by Biden's Cybersecurity Executive Order.
CLICK HERE to get your FREE security rating now!