Although I neither use git, nor host a single project on github, I have a github account. I created it because a lot of projects are on github nowadays and I wanted to easily get in touch with developers, to report bugs, to submit patches, etc..
So far so good, github does a decent job in giving a lot of small and big projects a home, with bug tracker, wiki, and so on - there is something that starts to really annoy me, though. Github's version of pull requests. Although I'm very indifferent about the technical side of github's pull requests (as opposed to other people), it's the community it seems to create around it that increasingly annoys me.
I appreciate people sending me patches, improvements and fixes for my projects. It always made me happy to see so many OSS developers not only just reporting bugs, but actually taking the time to debug the issues they run into and creating patches for them. I always felt it was quite natural to do the same. With github projects I find myself more and more in situations, though, where people seem to be annoyed to receive patches. Very often, the first reply is "can you create a pull request?".
Sure, it only means forking on the web-interface, fetching, fixing, submitting to fork, creating a pull request (again, on the site). Ha!
Hahahaha... I don't even use git, and the sole reason I created a github account for was to get in contact with the respective developers, ask them questions, file bugs and to share patches. As convenient as pull requests are in a distributed-SCM environment, github's version is so non-standard, unflexible (go through web, and only github-internal), assume that everybody uses github, and what are we dealing with in the end? ... patches. So, why not just take my attached patch and apply it? I mean, coders can read text, right? Coders can use shell tools, right?
Seriously, patch exists for nearly 3 decades, and just works. Portably. Not tied to any kind of programming language, or worse - tool or website. diffs are human readable and pretty much self explanatory if somebody wants to apply a patch manually. Diff, patch, done. But no, apparently it's not enough, some people want a web-based accept-button or they get irritated.
Speaking of looking a gift's horse in the mouth, I could just post "dude, your code is broken, please fix it".
Alright, maybe it's just a new way of doing things, but it's annoying. Especially if the patch is tiny - as most patches to 3rd party code actually are. Sure, whatever, I can get over it - if there wouldn't have been RightScale's support that added insult to my annoyance. In my dayjob, we use RightScale to administer the company's cloud-based servers. We pay for their support. I came across a bug in one of their ruby scripts and the patch in question was literally a 2-character change. I decided to not just report the bug, but to debug it and send in a patch along with it. Sure enough, I get an answer, they confirmed the issue, told me thanks for reporting, then asked me if I can submit a pull request as they host their scripts on github.
Seriously? Am I just old-school? The patch itself already appeared to be overkill to me. And we pay for that. I didn't reply.
One developer told me that without a pull request, I wouldn't get correctly credited for my contribution. Where are we here? I don't need credit, I want good, stable and working software.