Code review is an essential part of the software development process. It allows you to find and fix bugs, resolve errors, and improve code quality before implementation. Git, released in 2005, has become the gold standard for version control systems (VCS). It is the most reliable tool for source code and version control. According to a survey published by JetBrains SRO in 2021, 93% of developers surveyed use Git. It offers the most robust feature set for programmers, has the most reliable workflow, and is supported by most third-party platforms on the market.
There are three primary options among code repositories for those who use Git. They are GitHub, GitLab, and Bitbucket. All these three platforms offer excellent services for managing repositories. So which code repository should you use? And which one will be the best choice for your team’s needs?
Each tool has its share of fans. According to the research mentioned earlier by JetBrains, GitHub is leading with a 34% market share. GitLab and Bitbucket have 29% and 21% market share, respectively. They all have core features like integrated editing, pull request management, code review, bug tracking, mark-down support, snippets, and forks/clones of repositories, to mention but a few. But there are some differences.
GitHub, first launched in 2008, is currently owned by Microsoft Corporation. It is a code hosting platform for version control and collaboration centered around the Git VCS. It has become so popular that it is almost a synonym with Git. The platform allows collaboration for free on open-source projects. It has become the epicenter for software developers worldwide to share code easily and cooperate on major open projects. The company says that when it started, it took one year to get to 33,000 repositories, and in just two years, it had already hosted its millionth repository. Developers from across the globe continue to consider GitHub as the place where they can join a project to gain experience, show their proficiency by building a portfolio of their projects, and communicate with the active community of other developers to solve any problem. It’s the developer version of Facebook. According to the GitHub website, 83 million developers and 4 million organizations use the platform when we post this article. It hosts more than 200 million projects in total. Many of the largest companies in the world, including Pinterest, Etsy, Spotify, and Facebook, use GitHub.
GitHub provides a free wiki, issue tracker, project planner, and a code review system that works via pull requests. GitHub does not offer any testing service but has a marketplace for integrations with third-party tools. GitHub also has a robust REST API if you create custom integrations.
GitHub allows unlimited public and private repositories for free. The company started offering free private repositories again in 2020, switching from a pay-for-privacy to a pay-for-features model. The cost is $4 per user per month for teams that want more advanced features. GitHub also offers an enterprise version that allows you to host GitHub instances on your servers. This enterprise service costs $21 per user per month.
GitLab was founded in 2011 and launched three years later in 2014. The reason for such a long delay is that GitLab was initially developed as a collaboration tool rather than a repository hosting solution. Invented by a Ukrainian programmer, the platform made a considerable impression on another programmer from the Netherlands in 2012 by its code quality. Both programmers teamed up, upgraded the product, and in 2014 GitLab was officially incorporated as a limited liability corporation. GitLab’s website defines the corporation as an open core company that develops software for the software development lifecycle with 30 million estimated registered users and more than 1 million active users. It has a vibrant community of more than 2,500 contributors. It is the platform for companies including Siemens, Goldman Sachs, Credit Agricole, and Airbus.
GitLab’s stated goal is to revolutionize workflows for development teams – meaning it does not just store code and help to collaborate but strives to do much more. The main distinction between GitLab and other systems is that it supports the entire DevOps cycle. GitLab defines DevOps as a software engineering methodology intended to integrate the work of software development and software operations teams by facilitating a culture of collaboration and shared responsibility. DevOps provides a high level of automation, enabling you to go rapidly between all the development and application stages. This approach makes the testing, staging, and release processes much faster. GitLab also supports its system’s continuous integration, deployment, and delivery. These tools enable the build process to run directly from Git.
While GitLab has fewer built-in integrations than GitHub, it is open source, meaning any part of the code is subject to customization. This option provides the platform with excellent flexibility, enhanced by a robust plugin ecosystem and REST API. You may even customize the login page and user interface to reflect your branding.
Regarding pricing, GitLab allows unlimited free public and private repositories, just like GitHub. It offers paid subscriptions focused on more relevant features for managers, directors, and executives. A paid subscription for their equivalent of GitHub enterprise is $19 per user per month. Another more expansive offering is $99 per user per month, and this service competes with Veracode and Checkmarx. Most importantly, GitLab can be hosted and run on a local system since it is open source. This fact means that private repositories and codes aren’t out there in the hands of third parties. From this perspective, GitLab is more secure than GitHub.
Bitbucket is today’s third most popular Git repository. Unlike GitHub and GitLab, it allows using Mercurial (another VCS technology). It was initially launched in 2008 and was quickly acquired by Atlassian in 2010. Bitbucket currently does not have as many features as GitLab or GitHub, but it attracts companies with seamless integrations inside the Atlassian ecosystem. Atlassian is famous for tools like Jira, Confluence, and Trello, so that’s a big plus for users who regularly work with those tools. Bitbucket’s website mentions that its “best-in-class Jira and Trello integrations are designed to bring the entire software team together to execute a project.” It has a robust application marketplace and an API that allows you to build your own integrations. Atlassian now has a build and testing service. Companies using Bitbucket include Samsung, Splunk, Netflix, and Barclays Capital.
Bitbucket’s initial road to popularity leans on the fact that it was the only one offering unlimited, free private repositories (before GitHub recently provided this). Bitbucket does not charge for personal public or private repositories, but unlike GitHub and GitLab, its pricing depends on team size. This fee is $4 per user per month if your project exceeds five users. It is worth mentioning that Bitbucket previously offered a self-hosted version which is no longer available.
Developers rarely universally choose between GitHub, GitLab, and Bitbucket. The more common question is which to choose based on the specific context of a project. At ScrumLaunch, we decide on the project and the tools and environments we need.
If you use Atlassian products or have less than five contributors to your project, consider Bitbucket.
If you’d like to support the open-source community, then GitLab might be a compelling option.
If you aren’t sure and want to make a safe choice, that would be GitHub.
Author: Maryna Kharchenko
Maryna is a research analyst at ScrumLaunch responsible for tracking the latest trends in the technology industry and providing insights to our clients and the broader startup community.
In the foreseeable future, almost every physical object, regardless of its size or type, is expected to be linked to the internet. According to Statista estimates, now there are about 15 billion such objects in use, and the forecast is that this number will double to 30 billion by 2030.Read more
The choice of the tech stack can make or break the product's success and, as a result, the business's overall success. There can be several reasonable solutions for the same product. Still, when making a final choice, it is vital to keep in mind that the primary purpose is to create a product that's not only modern looking but also stable, reliable, and maintainable.Read more