Github just posted their post mortem (and heartfelt apology) for the 24 hour outage it suffered on October 21, which lead to issues around the world because we programmers are silly enough to put all our eggs into one basket instead of decentralizing our workflow ;)
"Connectivity between these locations was restored in 43 seconds, but this brief outage triggered a chain of events that led to 24 hours and 11 minutes of service degradation."
It's a fascinating read, seeing how the problem escalated further and further, how the systems put in place for redundancy failed, and how quickly Github's team responded, but in the end still had to work 24 hours on the issue before it could be resolved.
This issue of a central place of failure is exactly why I've tried to stay away from Github (among other reasons), but even I have started using it a bit again lately and was affected by the outage, you just can't get around using Github, it's like Facebook, nobody wants to use it, but everyone else does, so you have to. Although in Github's case that's no fault of their own. It's not that Github is bad, Github is awesome, but it should not be as important as it is, it shouldn't be a single point of failure.
There's of course already a Hacker News discussion on the topic :)
And there do exist a few decentralized Github alternatives, for example git-ssb based on the Secure Scuttlebutt protocol and ZeroNet has something called Git Central (If I remember the name correctly, been a while since I used ZeroNet). There's also Fossil, from the creators of SQLite, which is an alternative version control system which is decentral like Git but also adds decentral bug tracking, forum and wiki into the mix, so more than Git it's also basically a fully decentralized Github alternative.