News
Github v.s. Gitlab (and why we prefer GitLab)
— GitLab is a such-called repository management tool. You’re using this with software development, Gitlab supports the entire DevOps cycle. Development teams building software can hardly do without such a tool, as they are crucial for successful and fast development.
%402x%20(2).avif)
GitLab is not the only player offering such a repository management tool. Another major player is GitHub. When searching for the best repository management platforms, many developers compare the two most popular providers of this service: GitHub and GitLab.
We work with GitLab, and we didn't choose it by accident. Curious why? In this article, we will explain the key differences between GitLab and GitHub, and why we chose GitLab. Based on the comparison we make, we hope you can also make a choice that aligns with your needs.
What is GitHub?
Let’s start with a brief explanation of GitHub. GitHub is the oldest one of the two platforms. The program was launched in 2008 and is currently the largest in terms of user base. GitHub promotes and supports hosting open-source code, but it is not a fully open-source platform.
Most projects built within GitHub are publicly accessible, but it’s also possible to keep a repository private. This option is free for up to 3 collaborators, but beyond that, a paid team subscription is required. Prices start at $4 per user and can go up to $21.
In 2018, it was announced that Microsoft would acquire GitHub for $7.5 billion (around €6.4 billion). Not all users were happy with this news, as some developers feared that with the tech giant on board, GitHub’s focus on user needs might decline.
What is GitLab?
In our previous blog post, we discussed what GitLab is in detail. GitLab was launched later than GitHub, in 2011. Since then, it has been gaining increasing popularity, especially among developers and open-source enthusiasts. The ‘Community Edition’ of GitLab is fully open source, allowing developers to actively contribute to improving its features.
Unlike GitHub, GitLab places no restrictions on the number of users in private environments for projects. With the ‘’Free plan’’ of GiLab you can start completely free.
Naturally, you’ll need to opt for a paid account if you want to use certain additional features, such as assigning a ‘weight’ to an issue or select multiple people to approve a code review.
When news of Microsoft's acquisition of GitHub came out, many developers decided to migrate their projects to other platforms, primarily GitLab.
A comparison between GitHub and GitLab
The key similarities
We are big fans of GitLab and chose this platform of course intentionally. But that doesn't mean choosing GitHub is a bad choice. The offerings from both companies are quite comparable, and the core features for building successful software products are integrated into both services. Many functionalities offered by GitLab and GitHub are quite similar:
- Creating pull requests: notifying team members of changes made to the repository
- Integrations with external tools, such as Slack
- The ability to fork or clone repositories
- Code reviews
- Code snippets: creating and reusing small parts of source code
- Issue tracking
The key differences
Continuous Integration / Continuous Delivery
One of the biggest differences between GitLab and GitHub is the built-in Continuous Integration/Delivery functionality in GitLab. With Continuous Integration (CI), the team’s code is integrated into a shared repository. Developers push new code through a Merge (Pull) Request, which then triggers a pipeline to build, test, and validate the new code before any changes are made to the repository.
With Continuous Delivery (CD), the code validated by CI is deployed to the application.
GitLab provides CI for free, meaning there’s no need to use an external CI service. If you’re already using an external CI tool, though, it’s easy to integrate it with GitLab.
GitHub didn’t initially have this feature, but they’ve recently introduced GitHub Actions. This addition allows GitHub users to now use CI/CD functionalities.
However, GitLab offers a broader and more robust set of tools in this regard. For simple development projects, GitHub Actions is working well, but as projects become more complex, GitLab offers a more integrated solution.
The GitHub/GitLab Community
GitHub became incredibly popular partly because of its large community of active developers. GitLab has also embraced this by organizing GitLab events and meetups to connect its open source developers.
If a large community of developers is important to you, GitHub is probably the better choice, even though the younger GitLab is working hard to make its mark.
Hosting
GitHub is primarily hosted in the cloud (although self-hosting with GitHub Enterprise is possible), while GitLab offers both self-hosting and cloud hosting options. This is particularly useful for organizations that want to tailor their hosting to their own infrastructure and retain full control over their systems.
Our choice
At first glance, GitHub and GitLab don’t seem to differ much. Both programs have the core functionalities needed for a good repository management tool.
GitHub is still the most popular program when it comes to user base and projects. But for us, the most important factor is that GitLab listens so well to the needs of its users. They continuously improve their software and actually take action based on user suggestions. In general, we find the program more user friendly. Additionally, it offers just a few more features that are important for successfully developing software, such as built-in CI/CD integration.
For these reasons, we are enthusiastic about GitLab. What is your opinion? Which platform has your preference?
Maarten
CEO