When Github started becoming massively popular, I must admit that I didn’t get it. Mercurial suited my needs just fine, and thus, I really didn’t feel compelled to learn and use git. That, and the whole “host your repository here” just seemed silly. I could host my own repository at my website; why do I need someone else to do it?
I “got it” after I watched Mac developer Jonathan “Wolf” Rentzsch adopt ClickToFlash from a moribund Google Code project in order to improve it. The fact he forked the code was nothing special. What was interesting was watching an army of developers show up on Github and fork their own branch in order to fix bugs, many of which got rolled right back up into the master branch. Sure, this could have been done with other tools, but Github made that collaboration much easier. Without Github, a contributing developer would have to email patches back to the maintainer or beg for commit access. With Github, all a they had to do was clone Rentzsch’s ClickToFlash master, patch it, and issue a pull request to Rentzsch to get him to “pull” the patches in.
Bottom line: Github isn’t just hosting your repository, it’s wrapping your repository with a community. There’s a reason that their tagline is “social coding”.
Of course, Github isn’t unique. There are similar sites that serve similar purposes for other DVCSes, namely Bitbucket (Mercurial) and Launchpad (Bazaar).