So, I'm not a huge GitHub fan for open source projects. Why? Because while it's a great site and tool (don't get me wrong, I can understand the attraction), GitHub can be a pain in the ass for end users. How so? I don't know how many times I've found some code I wanted to use only to find a dozen or more forks, none of which have been merged back together and a handful of which have patches I'm interested in. It's way, way too easy in GitHub for the community to get <i>lost</i> in the forks. There's no clear mechanism for communication (mailing list, forums, etc.) and not enough pressure to merge code back into a common repository. Sure it democratizes contributions, but it also makes a mess.<p>There's a real need and advantage to having a canonical, master repository - something users can trust that's been properly vetted, tested and debugged. There's a lot of value in a single place for discussion with public, searchable archives so that users can learn the project history, why decisions were made and, if necessary, ask new questions. There's nothing worse than having to use Google to search blogs for outdated documentation and discussions split across little more than tweets.<p>GitHub encourages <i>forking</i> but it doesn't necessarily encourage <i>merging</i>. Successful open source projects which a large, invested user base require a bit more structure, stability and developer support than GitHub encourages. It may be a great place to start a project, but at some point, I can see projects graduating to their own infrastructure and a real, organized community.