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

  • shirro@aussie.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    3 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. Github is a proprietary platform. I believe it was originally mostly Ruby but they have likely replaced all the performance bottlenecks using other languages. I think 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 was a fork of Gogs. It is 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 they front page, issue tracker, everything. 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
      0
      ·
      2 days 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
        0
        ·
        2 days 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
        0
        ·
        edit-2
        2 days 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.