I’ve created this “BitBucket vs GitHub” content piece to help you make a better decision when picking between the two.
I’ve tried to be as descriptive as possible. If you feel like something is missing from the article, let me know in the comments and I’ll be sure to add it.
Without further ado:
What Is GitHub? — Preview
GitHub was founded in 2008 by Tom-Preston Werner, Chris Wanstrath, Scott Chacon, P. J. Hyett.
It’s written in Ruby and Erlang.
Right from the beginning, GitHub became a strong git advocate (as you can tell by its name) that hosts awesome GitHub open-source projects you can contribute to. It gained strong popularity among developers early in its growth. It now boasts over 50 million users and that number still grows.
To this date, GitHub has raised more than 350 million US dollars combined during its years of growth. In July 2012, GitHub received $100 million from venture capitalists Andreessen Horowitz. 3 years later, they completed a “Series B” round successfully with a total investment of $250 million from Sequoia Capital, Andreessen Horowitz, Thrive Capital and other venture capitalists.
When Microsoft announced that it’s going to acquire GitHub for $7.5 billion at the beginning of June 2018, a lot of software developers criticized the upcoming acquisition. A significant number of open source advocates migrated their git repositories over to BitBucket and GitLab as they initially feared Microsoft’s intentions. Microsoft, in the early 2000s, was known as not a big fan of open source software.
And what makes GitHub unique is that it’s based around open source making sharing code easy. That’s why GitHub can also be recognized as the home to open source nowadays.
GitHub’s primary purpose is to encourage efficient collaboration between developers. It boasts features like highlighted code comments and code reviews so you can easily enhance your software build by effectively communicating with your teammates.
Side-by-side diffs are likewise available so you can clearly see and assess the code changes that have taken place in your repo.
Some great features like simple cloning, repository forking, branching, pull and merge requests make GitHub definitely a helluva platform for code management and team collaboration.
GitHub also provides great wiki support so you can document and share projects with your teammates without any hassle whatsoever. It’s worth noting that wikis can be written in Markdown and a few other supported text formats.
It’s important to mention GitHub Actions that was released back in November 2019. Now users won’t have to use 3rd party CI/CD tools to manage their DevOps lifecycle. Everything happens inside GitHub.
Here are other GitHub features:
- A built-in issue tracker right within your project to manage your tasks easier.Milestones and labels within projects.
- Issue boards: Structure your tasks the way you like it. Pick either GitHub Kanban or Scrum boards.
- Epics: With epics, you’ll have the chance to track your progress effortlessly and, at the same time, make better decisions.
- Roadmaps: Roadmaps help you visualize your project’s steps over the long term.
- Burndown Charts: Burndown charts allow you to easily see the progress that is being made.
- Points and Estimation: You can use weight attributes to see the estimated effort that’ll be needed to finish a particular task.
- Traceability: Link your issues to merge requests and track your project’s progress from beginning to end.
- Wikis: Put your docs and code in the same place.
- Link your GitHub issues to your GitHub pull requests.
- GitHub code reviews.
- Branch comparison views.
- Branch permissions.
- Free and unlimited GitHub private repositories, however, with limited GitHub repository storage size. And unlimited GitHub collaborators on board.
- Native GitHub Windows and Mac desktop applications. You simply download the desktop apps and get immediately started.
- Also GitHub is available for Android.
- GitHub marketplace is available with tons of extra tools to pick from.
- Supports over 200 programming languages and data formats.GitHub Pages, a feature for publishing and hosting websites within GitHub.
- SSL, SSH and https security for all data transmission.
- Two-factor authentication.
- Integrations with other great tools like Asana, Zendesk, CloudBees, Travis, CodeClimate, AWS, Windows Azure, Google Cloud, and Heroku.
- SVN importer is available to help you migrate your repos easier to GitHub.
- Syntax highlighting. This feature is an advantage over BitBucket as BitBucket lacks it.
- High level of usage in open source projects. Major GitHub open-source projects include Linux, jQuery.
A little bit of drama as an aside — in the early 2014 rumors emerged about GitHub setting an ugly case of employee harassment.
Complaints towards GitHub from a female software engineer (Julie Ann Horvath) were prevalent. She reported to TechCrunch that a discriminatory and generally unfriendly environment was present at the workspace.
The issues began when Julie complained about being harassed and intimidated by one of the founder’s wife.
When Horvath joined GitHub in 2012, she said that the company was still pretty small and it had a supportive culture. She claimed that she was the only female developer on the team.
With time passing, Horvath felt that she was being treated differently, not because of her coding skills, but because of her gender. She says that she struggled to feel welcome. After a while, Horvath expressed her concerns publicly by starting a Twitter thread that barely scratches the surface of what she went through.
The negative publicity that took place afterwards made the founder resign from his role at GitHub. And his wife was no longer allowed into GitHub’s offices as well.
After these events, GitHub’s CEO at the time — Chris Wanstrath — publicly apologized to Julie Ann Horvath for what she had to go through during her time as a developer at GitHub.
An investigation was launched soon after, yet no evidence was found of the founder and his wife discriminating, harassing, or abusing any employees at the company.
What Is BitBucket? — Preview
BitBucket, a closed-core platform hosting open source projects — just like GitHub, was also founded in 2008. Bitbucket is written in Python and uses the Django web framework.
BitBucket was originally an independent startup only hosting Mercurial projects. However, the already-growing startup was acquired in 2010 by fellow Australian company Atlassian. Soon after, git was added to BitBucket as management noticed it was trending big time.
In the past, BitBucket used to be a massive supporter of Mercurial. Yet, on July 1, 2020, BitBucket stopped the support for Mercurial repositories. Here’s what they have to say about it:
“Building quality features requires intense focus, and supporting two version control systems means splitting focus — doubling shipping time and technical overhead. With Git being the more popularly used tool, Mercurial runs the risk of overlooked issues as we scale.
According to a Stack Overflow Developer Survey, almost 90% of developers use Git. In comparison, Mercurial is the least popular version control system with only about 3% developer adoption. In fact, Mercurial usage on Bitbucket is steadily declining, and the percentage of new Bitbucket users choosing Mercurial has fallen to less than 1%.
This deprecation will enable us to focus on building the best possible experience for our users.”
So if you are a fan of Mercurial, BitBucket is no longer the place to be in.
The main aspect of BitBucket though is that it integrates seamlessly with JIRA, Confluence, HipChat, and other amazing Atlassian tools to make your work life more manageable and less stressful. Here are some features that BitBucket brings to the table:
- BitBucket Pipelines — a built-in CI/CD tool so you don’t have to bounce between various apps to manage your development life cycle from end to end.
- Code review — Pull and Merge requests so you can easily collaborate with your teammates and enhance your code quality. Code review comments are as well supported in the BitBucket pull requests.
- Branch permissions — Give the right repository access to the right person on your team.
- Security — BitBucket keeps your code secure with IP whitelisting and 2-step verification. Bitbucket comes with a SOC 2 Type II certification for peace of mind.
- JIRA & Trello integration — BitBucket’s integrations with JIRA and Trello will definitely make your project management much easier than you can imagine.
- Other integrations with tools like Slack, Crucible, Bamboo, Jenkins, HipChat are also available.
- Branch comparison and commit history.
- Bitbucket desktop Mac and Windows client called SourceTree; BitBucket app for Android devices named BitBeaker.
- Bitbucket Snippets allow you to create and manage multi-file snippets of all kinds.
- LFS support — shorter clone and fetch times for developers working with larger files.
- Source code search.
- Wikis for projects.
- BitBucket Cloud for hosting static websites.
- BitBucket documentation.
- BitBucket tutorials and training videos.
- Atlassian support teams are always available to solve your problems.
- Atlassian marketplace.
- Smart Mirroring for a faster clone, fetch, pull (only for Premium users).
BitBucket, except for boasting over 10 million users, is used by 60 of the Fortune 100 companies every single day.
BitBucket vs GitHub — Main Differences
Bitbucket vs GitHub: Repositories + Pricing
You can use BitBucket for free with up to 5 team members on board. With that plan, you also get unlimited and free private git repositories. You just need to apply for a community license and adhere to Atlassian’s open-source guidelines.
GitHub, on the other hand, also brings unlimited private and public repositories to the table. Still, it allows you to bring an unlimited number of users on board as well.
However, BitBucket Standard and Premium pricing plans come at significantly lower prices compared to GitHub, respectively $3/user/month and $6/user/month.
GitHub Team and Enterprise pricing plans are respectively priced at $4/user/month and $21/user/month. With these plans you also get access to GitHub’s premium support.
BitBucket vs GitHub: Continuous Integration / Delivery
In the past, a big GitHub disadvantage was that it didn’t have a built-in CI/CD like its competitors GitLab and BitBucket. But with the release of GitHub Actions back in November of 2019, GitHub upped its DevOps game significantly.
Yet, some customers have expressed their concerns with GitHub Actions being developed while Azure DevOps still exists. Allocating resources for a product that’s already available, ruffled some users’ feathers as they’d rather see GitHub investing in stuff that actually needs fixing.
Either way, GitHub Actions was definitely a big hit in the DevOps industry. Even though they still may have slight UI/UX issues, if they manage to nail down a simplistic UI and come up with a migration strategy between services, GitHub will definitely make a statement.
Some developers say that GitHub basically does what Apple has been doing for years — making its core and secondary products work seamlessly together so people who have one Apple product would want the rest as well.
In the beginning, some developers complained about having a “very, very average” experience with Actions. Doing simple tasks like posting a release notification to a Slack channel seemed to be full of errors. It would accidentally send the message a random number of times in Slack stacking your lock screen with annoying notifications. “The whole experience feels amateur and clunky” — others state.
Some customers have complained that you’ll need to get code reviews from your team each time you need to iterate the workflow script if you have a protected master branch. Without committing directly to the master branch, you have no obvious way of testing or validating actions.
GitHub Actions has improved significantly in the past few months and it definitely makes perfect use for personal projects. The documentation may not be the best and UX issues may still occur, but Actions has definitely evolved into a more polished version with clearer UI.
Some developers say that reusing other people’s actions works like magic. Developers forecast that the “reusability” aspect of GitHub Actions is going to play a huge role in the decision-making process of teams.
As far BitBucket Pipelines as goes, it seamlessly integrates with other Atlassian tools you may be using allowing you to manage your DevOps cycle effortlessly so you can accelerate the development process.
It has also been longer in the market than Actions has which means BitBucket has had more time to collect and evaluate feedback to make Pipelines function better. Nevertheless, both Pipelines and Actions will deliver more than enough so you can manage your entire DevOps workflow in one place.
BitBucket vs GitHub: User Interface
Straight up, GitHub has a simpler and more intuitive interface than BitBucket (according to a major group of devs who have used both platforms). GitHub is a good start for beginners looking to master git and online source code hosting. The platform boasts tons of training materials and guides to get you started quickly.
Moreover, GitHub’s interface makes it easy for you to access the issue tracker, built-in CI/CD (GitHub Actions), and other DevOps features from one place.
BitBucket, on the other hand, might not be the most intuitive git platform. Still, it’s definitely a powerful one meaning it comes with tons of features to meet the software expectations of small businesses and enterprises. Some of those BitBucket features include pull requests, issue tracking, SSH key management, and more.
Yet, some users have noticed UX problems when using Mercurial repos like everyday commands being “dog slow” taking 5–10 seconds on every single interaction. Others have reported that navigating through BitBucket “felt like wading through molasses.” Though BitBucket git repos seem to be much faster than the Mercurial ones.
Other developers find BitBucket’s web UI to be quite “unusable.” They say that the design is a “weird combination of too much information crammed into too little space.” Others have complained that there’s too much whitespace that can be used to display some major features instead of hiding them in dropdown or sub menus. Another group of users have submitted complaints about BitBucket’s search engine being very limited.
Here’s how a developer from Hacker News described Atlassian UI: “If the Atlassian UI was a person, It would be a bureaucrat. It’s officious, joyless, strictly regimented, takes forever to accomplish anything and is actively unhelpful. Dealing with it is an unfortunate necessity which leaves me feeling confused, frustrated and a little depressed.”
All in all, quite some users still feel let down by Atlassian as they’ve been writing blogs for the last few years focusing more on UX, but nothing game-changing has occurred. “All they’ve done,” some developers say, “is ‘standardising’ their design language, instead of improving their products.” “All of their products,” others demand, “now have a consistent but clunky appearance.”
BitBucket vs GitHub: Integrations
One of the main selling points of Atlassian’s BitBucket is that it integrates flawlessly with the rest of the tools in Atlassian’s suite of developer tools. Many enterprise companies using JIRA use BitBucket as well as it allows development teams to manage projects effortlessly without any hassle.
BitBucket boasts tons of integrations but the most valuable seems to be the integrations with JIRA and Trello. JIRA for issue tracking and Trello for project management. Both tools are world-renowned and used by millions of organizations. Here are other great integrations BitBucket comes with:
- Amazon Web Services.
- Microsoft Azure.
- Docker Hub.
- And many more.
BitBucket also allows you to import repos from Git, CodePlex, Google Code, HG, SourceForge, and SVN while GitHub is limited only to Git, SVN, HG and TFS.
Nonetheless, GitHub also comes with JIRA and Trello integrations. In fact, in 2018, GitHub came out with a statement announcing that it has been working closely with JIRA to create an integration allowing you to connect your repository code to JIRA Software Cloud.
What’s more, the GitHub Trello integration allows you to link GitHub pull requests inside your Trello cards. GitHub also boasts tons of other integrations with Slack, Codefresh, Semaphore, LogRocket, and Waydev, to name a few.
However, GitHub as a stand-alone product, doesn’t offer the unifying compatibility of a product suite that Atlassian offers along with its amazing products like JIRA, BitBucket, Confluence, and more. Therefore, you’ll have to familiarize yourself with new 3rd-party apps every time you integrate.
BitBucket vs GitHub: Wikis & Collaborations
Every BitBucket repository comes with a wiki. You simply enable it and have full control over it. Having a wiki for your projects can be unbelievably helpful as you can use it as notes or public docs.
You also get wikis to your GitHub repositories but only when subscribing to the following plans — GitHub Free (for public repositories) and GitHub Pro, GitHub Team, GitHub Enterprise Cloud and Server (for private and public repositories).
BitBucket vs GitHub: Community
One of the main differences between GitHub vs BitBucket is that GitHub mostly focuses on growing its huge open-source community whereas BitBucket strives for signing up more enterprise clients (though you can argue that lately).
BitBucket didn’t start with a heavy focus on open source though. That’s why GitHub gained immense popularity right off the bat while BitBucket wasn’t able to record a large number of users signing up early on. Nevertheless, both platforms have seen tremendous success in recent years, BitBucket boasting over 10 million users and GitHub claiming the top with more than 50 million users.
Honestly, BitBucket and GitHub are perhaps the most recognized source code management services for developers (we can add GitLab to that number as well). You can use both GitHub and BitBucket through their fully cloud-based service or on premises.
Some users, however, bear the mentality that running open source projects on BitBucket is “unimaginable” as the community is way smaller than GitHub’s. But also because BitBucket’s community doesn’t feel like a place where you’re encouraged to discuss, open issues or do any meaningful interaction (as some developers would say) with others.
*One of the big community downsides of GitHub, however, was noticed when GitHub changed how the ranking system on the Trending page functioned.
It used to show the most star-stacked projects in the last 24 hours across the entire platform. Many people referred to it as the “defacto front page of the open source community.” Even though it was slightly flaw-driven, many developers used to check it every day and get excited about interesting projects and then contribute.
Today, If you head to the Trending page, you might find something similar to this:
For a notion to be ranked first that has a total of 13 stars and 0 new stars in the last 24 hours is mere baloney.
The new trending system hasn’t been screwed completely though and you still can find quite popular projects on the trending page. But you’ll most probably rely on your home feed, search, and Twitter. Some developers have mentioned that they feel disconnected from the rest of the open source community due to those changes.
*Credits to Jared Palmer
BitBucket vs GitHub: Enterprise Editions
BitBucket’s two enterprise plans (Server and Data Centers) are respectively priced at $2,900 and $1,980 for 25 users per year.
BitBucket Data Center comes with:
- Git based code hosting and collaboration for teams.
- Active-active clustering for high availability.
- Smart mirroring for performance across geographies.
- BitBucket annual term license + maintenance.
BitBucket Server comes with:
- Git based code hosting and collaboration for teams.
- A single server deployment.
- BitBucket perpetual license + free year of maintenance.
GitHub also offers two enterprise plans, GitHub One and GitHub Enterprise, starting at $21/month per user. Both pricing plans offer more features than the other GitHub plans, emphasizing the support availability. However, the cost of GitHub is definitely higher than the one of BitBucket. If you are tight on budget, BitBucket may be a better option for you.
Here’s how GitHub Enterprise pricing compares to BitBucket’s:
GitHub’s per-user model results in greater expense. What you would pay GitHub for a full year with a 1,000-developer team will be the same for 10 full years at BitBucket.
Developers have also complained about GitHub Enterprise’s rather sophisticated UI. “I regularly have to depend on the search function to find the repo I want” — some say.
When it comes to “GitHub vs BitBucket” pricing for enterprises, BitBucket wins the race.
BitBucket vs GitHub: Other differences & similarities
Importing/Exporting — Importing GitHub repositories to BitBucket is made pretty easy due to BitBucket’s importer. Yet, the same can not be said about GitHub. To transfer your repository data over to GitHub, you’ll need to do more digging and work (not impossible tho).
Community support — If you take a look at StackOverflow, you’ll find out that GitHub questions appear every couple of minutes, while BitBucket questions may take a few hours before showing up in threads. Nevertheless, you’ll find great communities on both sites, but GitHub is miles ahead in terms of community support. Its open source nature has gained GitHub a golden reputation.
Academic plans — Both platforms offer academic plans:
GitHub — https://education.github.com/BitBucket — https://www.atlassian.com/software/views/bitbucket-academic-license.jsp
Mobile versions — Some developers have been concerned with GitHub’s mobile version. Others report that GitHub regularly freezes their internet browser when larger files are being reviewed. Even though you may not always be coding on your mobile but only using it to handle quick tasks like approving PR’s, unresponsiveness can definitely drive you up the wall.
Customer support — Honestly, both GitHub and BitBucket’s support teams do a terrific job.
Embedded Trello boards — With BitBucket, you can use Trello boards embedded right into the platform, helping you to manage your BitBucket workflow smoother and keeping non-technical people on the same page with tech people. Whereas GitHub, as a tool that’s not a part of Atlassian’s suite of developer tools, can’t do that.
Security — When it comes down to security, BitBucket and GitHub both come with a 3rd party SOC 2 Type II audit. You can also configure two-factor authentication using a mobile app on both platforms.
Granular branch permissions — You can also regulate developers’ access to repositories with granular branch permissions in both GitHub and BitBucket. BitBucket Cloud also lets you override existing access for certain customers and thus trigger merge restrictions at the branch level.
Git Large File Storage (LFS) — Both GitHub and BitBucket come with git LFS to replace large files similar to video, datasets, and graphics with text pointers inside git.
Worthy Alternatives Codegiant
Codegiant is a great GitHub and BitBucket alternative that comes with a simple issue tracker, built-in CI/CD tool, source code management, and a completely customizable doc tool.
The uniqueness of Codegiant stems from its simplistic and intuitive design. No major features are hiding in dropdown or sub menus. You’ll have everything you need sorter out in one beautifully-designed and straightforward interface.
Let’s break it down:
Codegiant’s issue tracker offers both Kanban and Scrum board views.
Other features include roadmaps, sprints, epics, tasks’ analytics, tasks and subtasks, tag, mentions, comments, time estimates, and a Jira importer, to name a few.
Codegiant’s Issue Tracker can definitely help you organize your projects in a way that won’t make you blast your head against the hard-concrete walls in your office every time you look at your backlog.
Repositories & Web IDE
Codegiant is designed with its own Web IDE so you can avoid the tedious bouncing between multiple browsers while completely annihilating your focus.
You can also use pull and merge requests to easily collaborate with your teammates and thus enhance the quality of your code. Inline comments, threaded conversations, and mentions are likewise available.
You can also control the access to your repositories to make sure the right people are working on the right things.
With Codegiant Flow, you can run concurrent CI/CD jobs. You can also effortlessly define and orchestrate how job execution is run and automate deployments. Codegiant Flow will help you with accelerating your DevOps life cycle so you can meet any deadline.
Codegiant’s robust publishable doc tool will help you design API docs, status pages, knowledge bases and product roadmaps without any hassle whatsoever. You can build documents the way you like it.
Compare pricing to BitBucket and GitHub:
GitLab is one of the best git platforms out there. It’s quite popular as well. It took off after it graduated from Y Combinator in 2015 and a lot of migrations to GitLab from GitHub occurred when Microsoft bought GitHub in late 2018.
The platform boasts great features to power up your entire DevOps life cycle. The software is used by more than 100,000 organizations globally, including NASA, Goldman Sachs, Sony, EA, and other big brands and companies.
Issue Tracker (GitLab Issues):
GitLab Issues allow you to closely monitor the direction your tasks are heading towards. You can note everything down and thus avoid issues and tasks from getting lost in email or chat. You can use tags and comments as well to bring your team on the same page.
GitLab boasts one of the top-notch CI/CD tools out there. It’s one of the major reasons why developers preferred it over GitHub in the past.
GitLab also comes with pull and merge requests so that you can get your code peer reviewed and thus enhance the quality of your build. Similar to Codegiant, GitLab boasts a built-in Web IDE as well.
Launchpad is a fantastic source code management platform from Canonica. It’s primarily hosting Ubuntu projects and that’s the reason why (some developers speculate) Launchpad hasn’t gained the popularity of GitHub even though it’s been present for many years.
- Inside Launchad’s issue tracker, you’ll have the chance to create bug reports, statuses, patches, and comment on issues as well. Emails, issue links, API interfaces, and other features are likewise available in Launchpad’s issue tracker.
- Code reviews is one of the strengths of Launchpad. Code reviews come with side by side diffs so you can explicitly see the changes that have taken place in your repos. It will help you bring your team on the same page.
- Code hosting (supports both Git and Bazaar).Team Branches.
- Mailing lists are available in each team.
- Translations — Get your software translated by a community of 50,000 developers coding in more than 290 languages.
- Support in your language.
- Web services API.
- Track bugs by email.
- Knowledge bases and FAQs.
If you are seeking a feature-rich bug tracking system, you should definitely put Launchpad on your radar. It comes with heaps of features and you can easily adapt it to your development workflow.
Google Cloud Source Repositories
Google Cloud Source Repositories offers a 12-month free trial with a limit of 5 users and 50 GB of storage. You, alongside your team, can test the platform without risking a penny to see if it’s the right fit for you.
Yet, the trial period can be a bit limited in regards to features, you may not be able to fully examine each feature that Google offers. Nevertheless, you can upgrade your plan easily. If you want to check more about Google Cloud Source Repositories’ free plan limits, do it here.
Google has ensured that their repository platform can handle your entire DevOps cycle and that’s why it has a built-in CI/CD framework to accelerate your development process. You can set up automated triggers for testing your code as well.
Cloud Source Repositories Features:
Ability to handle your entire DevOps cycle. No need to use 3rd party tools.
- Build and test your code.
- Track changes that occur in your code over time with versioning and aliasing for serverless requests.
- Detailed logs so you can get insights into your repository’s history.
- Review and debug your code even while it’s production.
- Integrations — seamlessly integrate your repos with other Google products.
- View branches, tags, or commits through Source Browser.
- Syncing your Google Source repos with other git providers like GitHub or BitBucket can be done effortlessly.
- Google has multiple data centers across the world with high-availability infrastructure, allowing you to completely erase any thoughts about security breaches you may have.
AWS CodeCommit is another source code platform quite similar to Google Cloud Source Repositories that comes with a free tier plan as well. All you have to do is adhere to the free-plan limits as mentioned here. You can bring 5 users on board and get 50 GB of storage. Adding extra users comes at $1 per user.
What’s more, you can pretty much get access to unlimited repos. You’ll first be granted 1,000 repos. And then upon a free request you can increase that number.
Here’s a great comparison table (GitHub vs. CodeCommit) by Artur Yolchyan, an expert software developer running the Code Skills blog.
AWS CodeCommit vs GitHub
That’s my two cents on “BitBucket vs GitHub” — tried to make it as thorough as possible. Hopefully, I was able to shine light upon some aspects of both platforms. Feel free to add anything else in the comments.