>
The repository on its own has very little value.Depends for who. When I'm a user of a project, I don't care at all about anything other than the repository. The source code is the only thing that matters.
Anyway, you can't really avoid centralization in most of the projects. Barring some extreme social experiments, a project always has identity, a "canonical version". That's your SPOF right there. Of course we have tons of experience with mitigating potential issues - from caching and mirroring to not doing stupid shit like telling your CI server to download dependencies from GitHub every time it builds your project. Temporary GitHub outages seem to be a problem mostly for people doing the latter kind of stupid shit.
What would be interesting to see though is some kind of torrent network for Git repos. The kind of where I ask for a particular commit of a particular project, and I get a way to download it from some random computer that has it (with all the magic crypto code signing for confirming the code was not maliciously changed, etc.). Node.js developers have local mirrors of third of GitHub anyway, so that would pretty much solve "GitHub is down" issues.
Though it would not solve the problem of people too lazy to have a local cache of their dependencies...