The second reason is that GitLab's minimal resource requirements[0] are just overkill compared to OneDev[1] which can run in a single container with an embedded database.
[0] https://docs.gitlab.com/ee/install/requirements.html [1] https://code.onedev.io/projects/162/files/main/pages/run-as-...
You have to run your own CI runners, but if you can self-host GitLab that ought to be no problem ;)
I agree though, it's very resource heavy - my personal instance has 8G RAM and 4 vCPUs and only two people use it. It has that much RAM because without it, it would randomly fail (usually during/after package upgrades).
Gitlab is a capable software (albeit slow and prone to security issues especially with enterprise features) and it is what most people right now are used to and that's why we offer it, but for personal use gogs, gitea or onedev (or many other solutions I won't even try to list) are way better. I run gitea on my 2G RAM VPS next to a dozen other services. I would need double or triple the resources to run gitlab alone.
onedev I did not know about, and looks exceptionally tempting on that basis.
It also means I can do things like automatically rebuild containers nightly/weekly to get security updates.
You can see a feature comparison for the different GitLab tiers including our free tier here: https://about.gitlab.com/pricing/gitlab-com/feature-comparis...
You will also notice the tiers for which a feature is available are listed on the docs page for that feature.