So where it the 'apache' of Github? Presumably that would be Gitlab, but its not quite aligned with the Github experience.

One could imagine a package you install on your droplet, ec2, linode, what-have-you, which would create a 'site' for your project which included a Wiki, a user management package with role management, automated source code backup to Glacier, automated mirror management to choice of mirrors. Install, set up your various keys (aws, ssh to mirrors, etc) and then push to it your source and make it the origin master.

You make that and then people might start creating free floating git repos, except that it will cost them some small money (like $25/month) which would discourage many people.

Gitlab is a non-starter since it requires developers who can barely manage to use Git to also run their own servers. If that weren't the case, then we'd just have another GitHub-lookalike. I'm old enough to remember when self-hosted Subversion was a popular geek "badge of honor", and the frustration of trying to pull code from some guy's VPS that had been offline all weekend.

Something like Fossil's model seems better, where issue tracker and wiki are instead built into the repository. Sure, essentially you're still running a little mini web server on the local machine, but the presentation is completely different (a single binary rather than a huge Ruby webapp with many dependencies).

The problem isn't really that GitHub goes down, but that we can't mutate or make use of certain pieces of state while it is down (mostly issues/wiki), and nobody can see our changes until it comes back up.

Actually Git comes with all the tools necessary to send pure data in the form of changesets by mail, its just that its usability sucks unless you have a working sendmail/mutt config, which 99% of devs don't bother with any more.

That seems the more interesting thing to fix, rather than just having another self-hosted SourceForge clone or whatever

As a side note, GitHub wikis are actually git repos that use Gollum:

https://github.com/gollum/gollum / [email protected]:gollum/gollum.wiki.git

As such, you can clone wikis, work on them locally, and push changes later just like any other git repo.