GitLab vs Codeberg

grant 🍞@toast.ooo to Open Source@lemmy.ml – 111 points –

I've seen some comments about how "gitlab bad" or whatnot, why do people prefer Codeberg over GitLab?

43

  1. Codeberg is fully open source(forgejo) while gitlab has an open source core+community edition but a source available propietary enterprize edition.

  2. Codeberg is a nonprofit with no ulterior motives. Gitlab is a publicly traded for profit entity with a goal to make profit

  3. This could just be me, but codeberg feels a lot more transparent. When they have outages, they explain why.

  4. Super minor, but the codeberg team "self-hosts" their own servers so you only need to trust the one entity rather than additionally trusting the server provider.

self-hosting is great but that still means datacenter someplace. I've been using GitLab for some time now and CodeBerg "feels weird" to me. But then it could be my biases and "muscle memory". I'd say whatever feels right for you.

Unlike other big name Git hosting company who chose to use AI to "steal" from hosted projects other two did not stoop that low. So there's that.

Actually, I also got back to GitLab when I read this: https://docs.gitlab.com/ee/development/activitypub/

Usage of ActivityPub in GitLab is governed by the GitLab Testing Agreement.

The goal of those documents is to provide an implementation path for adding Fediverse capabilities to GitLab.

I think this is the way, while using Codeberg would mean storing my code and my stuff on someone else computer, I trust them, but I just want to have it by myself.

EDIT: Ok, people already told me Codeberg uses a fork called Forgejo and I can host it myself, which sounds super cool.

You are comparing GitLab (the application) with codeberg.org (the website operated by the codeberg e.V. non-profit). A fair comparison would be gitlab.com (the website operated by GitLab Inc.) with codeberg.org or GitLab (Community Edition or Enterprise Edition) with Forgejo (the application powering codeberg.org). They can be fully self-hosted and are both planning to implement AcivityPub-based federation.

I heard Gitea planned to do ActivityPub too, but I didn't like their application, and also I didn't like Woodpicker-CI which was very limited some years ago, I lost much time learning and trying to do the same as I do with GitLab-CI and couldn't. But, I need to try Woodpicker-CI again to see if I can do it now.

I didn't know about Forgejo, thanks to mention it, I'm sure I will try it very soon, and Woodpicker-CI. 😆

1 more...

that still means datacenter someplace

no, you can also self host on your personal computer and simply mirror everything that you're throwing on Codeberg.

1 more...

Codeberg is a nonprofit with no ulterior motives.

Well, their ulterior motive is to provide a service to the public.

1 more...

gitlab.com is a for profit service/company. They have an open-source community edition of Gitlab which you can run on your own server. Codeberg is a non-profit association running the open-source software "forgejo" for you. At Codeberg you can become a member and then you can vote for important decisions and make proposals. People also care about ethics there. Nobody cares about profit. Codeberg runs on donations from members. I think some people feel more respected at Codeberg because the governing body of Codeberg is a subset of its users. If Gitlab cares about you, then probably because a bad user experience would be bad for business.

I had bad experience with GitLab people, they were saying things that I already knew and was at their documentation, so I felt like losing time with them.

Microsoft support forum tier?

Microsoft? I mean GitLab employees, they were just linking me and showing me their CI/CD examples that I already knew... was a bit of waste of time the meeting I did with them...

I think they were asking if they were as useless as microsoft support people

User: "Hello microsoft tech support forum my computer catches fire every time I run mspaint"

Microsoft tech support autoreply bot 3 nanoseconds later: "Here is a link on how to clear your temporary files. Locking thread."

Something not mentioned yet: Forgejo, the software running Codeberg, has a smaller feature set and narrower scope than GitLab ("GitLab is the most comprehensive AI-powered DevSecOps Platform" from their website).

Forgejo is much easier to administrate for smaller groups. For example compare the dependencies mentioned in the Forgejo installation documentation and the Gitlab installation documentation.

