GitLab is a free, open source version control & collaboration project written in Ruby and released under a custom open-source licence. It has 24,544 GitHub stars, 5,983 forks and 36 open issues, and was last pushed 5 hours ago. On this registry it ranks #6 of 30 tracked projects in Version Control & Collaboration, with 5 head-to-head comparisons available. It gained 7 stars over the last 6 tracked days.

GitLab — AI-powered DevSecOps for faster, secure software delivery

What is GitLab?

GitLab is an open-core DevSecOps platform that gives teams Git repository hosting, merge request code review, CI/CD pipelines, issue tracking, and wikis in one self-hostable application, aimed at organizations that want to run their development lifecycle on infrastructure they control.

What it is

GitLab is a Ruby on Rails application that manages Git repositories and the work that surrounds them. It combines repository hosting with fine grained access controls, merge requests for code review and collaboration, and continuous integration and continuous deployment pipelines that build, test, and deploy applications. Each project can also carry its own issue tracker, issue board, and wiki, so planning and documentation live beside the code. The project is open-core: most of the code is MIT, while the files under /ee are proprietary but source available and open to contributions.

The concrete thing it replaces is the assembly of separate tools that most teams otherwise stitch together. Instead of running a Git repository manager, a standalone code review tool, and a distinct continuous integration server that must be wired back into the repository, GitLab provides one application covering all of those roles. The README notes that GitLab CI is a continuous integration server that is easy to integrate with GitLab, which is the point: the pipelines, the review workflow, and the repositories share one permission model and one interface. This registry entry is a read-only mirror of GitLab Community Edition; all development happens in the canonical source hosted on GitLab.com.

Key capabilities

  • Git repository management with fine grained access controls that keep code secure.
  • Merge requests for code review and collaboration.
  • CI/CD pipelines to build, test, and deploy applications.
  • Per-project issue tracker, issue board, and wiki.
  • Three editions: GitLab Community Edition (CE) under the MIT Expat license, GitLab Enterprise Edition (EE) with extra features aimed at organizations with more than 100 users, and JiHu Edition (JH) tailored for the Chinese market.
  • Open-core licensing, with most code under MIT and /ee files proprietary but source available.
  • Omnibus packages for Debian and RPM, installed through the system package manager.

Who uses it and how

  • More than 100,000 organizations use GitLab, and the README describes it as the most popular solution for managing Git repositories on-premises.
  • Organizations with more than 100 users typically move to Enterprise Edition and become subscribers to get official support alongside the extra features.
  • Teams operating in the Chinese market use the JiHu Edition, which is tailored specifically for that region.
  • Teams that do not want to run anything themselves use GitLab.com, where GitLab is available as a free hosted service.
  • Contributors working on GitLab itself set up the GitLab Development Kit (GDK), rather than installing and configuring every dependency by hand.

Getting started

The recommended installation is the Omnibus packages available from the GitLab package server; select the operating system, download the Debian or RPM package, and install it with the system's package manager. For development on GitLab itself, use the GitLab Development Kit (GDK), or copy config/puma.example.development.rb to config/puma.rb if configuring dependencies manually.

How it compares

The facts provided name no comparable tools, so GitLab stands alone in this registry. Within the project itself the comparison is between editions rather than products: Community Edition is free under the MIT Expat license, while Enterprise Edition requires a subscription for extra features and official support. JiHu Edition is the third variant, tailored for the Chinese market.

When to use it — and when not to

Self-hosting means meeting the system requirements documented in doc/install/requirements.md and accepting operational responsibility for the application and its pipelines. Installing by hand rather than through Omnibus is explicitly described as slower and more error prone, and setting up a development environment without GDK means installing and configuring every dependency yourself, which the README calls a lot of work. The registry also lists the license as NOASSERTION even though the README explains the MIT plus proprietary /ee split, and this mirror is read-only, so issues and merge requests must go to the canonical project on GitLab.com instead.

project readme (upstream, from github) — read inline

GitLab

Canonical source

The canonical source of GitLab where all development takes place is hosted on GitLab.com.

If you wish to clone a copy of GitLab without proprietary code, you can use the read-only mirror of GitLab located at https://gitlab.com/gitlab-org/gitlab-foss/. However, please do not submit any issues and/or merge requests to that project.

Free trial

You can request a free trial of GitLab Ultimate on our website.

Open source software to collaborate on code

To see how GitLab looks please see the features page on our website.

  • Manage Git repositories with fine grained access controls that keep your code secure
  • Perform code reviews and enhance collaboration with merge requests
  • Complete continuous integration (CI) and continuous deployment/delivery (CD) pipelines to build, test, and deploy your applications
  • Each project can also have an issue tracker, issue board, and a wiki
  • Used by more than 100,000 organizations, GitLab is the most popular solution to manage Git repositories on-premises
  • Open-core, most of the code is MIT with the files in /ee being proprietary but source available and open for contributions.

Editions

There are three editions of GitLab:

  • GitLab Community Edition (CE) is available freely under the MIT Expat license.
  • GitLab Enterprise Edition (EE) includes extra features that are more useful for organizations with more than 100 users. To use EE and get official support please become a subscriber.
  • JiHu Edition (JH) tailored specifically for the Chinese market.

Licensing

See the LICENSE file for licensing information as it pertains to files in this repository.

Hiring

We are hiring developers, support engineers, and production engineers all the time, please see our jobs page.

Website

On about.gitlab.com you can find more information about:

Requirements

Please see the requirements documentation for system requirements and more information about the supported operating systems.

Installation

The recommended way to install GitLab is with the Omnibus packages on our package server. Compared to a self-compiled installation, this is faster and less error prone. Just select your operating system, download the respective package (Debian or RPM) and install it using the system's package manager.

For more information about other installation methods, see install GitLab.

Contributing

GitLab is an open source project and we are very happy to accept community contributions. Please refer to the CONTRIBUTING.md file for more details.

Install a development environment

To work on GitLab itself, we recommend setting up your development environment with the GitLab Development Kit (GDK). If you do not use GDK, you need to install and configure all the dependencies yourself, this is a lot of work and error prone. One small thing you also have to do when installing it yourself is to copy the example development Puma configuration file:

cp config/puma.example.development.rb config/puma.rb

Instructions on how to start GitLab and how to run the tests can be found in the getting started section of the GitLab Development Kit.

Software stack

GitLab is a Ruby on Rails application that runs on the following software:

  • Ubuntu/Debian/CentOS/RHEL/OpenSUSE
  • Ruby (MRI) 3.3.10
  • Git 2.33+
  • Redis 6.0+
  • PostgreSQL 16.5+

For more information please see the architecture and requirements documentation.

UX design

Please adhere to the UX Guide when creating designs and implementing code.

Third-party applications

There are a lot of third-party applications integrating with GitLab. These include GUI Git clients, mobile applications and API wrappers for various languages.

GitLab release cycle

For more information about the release process see the release documentation.

Upgrading

For upgrading information please see our update page.

Documentation

All documentation can be found on .

Education

Get up to speed quickly with comprehensive learning resources at GitLab University.

Getting help

Please see Getting help for GitLab on our website for the many options to get help.

Why should I use GitLab?

Read why our customers choose GitLab.

Frequently asked questions

Is GitLab free to use?

GitLab is open source. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does GitLab do?

AI-powered DevSecOps for faster, secure software delivery

What is GitLab written in?

GitLab is primarily written in Ruby. Its source is publicly available at https://github.com/gitlabhq/gitlabhq, and it has 24,544 GitHub stars.