this post was submitted on 19 Feb 2025
80 points (92.6% liked)

Linux

50355 readers
1022 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Another "Differences in Linux" question :)

I often wonder, what exactly is the difference between this services?

I understand, that:

  • github.com is a company, where as gitlab and forgejo are (softwares)?
  • They all "manage/wrap/interface with" git?

Questions:

  • what software does github.com use?
  • whats the difference between them (pros/cons)?
  • what about self-hosting? Possibilities/Preferences?

As always, thanks beforehand :)

you are viewing a single comment's thread
view the rest of the comments
[–] bia@lemmy.world -2 points 2 days ago (2 children)

Ha, I was thinking this is a perfect llm question so I tried. And I was right.

Great questions! Let's break down the differences between GitHub, GitLab, and Forgejo, and address your specific queries.

Overview

  1. GitHub:

    • Company: GitHub, Inc. (owned by Microsoft since 2018).
    • Software: GitHub is a proprietary platform. The software running GitHub.com is not open-source.
    • Primary Use: Hosting Git repositories, collaboration, CI/CD, project management, and more.
  2. GitLab:

    • Company: GitLab Inc.
    • Software: GitLab is an open-core platform, meaning the core functionality is open-source (GitLab Community Edition), but there are proprietary features in the Enterprise Edition.
    • Primary Use: Similar to GitHub, but with a stronger emphasis on CI/CD and DevOps.
  3. Forgejo:

    • Software: Forgejo is a fork of Gitea, which is a lightweight, open-source Git service.
    • Primary Use: Self-hosted Git repository management with a focus on simplicity and community-driven development.

Detailed Differences

Software Used by GitHub

GitHub.com uses proprietary software developed by GitHub, Inc. The exact details of their software stack are not publicly available, but it is known to be highly customized and optimized for their scale.

Pros and Cons

GitHub:

  • Pros:
    • Largest user base, making it the de facto standard for open-source projects.
    • Extensive integrations with third-party services.
    • Robust features for collaboration, including Issues, Pull Requests, and Actions (CI/CD).
  • Cons:
    • Proprietary software, so you cannot self-host it.
    • Limited customization compared to open-source alternatives.

GitLab:

  • Pros:
    • Open-source core (Community Edition).
    • Comprehensive DevOps lifecycle support, including CI/CD, monitoring, and security.
    • Can be self-hosted.
  • Cons:
    • Can be resource-intensive to self-host.
    • Some advanced features are only available in the Enterprise Edition.

Forgejo:

  • Pros:
    • Fully open-source and community-driven.
    • Lightweight and easy to self-host.
    • Simple and user-friendly interface.
  • Cons:
    • Smaller ecosystem compared to GitHub and GitLab.
    • Fewer built-in features for CI/CD and DevOps.

Self-Hosting

GitHub:

  • Self-Hosting: Not possible. GitHub is a cloud service only.

GitLab:

  • Self-Hosting: Yes, GitLab offers both a cloud service (GitLab.com) and self-hosted options. You can download and install GitLab Community Edition or Enterprise Edition on your own infrastructure.

Forgejo:

  • Self-Hosting: Yes, Forgejo is designed to be self-hosted. It is lightweight and can be run on modest hardware.

Preferences

  • For Open-Source Projects: GitHub is often preferred due to its large community and visibility.
  • For DevOps and CI/CD: GitLab is a strong choice due to its comprehensive feature set.
  • For Lightweight Self-Hosting: Forgejo (or Gitea) is ideal if you need a simple, self-hosted Git service without the overhead of more complex platforms.

Conclusion

Each platform has its strengths and is suited to different use cases. GitHub is great for visibility and collaboration, GitLab excels in DevOps and CI/CD, and Forgejo is perfect for lightweight, self-hosted Git management. Your choice will depend on your specific needs, whether it's community size, feature set, or the ability to self-host.

[–] thirdBreakfast@lemmy.world 9 points 2 days ago

Great comprehensive answer. The only thing I might have added (at the risk of confusing things) is that Codeberg is a non-profit, community-led effort that provides Git hosting (with Forgejo), so a sort of open source GitHub

[–] mesamunefire@lemmy.world 1 points 2 days ago* (last edited 2 days ago)

GitHub

GitHub can selfhost, but only on enterprise. Quite a few large companies have their own just to limit what code can get out.