Does it make sense to switch to a Github Alternative ?
41 points by dhruvp
41 points by dhruvp
Github has been down consistently over the last few months - does it make sense to switch to alternatives now?
When do you think majority will switch?
It's down in this moment, again. For my personal projects I won't switch to another git forge. Instead, I'll generate static HTML files for the repository tree and serve it from my own domain.
A lot of people make unwarranted assumptions that every project needs the full suite of features github offers, but for most it's unnecessary. I would love to see projects thinking thru what they actually need instead of going for one-size-fits-all. This post goes into more detail about the approach you describe:
https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/git-no-forge/
I've done this for whatever repos I want to host myself and expose publicly. You can decide what features you want to support, but here's a list of things that are easy to put together on a server:
?go-get=1 requests. The module will be indexed by pkg.go.dev too.The above allows anyone to clone a repo over HTTPs, a web viewer for quick exploration of the repo, downloadable artifacts (with the ability to validate their integrity), and feeds to subscribe to changes. It's all static and can be done in a small server. If, as a consumer, you want better exploration of a repo, you can/should clone the repo and use your own tools.
It does not include collaboration, but in some case you might not need that.
I keep a Forgejo sever for my private projects, mainly for the container registry and gitops. Otherwise you can use the setup above to great effect.
What’s down? GitHub? Seems okay from my end but it’s been an hour.
Yes, it was just down for about 20-30 minutes with sporadic issues throughout the day: https://www.githubstatus.com/
githubusercontent still seems down for me, I'm getting spurious 429 errors on every request there after a really long loading time... Obviously not doing any scraping, I discovered it when I tried to install nvm which hosts its install script on GitHub.
The best time to move your open source off Github was 2010; the second-best time is now.
The move doesn't have to be all at once. For the Fennel project, we moved the canonical repository in 2020 but we kept a mirror on github for stragglers for many years. We continued to get some contributions from github users; initially about half, but the proportion declined over the years. The contributions from github users tended to be smaller and more focused on trivialities; people who took the time to make serious patches were almost always willing to learn something new and not use github.
It's a small change, but it sends an important message. Even if you can't ditch github completely; you're announcing that you see it as a temporary thing, and that you aren't there because you want to be there.
I think the majority of Github is made of corporate users, which will never move off it because they probably invested too much in the ecosystem (user management, actions, etc).
For small scale projects, the only benefit Github brings is a larger base of potential users, contributors and people to harass you in tickets.
^this. Your pet projects really don't care where to be hosted. Corporations and organizations rely on GitHub features. For my organization GitHub Actions cannot be replaced. I'm not aware of any managed CI platforms which provide linux, linux-arm, windows, windows-arm, macos-intel and macos-arm runners.
Well, Azure does. But that is just github in a trenchcoat, or the other way around I forgot.
At work, we are very displeased with GitHub's recent uptime and are seriously considering a move; the ecosystem is not a concern to us, as we are willing to rewrite everything and also have a policy against use of third-party actions.
A few years ago I was doing GHES-> GHE migration and heck, they make it PITA even inside their own ecosystem
That depends, what do you use it for?
Personally I won't be switching yet as I mostly use it as a place to backup my code, so 90% uptime isn't a necessity.
The more of the following are true the more I'd consider switching:
Feel free to add other reasons.
The downtime is an issue, but not as big an issue as Microsoft ownership to me. I'm old and I have a big grudge against Microsoft for crippling computer use for their own miserable purposes for decades.
I decided to start moving off Github when Microsoft bought them, so I made a personal Gitea that's not exposed to the internet, and copied everything from Github to Gitea. As I work on repos, I push them to Codeberg and my Gitea. Sooner or later, I'm going to be prompted by some inexplicable Microsoft-driven atrocity to delete all my Github repos.
Moving with majority doesn't make sense, because it will eventually cause similar problems as we've got today with GitHub. If you can afford - spin up small VPS and keep your code there, assuming you don't rely on external contributions. I did exactly that, to the degree I don't host web-browsable version of my code (due to influx on crawlers), but I've got public TUI over ssh + instructions how to connect if someone wants to browse
You can move to another system rather than another service. Moving with everyone to Radicle, different Tangled knots, or (when it arrives) some FedForge will not cause the same problems as GitHub is having.
Got any tips on setting that up? I haven't done any self-hosting so far, but I'd like to start given that I've been putting my new projects on Codeberg rather than GitHub and it would be nice to have some redundancy, but I'm worried about properly securing the VPS, picking the right provider etc.
I've got pretty simple setup for this
caddy does in this order:
respond / "Do you wonder where did my repos go? ssh into this address and you'll find out!" (because I've had forgejo on the same address)My setup is a bit more complicated, because I host a bit more services + I've got LLM crawler poisoning enabled, but that's about it
If a tool constantly proves unreliable, keep using it is not logical.
Corporations can stay illogical longer than you can stay sane. Years ago, I complained about the dorky version control system "PVCS Dimensions". I could not figure out why my employer mandated it. A co-worker told me "CVS can't pay for a few rounds of bikini golf in the Bahamas".
Ha, my first time with the concept of version control was Borland's StarTeam. About a year later (which involved multiple visits from Borland to tweak the Access database that apparently powered it), we hired some more experienced developers. I got parochial and got in a fight with one (who went on to be a great friend and mentor) asking what was so bad about StarTeam?
"It has a fucking status called 'Unknown'!"
Just tipped my cap and shut up because I know when I'm beat.
You can use mirrors and submit your code into 2-3 git clouds. Best choice is where your team is located. If you work as solo, use what you want. If you want more stars - use github. If you want simply host your code and share it - use sourcehut. If you want to follow trends and intention of community - use codeberg.
The thought that Microsoft enshitifies GitHub on purpose to hinder open source is really lingering.
Trying to make a project release on Mondays of all days, and it's impossible. It's crazy. Already 2.5h down.
What I want: A self hosted version of GitHub that is a precise mirror of an actual GitHub repository. That is, PRs from GitHub appear on the selfhosted instance and my reviews from the self hosted instance appear on GitHub. That way I can work on my private instance when GitHub is down (or slow) and I can be assured my work still appears to everyone online.
Does this exist?
I started to move my personal stuff to codeberg. For practical purposes it's fine, but sure does feel like a quiet backwater. Of course as github gets worse, more people will migrate.
But I suspect it will be like the enshittification of twitter, we'll gain much but will miss the network effect of all being in one place.
Of course, I wouldn't go back to twitter!
I've been using GitLab for a couple years, haven't had any issues with downtime and the CI is enough for me to build/publish my website (which is all I need CI for in a personal project)
I find it as usable as it has ever been. I also think the question is somewhat irrelevant as it is trivial to move repos around or even mirror them.
What's stopping you from mirroring them? The point of git is precisely to not rely on a centralized service.
I partially did, it was worth it for me and still is.
I blogged about it not long ago: https://lobste.rs/s/jhcyuq/deep_dive_into_my_forgejo_setup
When do you think majority will switch?
I think it will slow march towards being corpo-ware like office365, where companies use it but with fewer individual folks using it over time.
If uptime of sources is of essence, then radicle is IMO the only really reasonable alternative - at least for any somewhat actively used project.
Anything else just depends on the goodwill/health of the hoster - which if the expectation is free hosting - will always be either somewhat limited or prone to enshittification to keep making money.
Whereas with radicle any user can also seed the project. Pretty much like linux distribution mirrors/p2p seeds.