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

  • Patch@feddit.uk
    link
    fedilink
    arrow-up
    17
    ·
    edit-2
    2 days ago

    Git is the underlying code management and version control system. It can be used directly, and also forms the backend to a number of other systems.

    Code “forges” are platforms which integrate a version control system (like git), a code repository (a file server), and front end utilities.

    Some git forges are open source, others are proprietary. Certainly with the open source ones, but also with the proprietary ones in some cases, you can either self-host or use a hosted service.

    GitHub is a proprietary forge, and GitHub.com is the company’s fully hosted service. They’re now owned by Microsoft.

    Gitlab is an open source forge. Gitlab.com offers a hosted service, but many projects self-host.

    Forgejo is a fork of Gitea which is a fork of Gogs. These are all also open source. As far as I know, neither Forgejo nor Gogs offer a hosted version, but Gitea does.

    A few other notable forges include GNU Savannah (open source), Bitbucket (proprietary), Sourceforge (proprietary), Launchpad (open source), Allura (open source).

    At the end of the day, they all do the same thing. They have different feature lists (especially around some of the project management and user interaction side), different user interfaces (some are shinier and more modern, others more minimalist), and different communities and support models. You choose that one that works best for your needs.

    GitHub is probably the most feature-rich (and/or bloated) of them. GitLab is competing in the same space, and self-hosted GitLab seems to be something of a sweet spot for many projects that want a premium experience without needing to use a proprietary Microsoft product. I don’t have much experience with Forgejo or Gitea. The rest tend to exist in their niches.

    • variety4me@lemmy.ml
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      2 days ago

      As far as I know, neither Forgejo nor Gogs offer a hosted version, but Gitea does.

      Forgejo hosted version is https://codeberg.org/ which is my code forge of choice. I also have a self hosted private forgejo mirror of my public codebeerg repos.

      Edit: spellings

      • iriyan@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        gittea is also a company now, forgejo is open and free, trully free

        other than codeberg disroot has been running forgejo too I wouldn’t want to use anything but forgejo

        • toastal@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          Truly free… yet in its fork of Gitea it is copying more Microsoft GitHub features like Action YAML spaghetti instead of offering an improvement. Instead of being a better offering than Microsoft, they are cloning even more features where it is even more of a hard sell IMO by not offering anything new in the experience.

          • iriyan@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            1 day ago

            The difference with a small group of devs writing code and offering it free and corporate thugs treating coders like sponges to produce code is the lack of resources can be understood and forgiven. Take a project like brave-nightly (browser fork of glugle-elechrom) there are 3-5-8 new releases a day, 8-6 Pacific US time, when they go home on Fri. the next release is Monday afternoon, the “free” coders usually begin work Friday night and end Monday at dawn!

            Sure, corp.XYZ sends them an offer one day and buys their work and even offers them incentives to work for them, then it all goes down hill!

            It ends up being as nasty racist and ethnocentric as kernel.org.com - us state dept fed and controlled

    • toastal@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      GitLab is open core, not open source. It is also a publicly-traded company in the US that does have shareholder obligations—which should cause some sort of long-term hesitation. It does have a better CI/CD system than the Microsoft product & the community edition can be self-hosted.

  • vane@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 day ago

    There is no difference in core of those services, all of them are visual interfaces for file versioning software called git. You can easily use git without any of these services. If you’re starting to explore those technologies I personally recommend getting used to git and ssh. You can read more here on how to use git and ssh https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server

    Answers:

    • Github was initially written in ruby.
    • The difference is memory usage, complexity of depoyment, compatibility with github features, maintenence and community support.
    • Self hosting depends on various factors like usage preferences, number of users, business requirements, budget, hosting machine processing power, and amount of time you want to spend for maintenence and learning the platform.
  • bonno@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 day ago

    I’m using gitea to host my code and store issues

    I’m combining this with jenkins for CI/CD -> push commit in gitea -> jenkins autostarts build/deploy -> commit status (build/deploy failed/ok) visible in gitea

    All selfhosted with portainer and docker images on a hetzner server in finland but you can easily do it on a home-server too

    pretty happy with this setup - I might have a look at forgejo iso gitea as it’s more open source and I wasn’t aware of it when I chose gitea a year ago

    then again I’m pretty happy with my setup now

  • toastal@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    2 days ago

    Note that Git also isn’t the only distributed version control system (DVCS); there maybe be other alternatives out there for you not just in code forge but the system underneath it too.

  • 0x0@programming.dev
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    3 days ago

    GitHub is a company owned by Microsoft (in the USA). They allow you to host git repositories there (a git forge) and they use your code to train their AI.

    GitLab is another git forge, you can also host your code there. I think it was also bought off.

    Forgejo is git forge software. If you want to use a git forge that relies on Forgejo, checkout CodeBerg (based in Germany). Forgejo is a fork of Gitea, which is a fork of Gogs.

    <rant> All of these tend to offer not only a git forge but also other crap like tickets and CI/CD in what i personally see as feature creep. </rant>

  • dallen@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    2 days ago

    Gitlab pipelines are super nice to use and integrate nicely with merge requests.

    I like the Github UI, clean and simple, but down like what comes along with it…

    Interested in self hosting forejo but I’m mostly coding at work these days.

  • Anna@lemmy.ml
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    2 days ago

    If you are a developer then no difference if you’re a scrum master then you need to gtfo

  • solrize@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    3 days ago

    Github: Microsoft code hosting site that feeds all your code through AI training and tries to lock you in through their pull request and related machinery. Once used a motto like “social coding”, but let go of that when they realized Facebook for nerds didn’t sound that great. Software is mostly proprietary besides Git itself.

    Gitlab: 1) a Github competitor (gitlab.com, code hosting site with somewhat similar features; 2) the software for that site, huge and bloaty and slow, written with Ruby on Rails. You can self host it if you want, but yecch.

    Forgejo: Git front end software, fork of Gitea and/or Gogs. Small and fast and written in Go. Fewer features than Github or Gitlab. If you want to self-host, I’d use this or some variant. Quite easy to install and run.

    Gitweb: comes with git, pretty rudimentary but has old school attractiveness at least for me. Really just a browsing interface. No pull requests or anything like that.

    Git, just plain Git: if you are self-hosting a project for yourself and maybe a few friends/collaborators, it’s fine to just use git with no web stuff, and push/pull by ssh. You’d manually install account credentials for your friends. This is really the simplest, but NO fluffy UI or other creature comforts.

    Fossil: amazingly small and fast alternative to all the above (fossil-scm.org) but uses its own VCS (Fossil) that doesn’t interoperate with Git. I think the author said he might convert it over sometime. It’s written in C! Uses sqlite as repo backend instead of the file system like git uses. Has built in wiki, bug tracking, documentation viewer, etc. and used about 2MB of ram last time I tried it, ridiculously small (Gogs used around 40MB and Gitlab uses gigabytes).

    Sourceforge (sf.net), very old school code hosting site, not of much relevance any more. They released an old old version of the software a long time ago and that got forked to become Savannah.

    Savannah (savannah.gnu.org) hosting site for GNU and related software. Also savannah.nongnu.org for non-GNU stuff in the same spirit. I don’t know the exact criteria for putting stuff on nongnu but I think it’s on a project-approval basis, rather than letting everyone upload whatever they want.

    Darcs (darcs.net), another alternative to git, better in some ways, written in Haskell, lost most of its users after a self-inflicted footbullet around 5y ago. There was a hosting site (darcsweb?) for it but that looks to be gone now.

    There are a few more of them too, none of much importance these days even though some were interesting.

  • Xanza@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    3 days ago

    Forgejo. ♥

    Github uses its own proprietary platform which it resells, Github Enterprise.

    Gitlab uses a FOSS alternative engine, but IMO it’s super heavy for 90% of use cases.

    Forgejo checks all the right boxes. Lightweight. FOSS. Still not convinced? Check out Gitea.

  • Shareni@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    3 days ago

    Another “Differences in Linux” question :)

    Dafuq does a comparison of git hosting services got to do with Linux?

    • tomcatt360@lemmy.zip
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      3 days ago

      A lot of people discover Linux and open source software at the same time, so it’s in the same ballpark.

  • TCB13@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    2 days ago

    In the same order you asked:

    Safe, easy to use, polished and reliable ; Someone else tried to emulate the first one success ; Poorly executed open-source alternative you can selfhost.

    All of them speak the git and are essentially web UIs made to manage it and the creation of repositories and setting up permissions.

  • bia@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    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
      0
      ·
      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