Re: Self host git
I think you're underestimating this significantly, and oversimplifying.
Yes it's fairly trivial to host git yourself, but if you're using Gitlab it _probably_ isn't just about the repos themselves.
Just like on Github, you've got
- Issue tracking
- Release management
- Merge/Pull request tracking (and/or approval)
- Continuous Integration pipelines
- Integrated per-project wiki
- The ability for non-techie managers to add a user (so they can edit a wiki, report issues, whatever)
- A bunch of other things
Sure, you can find solutions to stand each of those up - even running something like Gerrit if you want, but it's a lot less trivial than
- Download gitlab
- Run gitlab
And switching to alternatives is even harder once you're in and established on Gitlab, because you're going to have to migrate that data somewhere.
Gitlab as a product is actually quite nice, but the approach of Gitlab (the company) has always left a bit to be desired. It's also a bit too locky-in for my tastes too.