

GitHub Pull Request Etiquette - damiangostomski
http://gostomski.co.uk/2012/03/pull-request-etiquette/

======
dalke
Since your HN account ends 'gostomski', which is the same as the subdomain,
I'll assume that you wrote this.

Your article comes across as "people didn't do things that they aren't
obligated to do, so now I'm annoyed."

Have you established that the developers of the OS project know what pull
requests are? They might be using github without knowing the full 'social'
aspects of it. Or they might have a policy that people should discuss it on
the mailing list / IRC first.

You write "In this day and age, everyone expects everything instantly." Umm,
so I, as the sole developer of several packages, can't take a month holiday
away from work, because I'm going to break your 'commandment' that I respond
to pull requests "within a few days"?

How is that not arrogance? Why should people collaborate with you if from the
first step you place such high demands on them?

"Instead of just declining it, you should also provide a reason." Instead of
writing a pissy post on the topic, you should do a followup email asking
what's going on. You are likely a low-priority task. Perhaps the author of the
package just gave birth and is more interested in taking care of her newborn
than answering anything other than non-critical emails?

The right way to do this is to wait a couple of weeks. If there's been no
response, then do a followup. If there's no response to that, then after a
week or so, try again. If you're still interested, then give it one more try
after another couple of weeks.

If there's no email traffic on the list, and no IRC traffic, then there's
likely something else going on; perhaps the project is dead, or the main
developers are doing something else.

You can't assume that the lack of response to a pull request has any
significance to your own importance, because to people who have never worked
with you, yes, you are one of the least important things in their world.

Releasing something as open source does not obligate others to also do
community development. 'Commandments' like yours only serves to discourage
people from releasing open source projects.

~~~
damiangostomski
Apologies if it came across as if I was posting that as a rant. It was
published with good intentions. I'd intentionally ommited the name of the
project, as I didn't want them to come off as "the bad guys" in all this, so
some of the points may seem a bit cryptic without that information, but to
answer your points:

The project already has a decent number of contributers and pull requests
merged into the core. As for do they need to be discussed elsewhere first,
possibly, but I've been involved in discussions on their forums and tried
contacting them regarding other contributions and have not been made aware of
them. Additionally, they could mention this in the pull requests comments.

Regarding the response time, it all depends on the cirtcumstances. I'm not
suggesting you can never have a break, but if other features are being
commited, and other pull requests are being merged in that time, then it
suggests the project is actively being developed.

I admit that my contribution wasn't ground breaking, but more of a nice to
have for the end users, but it's not unheard of to have seen micro
contributions. For example, a spelling mistake or changing some micro copy is
rarely of critical importance, but they can still get approved.

I'm aware of some of the pressures on sole developers of open source projects,
as I've been in that situation as well, and I appreciate that there are often
more important factors for them, but in that case, would you not state that
you no longer maintain something or offer support? Or is that my high
expectation again?

In hindsight, calling them "commandments" was a bit strong, would be
interesting to see what others think.

~~~
dalke
You wrote that this was the first time you had ever made any contributions to
a project. You therefore have no idea of what is expected for this situation.
You state that it wasn't what you expected. You haven't explained why what you
expected is reasonable, vs. being the views of an irate snowflake.

You also omitted what you did, other than waiting, writing a blog post
complaint about it, and linking to your own post from Hacker News. In it you
characterized your viewpoints as something which should generally be applied
to all projects, when it's mostly applicable to those which want to encourage
participation by new people.

And yes, your term 'commandments' is very strong - you take on the persona of
lawgiver when you use it.

A longer discussion of some of the issues is at
<http://producingoss.com/en/managing-volunteers.html> .

