The sky is falling! At least that’s what it seems like in the dev community since rumors of Microsoft’s Github acquisition began swirling. This week, it became official, and GitHub was acquired for $7.5B in stock by Microsoft. Many developers are not happy. If you’re looking for GitHub alternatives, there are plenty out there, but GitLab and Bitbucket currently lead the pack. You can see what our community is saying about GitHub vs GitLab vs Bitbucket here.
What’s the problem?
The fear over this acquisition is based around Microsoft’s troubled history with open-source:
The intrinsic parallelism and free idea exchange in open-source software has benefits that are not replicable with our current licensing model and therefore present a long-term developer mindshare threat.
Linux is a cancer that attaches itself in an intellectual property sense to everything it touches.
Steve Ballmer in a 2001 interview
However, the Microsoft of 20 years ago is not the same Microsoft of today. They lost the war on open-source, and they know that. In the last several years, Microsoft has made huge open-source contributions like .NET Core and VS Code. Microsoft is now the most active organization on GitHub in the world. Now might also be a good time to mention that Github itself was never open-source to begin with.
In the near future, very little is likely to change. Microsoft has said GitHub will continue to operate independently and “will remain an open platform”. The first change I think we’ll see is added features like automated deployment to Azure and CI/CD.
That being said, Microsoft didn’t pay $7.5B for nothing. The focus will probably be increasing revenue from enterprise users and getting them onto Azure as well:
We will accelerate enterprise developers’ use of GitHub, with our direct sales and partner channels and access to Microsoft’s global cloud infrastructure and services.
Why should I switch?
Pros of GitLab
- Self hosted
- Has community edition
- Familiar interface
- Easy setup
- Includes many features, including CI
- Nice UI
- Has an official mobile app
Cons of GitLab
- Slow UI performance
Note: this refers to the hosted product, Gitlab.com, which has had some performance issues recently:
Pros of Bitbucket
- Free private repos
- Simple setup
- Nice UI and tools
- Unlimited private repositories
- Affordable Git hosting
- Integrates with many services and APIs
- Reliable Hosting
- Pull requests and code reviews
Cons of Bitbucket
- Not much community activity
- Difficult to review PRs because of confusing UI
- Quite buggy
Overall, both Gitlab and Bitbucket seem to be much better suited for private repositories than open-source projects. If your organization is anti-Microsoft and either doesn’t mind self-hosting (or has to), GitLab may be worth considering. On the other hand, if you don’t want to deal with the hassle of hosting your own solution and appreciate built in support for Jira and Trello, take a look at Bitbucket.
Which companies are using GitLab and Bitbucket?
If there’s one thing we know at StackShare, it’s stacks. Particularly the tech stacks behind some of the world’s best software companies. If you’re considering switching away from GitHub for your company, it’s probably helpful to understand what kinds of companies are using GitLab or Bitbucket, and why.
GitLab is currently used by some larger companies like Ticketmaster, EA, and Stack Exchange. At Ticketmaster, they’ve used GitLab and GitLab CI to help modernize their deployment and ramp up to weekly releases for their mobile product. From their customers page they also seem to be fairly popular in industries dealing with sensitive data like financial services, telecom, healthcare, and public sector. This is likely due to their self-hosted offering.
Bitbucket also has some heavy-hitters on its roster like Paypal, Salesforce, and Tesla. Others, like Trulia have made heavy use of Bitbucket’s deep integration with Jira and the workflows that enables. Similarily, Rakuten has gone full-Atlassian, using Bitbucket, Jira, and Confluence together. The simplicity of using this suite of tools together seems to be a major draw.
If you have an open-source project on GitHub, it might be a good idea to leave it there and keep pushing changes. A small chunk of the community may migrate, but the overwhelming majority is still there and will probably continue to be for the foreseeable future.