The fantastic thing about distributed version control systems like GIT is that you never actually have to depend on a single repository.
Use Github, Bitbucket, and your own "server" all at once. None have to be read-only. Push and pull from multiple sources.
Decide that Github is no longer the place for you? No problem! People contributing to your projects should already know where to push to reach everywhere it needs to go and they only need to stop pushing to github.
Worth noting though, a lot of the value of GitHub in particular, and to a lesser extent many other services, are extra features like issue trackers, wikis and so on that act to lock you in.
I can certainly see services like wiki and issue tracker hosting being big value-adds with GitHub. Thankfully GitHub does allow you to export your data. (And to be honest, I feel it would be a mistake to use these services if you couldn't export your data.)
The wiki system on GitHub is based out of it's own git repo (https://github.com/[user]/[repo].wiki.git). If you could be bothered to pull/push when changes are made, I'd imagine this content could then be made distributed.
While not distributed/decentralized... GitHub does lets you export your existing issues. The resulting archive can then be imported into services like bitbucket, pivotal, and etc with a little work.
There are solutions for distributed/decentralized issue tracking, but I haven't seen any great way for users to interact with them. (SD and Bugs Everywhere, other users have posted links in their replies.)
Use Github, Bitbucket, and your own "server" all at once. None have to be read-only. Push and pull from multiple sources.
Decide that Github is no longer the place for you? No problem! People contributing to your projects should already know where to push to reach everywhere it needs to go and they only need to stop pushing to github.
No reason to rely on a "central" repo.