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 :)

  • bia@lemmy.world
    link
    fedilink
    arrow-up
    5
    arrow-down
    8
    ·
    3 days ago

    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
      link
      fedilink
      English
      arrow-up
      8
      ·
      3 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

    • mesamune@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 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.