That's a bit of an unfair comparison - that's the GitLab instructions to install from source. Most people use a package (rpm, deb) to install GitLab.

The installation instructions for GitLab from prebuilt binaries is https://about.gitlab.com/install/, and that's significantly shorter.

That said, I think for most home applications, GitLab is hugely overkill.

Yes that's true. I guess what I wanted to point out is that GitLab has dependencies like Postgres, Redis, Ruby (with Rails), Vue.js... whereas Forgejo can use just SQLite and jQuery.

sqlite is not something one would use for a database with a lot of users, postresql or mysql/mariadb is a better choice in these circumstances. and i don't think having jquery as a dependency in 2023 is a positive sign. not sayibg the software is bad, it's just different.

Fortunately they were inaccurate, and it supports mariadb and postgre too.
In the documentation, they leave sqlite and mssql to the last places in the listings.

Looking at it, I see the following...

GitLab's deps:

sudo apt-get install -y libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev libpcre2-dev build-essential git-core

Forgejo deps:

apt install git git-lfs

I am missing something?

I assume that's to build from source.

The times I've installed GitLab it's been a case of dnf install https://.... The rest gets dragged in automatically.

Well, this way they could install dependencies anyway just automatically, so you don't see them unless you read before accepting the installation. I still can read this:

Install and configure the necessary dependencies
sudo yum install -y curl policycoreutils-python openssh-server perl

And then:

Add the GitLab package repository and install the package
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

So they do some magic here, the script just installs the repository, so I can't see exactly any dependency they are currently using.

Probably Forgejo/Gitea also uses such dependencies, but their Go counterparts which are statically built into the server binary.

If resource efficiency only depended on that, Gitlab would be more efficient with memory because of this. We all know that's not the case, I just said it as a comparison.

This also means that while Forgejo/Gitea depends less on your system installation, it also wont benefit from updated dependency packages.

it also wont benefit from updated dependency packages

If they maintain the binary properly, could cause less issues with dependencies compatibility, so it's less pain for the DevOps team, like a container image, just pull the new image and done.

Right. Paid Gitlabs features tend to be targeted as an all in one DevOps platform for larger scale organizations. So how do you do support tickets, CI/CD, feature tracking and coordination for a portfolio of products, documentation, revision control, code reviews, security reviews, etc? In Gitlabs world the answer is Gitlab, with integrations with other enterprise software. It's HUGE. That said I've never heard of an organization (probably due to ignorance not lack of existence) actually doing all of that.

I personally I'm kind of leaning towards building a proof of concept of forgejo, tekton, and maybe Odoo to see if it can cover what my org is actually doing, but he'll we pay for tons of stuff but the amount of excell sheets floating around doing this is wild...

Ah come on, we all know as software people we can never stop the spreadsheets from being the real data interchange format ;)

Hey, at least remote works been really putting nails in the coffin of printed documents floating around.

But seriously keeping to a good set of tools, providing them at scale and some training will hopefully make the fall back to spreadsheets less attractive to at least the middle wave of adopters.

If you're looking for the GitLab version of Codeberg's hosted Forgejo Git forge, there's Framagit hosted by Framasoft.

I tried Codeberg, but I dislike a lot the Woodpecker-CI (a fork from Drone-CI) and I had issues as when I tried it (a year ago) it was still on beta and on development while GitLab had a very powerful and robust CI, which is what made me quit Codeberg and get back to GitLab. 🥲

@SNFi Woodpecker passed 1.0 recently and it's much better. Try it again.

Afaik they use their own CI now, which aims to be compatible with the github ci

afaik the aim isn't to be compatible, they just found Github Actions to be the most comfortable to use and as such based their own system around it with the liberty of breaking changes should they think it neccessary

You're probably right, I hope though that they'll try to maintain compatibility at least so that even if the Gitea Actions format changes, it would still accept and be able to use the Github Actions files