You are right about github being too central. However, I don’t think the solution would be pushing your code to other services because as Steven suggested this creates a risk. Github provides a service where in they deploy github.com (the application) on the companies’ servers so they can be in charge of the uptime of github. This is a commercial solution though. A non-commercial solution would be to install gitorious or other kinds of self-hosted open source application on your own machine.