You do not need github to do that. You just need git and any git hosting. Forking is just a clone, you push in your hosting (whatever it is) and ask the guy on the other end to pull. No centralized control, real distributed development. Linux is developed like that every day. My own forge software http://indefero.net is also developed like that, with forks on github, on other instances of Indefero or just on 'hand ro…
True, you don't need github. But it's killer feature is that provides the initial grease on the rails so that Joe Blow can come along to quickly and easily add a feature or fix a bug. As someone who just this week made some doc contributions to 2 different projects on GH, I can tell you the feeling is addictive. That's why Github is cool.
What I really like for example, is that I can pull a project from anywhere, be stuck on a local network with other developers, work on the code with branch/commit/pull in all the directions and then later, push back the results without the fear of losing something in the merge.
Git is great and more of it cannot hurt.