Let’s be honest, the majority here probably has a github account. Some of us are happy as a clam and wouldn’t switch no matter what happened, but there are some who would and haven’t yet. Why?
What did GitHub do?[serious]
Nothing too dramatic yet, but a lot of features GitHub provides are GitHub specific, not Git, which creates a lock-in and dependency that will cause problems sooner or later and make moving difficult.
Like what?
- OCI registry? GitLab.
- pull request model? Every one of the competing services
- CI/CD system based on YAML definitions? Most every competitor.
- static site hosting? Most competitors
- protected branches? Most competitors
I’m not saying there isn’t vendor lock-in, but I am saying it likely isn’t the features of GitHub that are limiting that. Third party integrations will follow wherever the foot traffic goes.
The issue isn’t that the competition doesn’t offer similar functionality, but that there is no way to move your data to another hoster. If you move CI, you have to rewrite it as everybody uses a different language. If you move pull requests, you lose contact with all the users that made those pull requests, as Github doesn’t allow PMs and doesn’t publish emails by default.
I can move a Git repository in a single line, I can even mirror it to multiple hosts at the same time with ease. With all the surrounding aspects of a project that isn’t possible.
Though worth pointing out that this isn’t a GitHub specific problem, all software hosting suffers from this. Moving data between different Open Source bug tracker ain’t exactly easy either. There aren’t very many tools that are properly distributed in the way Git is and the few that there are, don’t seem to have very wide adoption (e.g.
git-bug
).
I host my projects mostly on Codeberg but still keep a Github account because of the multitude of useful projects that are unfortunately hosted on GitHub. I wouldn’t waste a second to delete my GH account if those projects migrated to Codeberg or any other Libre alternatives.
It’s hard to overstate the psychology behind the github profile. As a developer, your github profile shows that you’re actively developing, whether it’s for open source projects or for work projects. My previously company used a private gitlab install, which meant only my open source work showed up on github. My current company uses github, which means my profile shows green all the time.
We’re a small company, but the github costs are a drop in the bucket. As others have said, it’d take something truly federated, or a crazy price jump from Github, for me to consider moving. It’s free for my open source projects, it’s a small amount for my company, and I have a public profile I can point to whenever I’m discussing my development.