Github is a Single point of failure for the ecosystem

So Github is down currently, and also had a few hiccups recently See here.

This is a recent development, Github used to be quite reliable but it is lately having more and more issues (Vibe-coded server code?). Perhaps it is time to re-evaluate how dependent the whole ecosystem is on Github, and what if at some point a critical incident lasts more than a few minutes/hours. There was at some point one official and one inofficial project for a registry mirror, but both are unmaintained and more crucially both are on Github as well. Maybe we could have an automated mirror in Gitlab or Codeberg(Strong/prohibitive AI rules) or elsewhere?

More generally I think this shows how dangerous it is to become hostage to the whims of a private, for-profit company who couldn’t care less about Julia.

We do have automated mirrors already! They’re the package servers. Even when GitHub is completely down, Pkg.update and Pkg.add still work. They just reflect the last state the package servers were able to fetch.

Yes, it’s frustrating that I can’t keep changing things, though, I agree with that!

I wouldn’t be surprised if vibe-coding plays a role but I find it somewhat more likely to be an increased load from multitudes of vibe-coded projects.

GitHub being a single point of failure is most definitely a problem.

However, there are huge benefits to everything being centralized on GitHub: I can easily submit PRs to any package, comment on every issue, link between issues of any two projects, tag any maintainer of any project in any discussion, and so much more. It’s what makes something like https://joss.theoj.org possible. The gain in productivity, and the effect on the open source ecosystem as a whole, is immeasurable.

The pure “Git Hosting” aspect of GitHub is easily replaced. All the other “social” parts are almost impossible to replace. Which is why I don’t cheer when people go to GitLab or Codeberg, even if I can understand their motivation to some point.

See also the discussion thread here … it would be nice to at least see regular backups of github issues and PRs (and other metadata) in addition to the git repos themselves: Github contingency planning — should Julia be backing up issues/PRs?

It’s very, but it’s not a single point of failure, for package installing because of:

Also not all packages are even on Github (yes, most, vast majority, almost all the over 14000 packages are on Github), I believe these are the only (at least main) exceptions:

I estimated 80 projects on Gitlab: Code search results · GitHub

And I count 7 on Codeberg: Code search results · GitHub

FYI: Migrating from GitHub to Codeberg ⚡ Zig Programming Language

Make of that what you will, not sure if Julia, the project should move yet, most of the packages will likely not, and could Julia support more than one, e.g. if people move to Gitlab (or Codeberg), could a mirror be at Github, or would it only be a hassle? You always want a “single source of truth”.