Why aren’t people moving away from Github? There’s Codeberg, Gitlab, and radicle. What’s holding them back?
I wonder how many of these folks just don’t know about the alternatives. I’ve come across otherwise capable developers who think git and GitHub are the same thing. People come to software from all sorts of backgrounds so I can’t blame anyone for not knowing.
I also imagine that if people are aware, the activation energy of switching is too high. It’s more than just setting a new remote and pushing. You have to learn the new system, maybe migrate tickets, wrestle with CI, etc. For a hobby project it’s probably easier to shut it down and just go do something else. I also don’t blame them here. There’s more to life than open source, and its amazing people are able to contribute when they can.
A lot of people study CS or programming because they have been told it would make them a lot of money. If you just want to make money and don’t care about anything else you’re always just going to put in the minimum effort required, so I’m not surprised people just can’t be bothered to switch.
I hate that. I’m the worst salesman ever, so I’m super bad at interviewing, but I’m a good programmer. Companies are very critical and wary though, because some people are very good salesmen but very bad programmers. I don’t blame them, but t’s a rough environment
There’s also lots of people who become developers because they want to build the best software they can and don’t care to spend time thinking about whether one open source hosting platform is better for their code over another if they accomplish the same thing.
Your response is insanely narrow minded and judgemental, not everyone chooses to fight the same battles you do.
Nowhere in my comment did I imply what you are saying. Please don’t project your internet grievances onto me. The two are not mutually exclusive and I in no way implied that they were.
Fair that they’re not mutually exclusive, but you did imply that that’s why the majority don’t switch.
I refute that categorization actually, I never implied that it was most, only that some number of people do indeed fall into that category and I’ve seen it with my own eyes to be true.
Mostly my post intended to point out that not all devs give a single solitary fuck about FOSS and I would even go so far as to argue that yes, that probably constitutes a majority. Furthermore this attitude is likely a contributing factor (not the only factor by any means) towards the lack of excitement around switching over to open source version control web platforms.
If the developer truly believes in quality and fairness, then they will switch.
Are you a vegan?
Well I know for a fact your mom is a meat eater. And a chugger.
Edit: I see your point now. I knee jerked before thinking it through. I thought you was going for the weak maga style slander but I see you was in fact making a point
To your point. I was not a vegan but I was vegetarian for 6 years.
My apologies to you and your mother.
My re-spec online classes started by installing VS Code and connecting it to user’s own GitHub repository that was then used to upload homework in Jupyter notebook format. It was pretty streamlined, that is good when you want to fast-forward into making students write their own first code lessons, leaving off technicalities, but there we didn’t heard a word about if any of these three choices are necessary to start coding. I only recently got interested enough to research other options, at the same time I left Windows as a default OS. I’m not sure any of my classmates would tho until something critical happens, and for many this pipeline is probably what they are still using by now.
I get the impression this is common. It seems like education hasn’t caught up to the fact that a lot of people are wanting to learn software engineering, but they lack some fundamentals. There really should be an intro course going all the way from what is a file to maybe some basics about the ELF format? Sort of something that can lead into the OS course, but lay the foundation for just basic computer use. Let the nerds get their easy A, but give everyone else a better understanding and some fundamentals to build on.
Ok admission time. I have a project in GH that I could, for example, migrate to GitLab but I’m concerned it would break the pipeline or have a disastrous customer facing impact.
Edit: there are people (ahem) who might know code… but not everything re consequences of shifting a repo.
Gitlab’s pipelines are way better than Github actions IMO. The only downside is the lack of a market, but otherwise, it’s definitely worth the switch.
But it’s difficult to give advice without more details. If you’re stuck in some system that only plugs into Github, you have 2 systems to switch instead of one.
Partially because URLs never die, and if you’ve got your project connected to a bunch of stuff it’s a huge pain to migrate.
I’ve got a ton of old open source projects and if people start bothering me over them I’ll just cancel contributions.
Also I don’t think Codeberg/forgejo runners are compatible with GH Actions, which is another barrier
There’s a lesson to be learned about making tools that need to be used with subtlety and making them more approachable than a fisher price hammer, and then getting shocked that people use them inappropriately.
I’m sure *this time* humanity will learn it’s lesson.
Literally computers
Literally everything! From nuclear energy to fire. The fiftieth time the caveman that invented fire used it, he said “eh, what’s the worst thing that could happen if I don’t do all the same stuff I did last time to keep me safe” and his whole fucking village burnt down.
I felt like I had imposter syndrome at my tech job, and then we got a boss whose only contribution is to make chatgpt goals and objectives. Which he can’t understand them himself, because he gets called out in the meeting for obvious bullshit, and he defends himself by saying he has chatgpt summarize it.
AI has made me feel better about my own capabilities, because I realize most people are idiots. AI makes them clearly visible to everyone, and theyre too dumb to realize how obvious it is. Its a trap for the lazy, the 40% that do nothing at their job, and they are too clueness to understand what they’re doing.
How moving to other source control systems would help? People can still generate code via LLMs and submit changes for review
Microslop has an editor in Github that makes it dead easy to create PRs with Copilot. It’s very low friction. On another platform, you have to download the editor first and install some agentic coding plugin (or download an agentic editor) and pay for it to get started. Much more friction.
In a nutshell, the network effect. At an individual level, if someone wants to leave GitHub, they absolutely can. But unless they’re a repo owner or a BDFL, the project(s) they were working on would still be on GitHub. And that means they can’t access the GitHub PR process for development, or open tickets for new issues, or any other number of interactions, except for maybe pulling code from the repo.
On the flip side, at a project level, if the project owners agree that it’s time to leave GitHub, they absolutely can. And while they could convince the primary developers to also leave with them, the occasional contributors might still be left behind on GitHub. Moving away from GitHub could potentially cut the number of contributors down by a lot. And what’s guaranteed is that the project will have to retool for the new space they move to. And if it’s self-hosted, that’s even more work to do, all of which is kinda a distraction from whatever the project was meant to do.
The network effect is the result of the sum being more useful than its parts. When the telephone was invented, a single telephone on its own is entirely useless, because nobody else has one to use. But with ten telephone, one person has the potential to call any of 9 other people. With 10,000 telephones, that’s over 9000 people they could call, or those people calling them. At a million phones, the telephone is well entrenched into common usage. Even when more and more people despise making phone calls, the telephone is still around, having changed forms since the 1980s into the modern smartphone.
Why? Because networks are also stable: if a few thousand people give up their smartphones per year, the utility of the telephone is not substantially changed for the grand majority of telephone users. The threshold to break the network effect varies, but I hazard a guess that if 1/3 of telephone users gave up their numbers, then the telephone’s demise would be underway. Especially in the face of modern replacements.
I would regard GitHub as having a network effect, in the same way that Twitter should have collapsed but hasn’t. Too many local governments are invested into it as their sole social media presence, and in doing so, also force their citizens to also subscribe to Twitter. GitHub is not a monopoly in the sense that anti-trust laws would apply. But they are a monopoly in that they own the platform, and thus own the network.
But there’s an upside: communities of people are also networks. Depending on how cohesive the contributors to a particular GitHub repo are, enough people can make the move away and would sway the unwilling to also move with them. This is no different than convincing family members to move to Signal, for example. Yes, it’s hard. But communities look out for their common interests. And if AI slop is affecting a community, then even though they didn’t want to deal with it, they have to make a choice.
Be the community member you want to see. Advocate for change in your network of people, however big or small. Without critical mass, a community will only splinter when acting unilaterally.
Also, it might be helpful to think less in terms of switching and more in terms of transitioning. Rather than moving from Github entirely all at once, start by making a Codeberg (for example) account and moving some of your things there.
This is indeed practical advice on how to do a transition, but my answer was primarily in response to the OP’s question, which was about the reasons why people don’t even try to transition. I don’t at all suggest that a slow transition is in any way invalid. But to even get to that, the reasons for not transitioning have to be overcome. And for any sizable project, community cohesion is going to come first, or else the result will be less than the sum of its parts.
I am pretty strict on my standards but every day I spend jobless I dissappoint my family and green squares on github are the main thing recruiters look at.
On the bright side I found out if you change date in linux and commit, the green squares will fill in retroactively.
May or may not write a script.
I’ve never shared my opensource work and still gotten jobs. IMO having opensource profiles is a liability for those who don’t have well known projects. Mine are nearly all explorations into unknown stuff and quickly thrown together. If they looked at my profile, it wouldn’t be a reflection of my capabilities.
I still host a significant part of my code on GitHub, despite moderately hating Microslop, because:
- Their CI is mature and super fast. My gorgeous instance has selfhosted CI, but some actions only work on GitHub (release-plz has bugs for forgejo), and their CI servers are fast as fuck.
- Visibility. People look for code on GitHub. Maybe maybe maybe they look on code on Codeberg, but without a doubt, nobody looks for code on my selfhosted forgejo instance. I am looking forward to forgefed integration sonce over a year, but it’s not there yet.
Also, GitHub has become an identity provider for many services, such as crates.io to release rust crates (packages).
Search is another key benefit. It’s really nice being able to search the gamut of open source repositories for bits of code.
Abandon git, return to subversion.
Public FTP servers with folders containing multiple copies of the code FTW!
This post has nothing to do with git. but you answered OPs question and as other commenters pointed out. this is why people stay on github, because theybthink its git





