GitHub is the most mainstream, Gitlab has the most features and is selfhostable, Gitea has fewer features, but is more lightweight for selfhosting. Both Gitlab and Gitea are also working on federation.
There is one thing that makes gitlab 100x better than GitHub, and that is that gitlab is developed on gitlab. You can open an issue on the repository and it is picked up like any other issue. No such thing like a GitHub/GitHub repository. I have no clue where to go when something is not to my liking there
There's the GitHub product feedback repo, but as a closed source product (I know, the irony), you can't point to the code for the problem and nothing other than blind luck can guarantee you a reply, let alone a fix.
On top of that, they are adding ads to the UI, even for paying customers, so there's that.
Isn't Codeberg's UI literally the same except a different theme? Maybe I haven't looked deeply enough, but Forgejo shouldn't have strayed too far from Gitea, at least yet?
Github has the most visibility, codeberg has the best community features for stripping away some of Microsoft's hegemony over open source, and gitlab is flat and simple the nicest one to use
It's a matter of opinion and lots of it depends on your preferences.
Github: Where most developers are and therefore has the best network effect. Easy for new contributors.
Gitlab: Got some traction after Microsoft bought Github, but is very similar, just not as popular.
Codeberg: Completely open source (I believe) it's the option with most respect for your privacy. Lacks the network effect until fediverse integration is complete, which I do believe the platform is working on.
Cgit: A very simple git repository viewer. You can't do anything from it, except see the repository. Some big projects use this, like the kernel.
There are more options, but some gets very specific after this.
Honestly, don't like any of them. Github is closed-source and lacks so many features compared to Gitlab. Gitlab, though opensource, makes you pay for every useful feature and is not fun to host. Gitea is an opensource clone of Github that also lacks Gitlab's features. SourceHut is unusable for me (mailing lists and git send-mail? seriously?). Never used BitBucket and radicle (decentralised sourceforge) is still under heavy development with no CI.
Optimal would be something with gitlab's features, decentralised, FLOSS, and unlocked when self-hosted. Maybe radicle will get there. They seem to be dog-fooding their solution and about a year ago were planning on CI. No idea where their roadmap disappeared to.
This!! Also why the heck they changed their website to be so much lamer and slightly broken on mobile, I still don't understand.
Optimal would be something with gitlab's features, decentralised, FLOSS, and unlocked when self-hosted.
What do you think of Onedev? I rember it selling itself as the GitLab alternative, but I haven't tried since I can't self-host. Though checking it out again quickly right now, I'm very wary of it since it turned source-available with another "Enterprise" plan, uhhh
Wow, that actually looks quite interesting! The "source-available" license is indeed troublesome 🤔 They could pull a gitlab and lock a bunch of their stuff behind payment, but who knows. I'll also wait with testing it for now. But it's in my bookmarks!
My favorite is SourceHut because it just works without taking forever to load. I also like the clear separation between projects, repositories, issue trackers, mailing lists and other components. And the fact that it doesn't have pull requests, so there isn't a billion unmaintained forks everywhere.
Github is the industry standard. It's easy to use and is packed with features, it's also quite flexible in how much it provides for free.
Codeberg is a github clone but open source and nonprofit. People are weary that github is owned by Microsoft so if you're a privacy conscious person that likes open source, it's a good option.
I've never used Gitlab but from what I've heard it's more enterprise oriented, focused on providing solutions for companies rather than something simple for everyone. You can also self-host it if you want it on your own servers.
I generally recommend GitTea if you need a nice simple Git server. Or ... Just use GitHub and be done with it.
Maybe GitLab if you cannot put company stuff on GitHub for some high security reasons.
As a regular user who doesn’t do any dev work but likes to keep tabs on various projects, Gitlab all the way. It has an interface to track issues specific to a given version, giving you an easy way to gauge progress on upcoming releases and see what the holdups are. I’ve not found any kind of analog for that on GitHub unfortunately, but maybe I just haven’t looked in the right place
What sort of hardware do you need to realistically host your own git instance? In this case, we're talking about 1 user (me) with about 2GB' worth of git repos.
github, it seems to be the only with with a code search worth anything.
but it also has really nice discoverability for applications. I have found so many cool applications on GitHub using their topics system and language filtering.
I haven't been able to find any replication at all with any of the other stuff. so even if you do use another repo, please mirror on GitHub. Even if only so people can find it and search the code.
Gitlab should be best. Its FOSS (not their own instance gitlab.com), has a CI and a lot of thingd you may want. Even has a full VSCodium Webapp integrated, as thats basically a browser app
There is one thing that makes gitlab 100x better than GitHub, and that is that gitlab is developed on gitlab. You can open an issue on the repository and it is picked up like any other issue. No such thing like a GitHub/GitHub repository. I have no clue where to go when something is not to my liking there
After using and hosting Gitlab for years and having to move over to GitHub enterprise for my new role.... Holy shit does GitHub suck. It's organization and projects are trash and GitHub Actions barely scratches the surface of what was easy in Gitlab. I don't know how it got so big with such a terrible UI and limited feature set.
Seriously no nested orgs, shared CI/CD variables, or a kanban board that makes sense (new projects is so much worse than legacy). I hate Github