Tech leaders understand that code is critical to how businesses operate, and that it constitutes some of an organization’s most important intellectual property. In the old days, a code repository was largely just where you stored your code; today, code repositories are the center of a larger DevOps tool solution that affects how your team works. Two of the best known DevOps tools available are Atlassian’s Bitbucket and Microsoft’s GitHub.
What is Bitbucket?
Bitbucket is a version control system. Atlassian’s Bitbucket grew up in the enterprise with a focus on private repositories and self-hosted options for professionals. Originally supporting both distributed and centralized version control architectures, in recent years Bitbucket has dropped support for any centralized version control option to focus solely on Git.
Popular features of Bitbucket include:
- Cloud security
- Code Review
- Best-in-class Jira integrations
What is GitHub?
GitHub is a Git-based version control system built around the idea that it should be easy to share and collaborate when writing software. Though now owned by Microsoft, GitHub had its beginnings in the open source community, where it quickly became the backbone of the open-source movement.
Popular features of GitHub include:
- Built-in bug tracker
- Security scanning
- Massive user community
SEE: Hiring kit: Python developer (TechRepublic Premium)
GitHub vs. Bitbucket: Feature comparison
When choosing a code repository and version control system, it’s important to remember that it’s one part of a larger DevOps culture and that to be successful it will need to be embraced by your developers who will use it multiple times per day — every day.
There is no denying that developers have flocked to GitHub. It is the standard if you want to host an open source project and be taken seriously; over the years, a developer’s GitHub account has become a sort of calling card.
Bitbucket has historically focused on the enterprise, and most of the repositories are private. Atlassian boasts having over 10 million registered Bitbucket users, so the service does have a successful track record as well.
Since GitHub and Bitbucket are based on Git and the underlying principles of distributed version control, developers can pick both up quickly.
Bottom line: If you are working heavily with open source software, GitHub is your best bet; if not, and other features have you leaning towards Bitbucket, just know not all of your developers may have used it before – the reverse is likely not the case.
Both Bitbucket and GitHub have web interfaces and desktop clients. These interfaces support everything from branching and pull requests to merging and conflict resolution. Similar to the comments above, your development team will be using these interfaces every day, so even small efficiencies can improve productivity and job satisfaction over time.
GitHub’s web interface tends to be a bit more straight-forward than Bitbucket, but at times you may need to understand the underlying Git command structure. On the desktop, Atlassian’s Sourcetree allows you to clone a GitHub repository if you are trying to work in multiple repository environments. Sourcetree is one of the cleanest user experiences for source control on the market.
SEE: Quick glossary: DevOps (TechRepublic Premium)
GitHub has an official mobile app, while Bitbucket mobile apps are created by third-parties. That said, both GitHub and Bitbucket have a web interface that is quite mobile friendly.
One area where GitHub stands out is with its integrated issue tracker, aptly named GitHub Issues. The UI allows developers to track and manage bugs while they work with the code. Bitbucket has some similar functionality, but it’s not as robust without Jira integration.
Bottom line: Both GitHub and Bitbucket are fairly evenly matched on the user interface front. If you’re not using other Atlassian products as part of your DevOps tool chain (e.g., Jira or Trello), GitHub’s issue tracker might give it a slight edge.
Your DevOps pipeline needs to support your efforts on the security front, testing, project management, collaboration and continuous delivery. This occurs through a combination of first- and third-party integrations, as well as the ability to customize workflows and hosting flexibility. GitHub does not support local hosting, so if you have security or regulatory requirements that mandate you to self-host wholesale, Bitbucket is your new best friend.
When it comes to customizing workflows, GitHub offers GitHub Actions, while Bitbucket provides Bitbucket Pipelines. Both are powerful options that allow you to move some of your DevOps tasks out of the domain of specialists and into the hands of your developers. The biggest areas where the two DevOps tools differ are conditionals and artifacts. Bitbucket conditionals are limited to file changes, whereas GitHub’s more flexible solution allows you to write conditional statements. In regards to storing artifacts, GitHub has a much more generous retention policy.
As it relates to external integrations, Bitbucket’s marketplace is impressive. Since the Microsoft acquisition, GitHub has made strides with its own marketplace as well, but it feels less mature. Bitbucket integrates seamlessly with other Atlassian products, including Jira, Trello and Confluence, which are three of the most popular tools used in the enterprise as part of the DevOps tool chain.
If your organization is doing agile software development, there is a really good chance you are using Jira. The value of the tight integration that Bitbucket has with Jira cannot be understated. The Atlassian tool suite is incredibly mature in the enterprise, and these are rich, full-featured applications on their own. While code reviews, issue tracking, and project management functionality may be better in GitHub when you are just comparing GitHub to Bitbucket, when you compare Bitbucket and the Atlassian tool suite to just the functionality in GitHub, you’ll find a big gap that can’t be plugged right now by the integrations GitHub offers.
Bottom line: If you’re already using some or all of the Atlassian tool suite as part of your existing workflow, Bitbucket will amplify the value you are getting from that investment. Similarly, if you need a self-hosted solution, Bitbucket has you covered.
Cost is always a factor when choosing software, but when you are choosing software that requires per-seat licensing, it can be even more important. Both GitHub and Bitbucket offer three tiers of support, including a free option to get started. While the first two tiers are fairly similar in price, GitHub is quite a bit more expensive at that third tier: $21 per month/user vs Bitbucket’s $6 per month/user.
Our take — cost isn’t everything, so spend time understanding the features before just signing up for the cheapest solution.
As with most decisions, what’s best for you and your organization may not be what’s best for everyone. When it comes to choosing a version control solution, looking at the whole product and how it integrates into your existing DevOps solution is very important. Cost is always a factor, but you should also consider how much your success depends on the open source community, setup time for new hires and any security or regulatory factors that are unique to your business.
Remember, if all else fails: Ask your developers!