I was under the impression that GitHub stuff is orthogonal to git. In other words, GitHub pull requests don't make the existing git functionality go away and there's nothing stopping anybody from using whichever one they want. If you don't like GitHub pull requests just don't use them. Am I mistaken?
> Can't use real git hooks. understandable in the shared environment, but an annoyance and it's worth mentioning.
It's also worth mentioning that the selection of hooks available pretty much trumps any standard git hooks that I've ever dealt with. And if you really need some custom functionality to fire, you can set up a custom webhook URL that points to your own server somewhere.
This then requires exposing a crucial part of your development workflow at a public URL (even if the resource is authenticated). For various reasons, this is quite simply a non-starter for many shops who might otherwise be prepared to bite the bullet and put their source code on Github's servers.
You're forgetting that there are other types of hooks besides post-receive.
"The first script to run when handling a push from a client is pre-receive. It takes a list of references that are being pushed from stdin; if it exits non-zero, none of them are accepted. You can use this hook to do things like make sure none of the updated references are non-fast-forwards; or to check that the user doing the pushing has create, delete, or push access or access to push updates to all the files they’re modifying with the push."
I don't totally agree with the OP's rant, but I wanted to channel him here anyway:
But then you've got the issue that anybody interacting with your project on GitHub (eg sending GH pull requests) will see them go unanswered and lose interest in contributing to your project. This is pretty much the exact rant Linus Torvolds had a few months ago.
Yes you can put "I DON'T DO PULL REQUESTS, SEND ME AN AM" in your readme but anybody can agree that that's seriously deficient compared to a GH Pull Request feature that's compatible with AM. (Not that I think GH are evil for not implementing that, just that yes, it would certainly be better if it was implemented).
"Don't implement pull requests because it is much nicer than Linus' solution, so if you implement it then everyone's going to want to use it and then when you insist on not using it no one will want to play with you. :("
You could easily use a send-email/am workflow with a github repo. It'd be identical to using your own git remote.
It would also be possible for github to add a firstname.lastname@example.org that accepts a send-email formatted patch mail and creates pull-requests.
The only reason these don't happen is because nobody really wants that. The first one is immediately and completely possible, but you'd get harrassed by all the people that want the pull request UX. The second would require effort on the part of github in order to please an audience of nearly zero.
Edit: Honestly I think you'd get just as much grief from the people who want pull requests when using a private repo ("Why not just use Github"), except maybe that they don't know your project exists. It's up to you if you want to care, regardless of where your remote is.