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
    18
    ·
    edit-2
    16 hours 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
      14 hours 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
        2
        ·
        14 hours 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
          ·
          13 hours 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
            1
            ·
            31 minutes 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

          • Cysioland@lemmygrad.ml
            link
            fedilink
            arrow-up
            1
            ·
            8 hours ago

            Even Codeberg is not running Forgejo Actions, which is saying something (it’s super janky, many things just don’t work)

    • toastal@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      15 hours 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.

  • toastal@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    15 hours 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
    14
    arrow-down
    1
    ·
    edit-2
    1 day 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
    ·
    22 hours 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.

  • dino@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    1 day ago

    Don’t use github/gitlab for small private repositories! use codeberg.org if you are not a developer. If you are in need for a big more jazz and looking at self-hosting go for forgejo.

  • shirro@aussie.zone
    link
    fedilink
    English
    arrow-up
    64
    arrow-down
    2
    ·
    edit-2
    2 days ago

    In my opinion Github in its current incarnation mainly exists to steal the IP of programmers and lock it up in proprietary AI services controlled by Microsoft. It dominates for the same reason Facebook or Youtube dominate. It is the only platform normies know and it benefits from massive network effects. It is US owned and operated which is becoming an issue for lots of people. Github is a proprietary closed source platform. I believe it was originally mostly written in Ruby but they have likely replaced all the performance bottlenecks using other languages. In my opinion their site is a usability nightmare.

    Forejo is a fork of Gitea by Codeberg, a community run non-profit from Germany (still a liberal democracy under the rule of law) and hosted in Europe. They provide free hosting for open source projects or it is easy to self host. Gitea is a fork of Gogs and remains active. All those forks are written in the Go language and it requires a single exe, a config file and an sql database to run making it very easy to self host even without containers.

    Gitlab is a service like Github or Codeberg that can also be self hosted but it is written in Ruby, a slow and inefficient interpreted language, which like Javascript or Python has lots of crazy fragile run time dependencies. The open source project was originally a work of Dutch and Ukrainian programmers and it was a Dutch company but they took VC money and IPOed and I don’t know that I would assume it is European controlled. Some open source projects like Gnome moved there as it was the main alternative to Github. Can’t recommend vs Gitea/Foejo for self hosting.

    For single developers, small groups, arguably all you really need is git and email if you don’t need or want all the extra fluff. That can work even for large projects like the Linux kernel. Sites like github tend to serve as single points of contact for lots of projects. It is their front page, issue tracker, everything which is one hell of a dependency on another company. It has Facebook-ized the code ecosystem. I think it also sort of serves as a linkedn for some people.

    • msage@programming.dev
      link
      fedilink
      arrow-up
      10
      ·
      1 day ago

      Just adding that GitLab self-host is an absolute nightmare, if anything goes wrong you are done. They include database in their ‘package’, so you have limited options.

      Also GitHub is usually used to distribute dependencies, so if your package gets downloaded 1M+ times, you don’t have to pay for the traffic.

      • theoli@startrek.website
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 day ago

        Alternative experience here: I have managed 7 GitLab installs for the past 12 years, two of these having ~300 users and ~1000 repositories, and I update monthly on average. I have only had one update break in all that time, and it was because of starting another upgrade step without waiting for all of the background migrations to complete. GitLab support got us sorted out within a couple of hours. A great experience overall.

        There is a complexity floor, however. I use GitLab personally because of its CI/CD implementation. Upgrading it requires some care because it’s a large and complex project. You have to read the errata and use the upgrade planner.

        For small installations with a few users, and if there is no CI/CD preference, Forejo is probably the better choice for maintenance simplicity.

      • morbidcactus@lemmy.ca
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        1 day ago

        Found upgrades mildly annoying with GitLab, big reason I moved to Forgejo for my personal stuff. Far easier to setup and maintain for me, seems to be happy with caddy and runners are really easy to setup.

        I’m not hosting for an entire org though, it’s just me and I keep all my selfhost stuff local only, so obviously YMMV.

  • Anna@lemmy.ml
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    1 day ago

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

  • Xanza@lemm.ee
    link
    fedilink
    English
    arrow-up
    29
    ·
    edit-2
    2 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.

  • solrize@lemmy.world
    link
    fedilink
    arrow-up
    25
    ·
    edit-2
    2 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.

  • Shareni@programming.dev
    link
    fedilink
    arrow-up
    14
    arrow-down
    2
    ·
    2 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
      10
      arrow-down
      1
      ·
      1 day ago

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

    • shirro@aussie.zone
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      1
      ·
      edit-2
      2 days ago

      It isn’t relevant to the Linux kernel at all. Even though Torvalds wrote git to support Linux development they operate on a different development model (email, patch sets etc). It is very relevant to the wider ecosystem (Linux distro vs Linux kernel). Most open source software development is hosted on one of these platforms and even non-developers sometimes need to interact with them. Anyone starting a project or looking to share it finds themselves asking the same questions.

      I prefer this sort of engagement farming question to the ones asking which laptop to buy or which distro or desktop environment is best. Though it is arguably healthier and more productive for me to be doing almost anything else with my life. I increasingly feel like I am filling out a captcha every time I answer such a question. It feels like something any reasonably competent human could discover trivially hitting a small number of websites and reading. Even the people who cut and pasted low effort LLM responses pretty much nailed most of the facts - arguably more than good enough. What is the point of participating here really?

  • SavvyWolf@pawb.social
    link
    fedilink
    English
    arrow-up
    14
    ·
    2 days ago

    All three are web based frontends for git repositories; you use git to send and receive code to/from them for storage and sharing. They all also provide other things useful to developers such as issue tracking, wikis and such. They are different products that fulfill the same role.

    what software does github.com use?

    It’s all proprietary software (presumably) written in-house. We don’t have access to it.

    whats the difference between them (pros/cons)?

    Github:
    Pro: Wider reach, everyone knows about Github.
    Con: Proprietary; your code is hosted based on the whims of Microsoft.

    Forgejo:
    Pro: Open source, selfhostable. There’s a big instance on https://codeberg.org/ which a lot of open source projects are starting to move to.
    Con: It’s smaller and not as well known as Github. In theory it may also lack features, but I’ve not seen any that have gotten in my way.

    Gitlab:
    Pro: It’s… I guess in second place in terms of popularity? It’s also selfhostable.
    Con: It’s one of those open source projects with paid closed source features, so not really appealing to either group. It’s also had questionable management decisions recently.

    what about self-hosting? Possibilities/Preferences?

    If you want to selfhost a git server, I’d recommend Forgejo; it seems to be the most friendly towards the open source and selfhosting communities.

    • Rogue@feddit.uk
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      1 day ago

      @dengtav@lemmy.ml

      This answer is probably the best here. It’s concise and answers your questions in a reasonably unbiased way.

      A lot of the other answers are dripping with personal bias and a few verging on conspiracy.

  • TCB13@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    19 hours 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.

  • PassingThrough@lemm.ee
    link
    fedilink
    English
    arrow-up
    6
    ·
    2 days ago

    Others are posting the well written explanations, so I’ll make the short comparisons.

    GitHub is like Reddit is to Lemmy. It’s the main player in source code hosting, proprietary and centralized to the profits and whims of Microsoft. But for that cost, you can easily bet a project you are looking for has a presence there, and it’s easier for a dev to pop from project to project with one account and identity.

    The others are like Lemmy, meant for hosting your own GitHub-like website with all the bells and whistles on top of the standard Git codeshare. There’s a lot of feature parity, though some softwares have more than others. But it comes at the cost of obscurity, Codeberg is a big player but any instance you find is isolated, and any devs you entice to help you need to register additional accounts personal to that instance. And the hosting costs are on you, it can all vanish with an unpaid domain/server bill unlike the central giant of GitHub.

    • d_k_bo@feddit.org
      link
      fedilink
      arrow-up
      8
      ·
      2 days ago

      But it comes at the cost of obscurity, Codeberg is a big player but any instance you find is isolated, and any devs you entice to help you need to register additional accounts personal to that instance.

      It should be noted that Forgejo is working on implementing federation using ForgeFed, which is based on ActivityPub.

    • sorter_plainview@lemmy.today
      link
      fedilink
      arrow-up
      5
      ·
      1 day ago

      IIRC it’s just a clone of Gitea. Default interface is Chinese. Why would a non chinese person go there when Codeberg and Forgejo is available in English?

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

      First time I heard of Gitee, I don’t think it’s that popular. Also, their website appears to be in Chinese only.

      Gitea on the other hand is pretty popular, but after some controversial decisions, Forgejo was born and it started getting a lot of traction.

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      2 days ago

      You mean Gitea? Forgejo is a fork from it, maintained by a non-profit, so preferrable to most folks.