github-vs-gitlab

GitHub vs. GitLab: Business Models Compared

GitHub’s open-source business model is web-based hosting for software development and version control using Git, facilitating collaborative source code development among programmers and monetizing via premium and enterprise support. GitLab’s open-core business model instead is a collaborative code repository used to host and review code, build software, and manage projects, monetized primarily through its two paid plans (Premium & Ultimate) and via its subscription add-ons.

What are GitHub and GitLab?

GitHub is a collaborative code repository used to host and review code, build software, and manage projects. The platform was founded in 2008 by Tom Preston-Warner, PJ Hyett, and Chris Wanstrath. At last count, GitHub hosted more than 238 million repositories.

how-does-github-make-money
GitHub provides web-based hosting for software development and version control using Git, which facilitates collaborative source code development among programmers. GitHub was founded by Chris Wanstrath, P. J. Hyett, Tom Preston-Werner, and Scott Chacon in 2008. Microsoft acquired the company for $7.5 billion in 2018, and it was integrated as part of Microsoft’s enterprise offering. On top of its free repository, GitHub also offers plans for teams and enterprise customers. And the GitHub marketplace also monetizes on some of the apps developed on top of it.

GitLab is a similar repository manager allowing teams to collaborate on code, with the platform offering similar features for issue tracking and project management. GitLab was founded by Dmitriy Zaporozhets and Valery Sizov in 2011 and is used by enterprises such as IBM, Sony, and NASA.

how-does-gitlab-make-money
GitLab was created in 2013 by Ukrainian developers Dmitriy Zaporozhets, Valery Sizov, and Sytse Sijbrandij as a source code management solution for collaborative software teams. GitLab is a web-based, open-source DevOps tool providing issue-tracking and continuous integration and deployment pipeline features. It makes money via its main two paid plans (Premium & Ultimate) and via its subscription add-ons.

In this article, we’ll take a look at some of the key similarities and differences between the two platforms.

Key similarities between GitHub and GitLab

Let’s start by describing some of the similarities.

Version control and Git functionality

The Git functionality and basic commands are more or less the same between GitHub and GitLab. Specifically:

Branch – users can create an independent development line using the brand command. This may be a developed version, a minor feature, or the master branch.

Fork – a fork is a copy of a specific code repository available for any developer to experiment with. It does not matter if they are an external contributor.

hard-fork
In software engineering, a fork consists of a “split” of a project, as developers take the source code to start independently developing on it. Software protocols (the set of rules underlying the software) usually fork as a group decision-making process. All developers have to agree on the new course and direction of the software protocol. A fork can be “soft” when an alteration to the software protocol keeps it backward compatible or “hard” where a divergence of the new chain is permanent. Forks are critical to the development and evolution of Blockchain protocols.

Pull/merge – these describe submissions of suggested code to an edited branch. A senior developer or QA team will test the code and approved changes are automatically integrated into the relevant branch. A pull request in GitHub is called a merge request in GitLab.

Collaboration and code management

Both platforms incorporate built-in code review and collaborative tools as part of their free versions. Users can, as an example, view and discuss pull requests in real-time and view a complete overview of code differences.

Both platforms also offer project management tools. In GitLab, users can create logical issue hierarchies and assign different developers to various branches. Similar functionality is offered in GitHub with issue categorization, milestone and productivity tracking, and various reports and charts. 

Business model, plans, and support

At the time of writing, both platforms work under a freemium business model. Users on a free plan get access to unlimited public and private repositories. However, access to advanced security, compliance, and management features is restricted to paid plans. 

In comparing the plans offered by GitLab and GitHub, there exist no appreciable differences in the level of support offered. The same can also be said for features. But in limited situations, GitHub users may need to use an app or third-party integration to get the same level of functionality as a GitLab user. We will revisit this difference in the next section.

Worth mentioning that back in 2018, Microsoft acquired GitHub for over $7 billion. For some context. For Microsoft in 2021, Enterprise Services revenue increased $534 million or 8% driven by growth in Premier Support Services.

One example is how Microsoft’s GitHub monetizes through premium/enterprise support

Image

Through what they call premium perks: 

Image

A great example of support plans for enterprise products with a freemium/open-source model:

Image

Key differences between GitHub and GitLab

Ultimately, key differences between the two platforms will be the driving force behind consumer purchasing decisions. 

With that in mind, consider the main differences between GitHub and GitLab below.

CI/CD Integration

GitLab has a dominant market share in CI/CD Integration, with GitHub only adding GitHub Actions in the latter stages of 2019. This point is perhaps the biggest difference in user experience between the two platforms. 

GitLab CI lets users build, stage, and deploy code automatically using a DevOps workflow. There is no need to rely on manual updates or custom-build integrations.

Those with limited experience in CI/CD pipelines enjoy GitLab’s integrated tool because it requires very little setup. GitLab CI/CD also features built-in security scanning and collaboration and offers an integrated container registry. 

These features are not available in the competing GitHub product, with developers instead forced to work with a third-party tool such as TravisCI.

Community aspect

GitHub has been in operation for longer than GitLab, so its users tend to be far more proficient in the platform.

With a larger, open-source community, GitHub offers a diverse range of repositories that are unmatched elsewhere. There are also millions of active users on the platform actively working to solve problems and share ideas. 

Workflow

While most of the underlying technology and features are basically identical, the recommended workflow across GitHub and GitLab differ substantially. 

GitHub advocates speed with a feature-focused development approach to merge new branches with the master branch. This makes it ideal for Agile projects. GitHub’s business model is primarily open-source-based.

open-source-business-model
Open source is licensed and usually developed and maintained by a community of independent developers. While the freemium is developed in-house. Thus the freemium give the company that developed it, full control over its distribution. In an open-source model, the for-profit company has to distribute its premium version per its open-source licensing model.

GitLab, on the other hand, advocates reliability. Users can create multiple stable branches beyond the master in production and pre-production. Organizations with a dedicated quality assurance team favor this approach because it lets their R&D teams work on new features without the hassle of testing every single code change. GitLab business model can be defined as an open core, as it prioritizes project management effectiveness.

open-core
While the term has been coined by Andrew Lampitt, open-core is an evolution of open-source. Where a core part of the software/platform is offered for free, while on top of it are built premium features or add-ons, which get monetized by the corporation who developed the software/platform. An example of the GitLab open core model, where the hosted service is free and open, while the software is closed.

Key takeaways:

  • Both GitLab and GitHub are code development platforms with a core focus on the open-source Git system. Both platforms have basically the same functionality and version control. Both also incorporate built-in code review and collaborative tools as part of their free versions.
  • Free users on both platforms get access to unlimited public and private repositories. Access to advanced security, compliance, and management features is restricted to multiple, paid individual and enterprise solutions.
  • Key differences between GitLab and GitHub include the degree of CI/CD integration, with GitLab users able to avoid manual updates and sometimes clunky custom builds. However, GitHub’s pedigree as an open-source developer platform means it has a stronger and more collaborative community.

Read Next: GitHub Business Model, GitLab Business Model, Open-Source Business Model, Open Core Business Model.

Main Free Guides:

Published by

Gennaro Cuofano

Gennaro is the creator of FourWeekMBA which reached over a million business students, executives, and aspiring entrepreneurs in 2020 alone | He is also Head of Business Development for a high-tech startup, which he helped grow at double-digit rate | Gennaro earned an International MBA with emphasis on Corporate Finance and Business Strategy | Visit The FourWeekMBA BizSchool | Or Get The FourWeekMBA Flagship Book "100+ Business Models"