Good article. I work on an open source project and we try to be as friendly as possible. As someone who accepts / denies pull requests, I try to point out any code issues to the author in a professional manner and to work with them to get their code into our repository if it is valuable (or if it isn't, explain why without being rude). It's worth taking the time to build that extra good will, in my experience, as they'll often come back with further free work. A little patience saves me time in the long run with free code contributions.<p>I had an opposite experience trying to report an issue to a certain Apache project I won't mention. Gave the exact version of their program in use, all platform information, a sample file with the issue and the exact command to run. Everything to reproduce.<p>I received an incredibly derisive response about "why nobody thinks to include a stack trace because we're not mind readers, duh" and the issue was closed promptly. Another dev re-opened the ticket and actually ran the command with the file to reproduce, but it already soured my experience. Needless to say neither I or my colleagues will ever consider contributing to that project again.
This is an excellent article. Also brings to mind some of the writing that Nadia Eghbal has been doing recently about open source (<a href="https://medium.com/@nayafia" rel="nofollow">https://medium.com/@nayafia</a>).<p>Not being an asshole is obviously the right basic mindset. But if you're a maintainer of open source, there are a number of other considerations to keep in mind. You really want your project to be as accessible as possible.<p>People talk sometimes disparagingly about "drive-by pull requests", but these are good things! Your core contributors can only do so much, and you're likely to get only so many people capable of making core-level contributions. You want to take advantage of the long tail as much as possible.<p>This is especially true when you consider the pool of potential contributors is often much wider than seasoned open source contributors. You'll get people who have never squashed commits before, or never even submitted a pull request. A welcoming mindset is the first step. But you need to be thinking hard about how difficult it is for a new contributor to onboard onto your project.<p>I know it's a lot of work for maintainers who are already stretched thin. If this is a topic that interests you and you want to chat, feel free to email me. I'd love to help figure out how to make this easier for more maintainers.
I agree. The LibreOffice team takes great pains to be polite to contributors, even though every year GSoC rolls around we get a multitude of students who honestly don't know the first thing about development.<p>In fact, we try to encourage them as best we can and I know that I personally try to be polite and positive about any attempted contributions even if they can't be accepted.<p>I figure just working out how to get, build and submit patches for LibreOffice takes quite a big of time (build time alone is massive, though getting better) and let's be honest, if you've never used git or source control it can be pretty intimidating to even clone a repository!<p>So I agree. Someone has taken the time to even attempt to make your software better, and even if that might be misguided it's good to remember that.
Between this and the seemingly over-aggressive response to the "iGiveHead" patch, I find myself struggling to reconcile my very positive experiences with R users on Twitter and StackOverflow...and the reportedly closed-off attitude of core members.<p>I'm not one who thinks that Linus Torvalds is completely out of hand -- in fact, whenever I read the messages and the context for whatever blowup he's allegedly stoking, I find him to be quite reasonable. And maybe that would be the case here after knowing both sides of the story...but the wording of the message received by the author really, <i>really</i> rubbed me the wrong way:<p>> <i>"You were asked to correct this in 2013, failed to even reply, and it has been archived. Please explain your inaction and lack of the most basic manners."</i><p>Sure, I don't know how CRAN works, and maybe the author is an unreliable narrator who is leaving out the part where his "inaction" caused CRAN to experience a week-long downtime...but barring that kind of disaster, the message the author received struck me to be not just callously judgmental, but just...<i>sad</i>. Has this person never been on the receiving end of a missed email? Does this person not realize that <i>life happens</i>, even to people who contribute to CRAN? And that the author may have experienced some serious downtime in his life, such as a death of a loved one, or unemployment, and just simply missed the email? Why the <i>fuck</i> would you harass someone who is actively seeking out to update his contribution in response to users' pleas? How jaded must you be to accuse someone through email of lacking "the most basic manners" when this person is offering help, rather than thinking that just <i>maybe</i> you should give him the benefit of the doubt?<p>Maybe the author <i>was</i> an inattentive jerk. But there's no reason to assume that right off the bat. Yeah, I know this is a relatively small scuffle in the scheme of things...but that's what really bothers me. One of R's disadvantages is that it doesn't have enough contributing developers...but small communities have their own advantages, and I feel that's why my interactions with R-users have always made me feel good about the language. But the way this CRAN maintainer allegedly acted...it just makes me sad...if someone in a community this small can be so cold to another member, then it's a downer to think how things in much bigger communities that lack the personal connectedness.<p>But good on the author for taking it in stride...he probably doesn't need R as much as R needs more people like him.
There's a lot of politics currently going on in debates about open source inclusivity but this article is a great example for what it all really needs to boil down to: try to be respectful and assume good faith.<p>As a maintainer it's not your job to provide free therapy sessions to other contributors but despite the inhumanity of the medium it's still important to remember that on the other end sits a human like you with their own problems, worries and distractions.<p>There's nothing wrong with archiving the package for inactivity. But the unnecessarily hostile and judgemental tone of the message is inexcusable. There was also nothing wrong with turning down the "iGiveHead" patch someone else mentioned here -- it was simply a matter of how it was rejected.<p>Open source projects don't have to accept every contribution and they don't have to be endlessly forgiving when contributors don't fulfil their self-imposed duties. But showing at least a minimal level of respect should be basic human decency.
"The No Asshole Rule" is a worthwhile read in this context.<p><a href="https://en.wikipedia.org/wiki/The_No_Asshole_Rule" rel="nofollow">https://en.wikipedia.org/wiki/The_No_Asshole_Rule</a>