Which is better GitHub or GitLab 1

Internet GitHub vs. GitLab

display

You can manage and host your source code via GitHub and GitLab, alone or in a team, free of charge or with a subscription. We'll show you the main differences and why you should use one or the other platform.

Basic idea of ​​both platforms

Just like the names, the offerings from GitHub and GitLab are similar. First of all: Unless you develop yourself, but know GitHub as a download source for software, you don't care about any difference. This works equally well on both platforms and is basically just a small side aspect of the actual range of services.

Both platforms form the basis for source code management (SCM) based on Git. You can work on both platforms directly in the browser, in the terminal with Git itself or almost any Git environment such as IDEs and code editors. Both variants enable free private and public repositories. Both offer tools for working in a team, integration of and in third-party software as well as hundreds of advanced functions distributed across different cost models.

If you are looking for the best platform for a large project with hundreds of developers, global infrastructure and given framework conditions, you will not get around a detailed evaluation. The differences in detail are too numerous for this and are also distributed over complex subscription models. GitLab itself offers a good starting point for this in a detailed feature comparison. This should of course be used with caution, but at least GitLab is fair enough to also list functions that only exist in the GitHub competition.

If, on the other hand, you "only" want to accommodate your private tools and scripts on one of the platforms, or if you want to run public projects without major IT management, the free offers can be compared to some extent across the board.

The biggest differences

The most obvious difference is certainly its size and operator: GitHub is almost a monopoly, at least as far as the free repositories are concerned, and by far the best-known SCM portal. In addition, GitHub is now part of Microsoft, GitLab.com is operated by GitLab Inc. And the sheer size alone offers advantages: The probability of finding users and contributors ("employees") increases, third-party repositories are (even) easier to link to your own projects, and trust in longevity increases (see the set Google Code) and there are also more developers working on the platform and on specific third-party software. Overall, this also means that GitHub is considered the more stable, high-performance system.

display

GitLab counteracts this with features: Any number of free repos have long been a unique selling point of GitLab, only a few months ago GitHub followed suit. Even today, GitHub has more restrictions on this than GitLab. For example, both providers have the concept of protected branches, i.e. branches that only specified users are allowed to work on. With GitHub this only works with public repos, with GitLab also with private ones. The restriction of a maximum of three developers per private repo is even more dramatic. For example, if you would like to manage an application for your sports club with four colleagues in a private repo, you would have to switch to the minimum subscription for 7 USD per month at GitHub (which would then also enable protected branches).

On a professional level, the topic of Continuous Integration / Continuous Deployment (CI / CD) should be mentioned: GitLab offers corresponding tools as standard, with GitHub they have to be retrofitted via third-party software. The topic of user management is probably even more prominent: GitHub only allows role-based rights management from the team version, which costs 9 USD per month per developer, while it is standard at GitLab. You can't really say that GitLab generally does more than GitHub, but at least in the free area, this tendency can be clearly observed.

GitLab can be installed as an open source alternative to GitHub in the free Community Edition without any further problems on your own hardware or a virtual server. At GitHub, this is only possible if you purchase the paid enterprise version.

And the service?

You will find many sources that attribute better usability to the GitLab interface in the browser - but that is clearly in the eye of the beholder, because the differences are not that big either. With one huge exception: GitHub's surface is fixed in size, while GitLab is properly scaled and offers a lot more workspace. When it comes to creating and changing code directly in the browser, GitLab is also clearly ahead, as you get a real little IDE here, whereas GitHub only provides a minimalistic text editor.

display

As soon as you want to use the platforms not in the browser but via IDEs or editors on your desktop, the world looks completely different. Both platforms can be easily integrated into many IDEs via a URL and the user data and once this happens, you won't actually notice anything from GitHub and GitLab - they are then almost just simple storage locations. At least when it comes to the basics, i.e. the Git functionalities. However, if in doubt, GitHub can be found more often as a standard option in third-party software - the advantage of the more popular platform mentioned above.

If the whole subject of Git, SCM and GitHub / GitLab is completely new to you, you will have to get used to both systems equally. Usability is certainly not a big decision criterion.

Decision support

If you want to keep it short, you have to generalize a little bit about the comparison and express it tendentiously: GitLab offers more features in the free area and a more complete package out-of-the-box as well as the cheaper contracts in the enterprise segment. GitHub, on the other hand, scores with infrastructure / performance and enormous market power.

display

Everyone has to decide for themselves whether the larger GitHub community or GitLabs More out-of-the-box tools is more important for beginners. Anyone who has bigger plans will have to carry out a point-by-point comparison with both providers anyway. And also with third-party software and integrations: Both platforms can be expanded with hundreds of functions, so that ultimately pretty much anything imaginable can be done with both.

Last but not least, it should not be forgotten that both platforms do not stand still at all. For example, GitLab's standard container registry is often cited as a major advantage over GitHub. This is basically correct, but the same concept is also available on GitHub, but currently still as a beta with its own registration.

The choice is probably only really clear in two cases: GitLab, if you want to operate a free private repository with as few restrictions as possible. And GitHub, if you want to promote a global open source project with the greatest possible dissemination.