However, I cannot work on Github. In my opinion, the Pull-Request mechanism is weak because it fails to address a major point: It's highly improbable that I accept the PR on the first try. There's going to be a lot of back and forth discussion, reviews, remarks, etc.
Standard PRs I deal with on Github usually end up with several redundant commits. When I ask people politely to rebase all the commits they're sending into one, most don't know how to do it. (It's okay not to know. It's weird when someone with several contributions per day never had to do it before). If I `git commit --amend`, my PR is actually overwritten and I lose the history of the first patch I've sent.
I started disliking working with Github ever since I started working on OpenStack. The process to send a patch there might seem a bit daunting at first, but it's really not that complicated. Using Gerrit (https://code.google.com/p/gerrit/) for code review has many advantage, like limiting your patch to one commit, keeping a detailed log history of successive patch sets, and generally making reviewing more inviting. On top of that, the whole suite of tests is ran against each submitted patch in a virtually never resting CI server.
And finally, I don't find Github's Pull Request that "easy, simple and fast". My workflow with OpenStack is a lot faster. 1 command:
$ git review
A colleague of mine says it a lot better than I do: http://julien.danjou.info/blog/2013/rant-about-github-pull-r...If I recall correctly, Linus Torvalds went on a highly publicized rant against Github PRs not that long ago.
I'm not arguing that every Open Source project should have a complete QA infrastructure, and Github is a great place to deal with your first Pull Requests. However, I do argue that you can very quickly reach the limit of what Github can give to you in terms of collaborative tools.
My rule of thumb: If you have more than 10 contributors, at least 4 of which are active daily, it may be worth it to invest in some real infrastructure.