Thank You For Your Pull Request

code review github code 7 comments suggest edit

As an open source maintainer, it’s important to recognize and show appreciation for contributions, especially external contributions.

We’ve known for a while that after a person’s basic needs are met, money is a poor motivator and does not lead to better work. This seems especially true for open source projects. Often, people are motivated by other intrinsic factors such as the recognition and admiration of their peers, the satisfaction of building something that lasts, or because they need the feature. In the workplace, good managers understand that acknowledging good work is as important if not more so than providing monetary rewards.

This is why it’s so important to thank contributors for their contributions to your projects, big and small.

Seems obvious, but I was reminded of this when I read this blog post by Hugh Bellamy about his experiences contributing to the .NET CoreFX repository. In the post, he describes both his positive and negative experiences. Here’s one of his negative experiences.

In the hustle and bustle of working at Microsoft, many of my PRs (of all sizes) are merged with only a “LGTM” once the CI passes. This can lead to a feeling of lack of recognition of the work you spent time on.

Immo Landwerth, a program manager on the .NET team, gracefully responds on Twitter in a series of Tweets

.@bellamy_hugh Thanks for the valid criticism and the points raised. We’ve started to work so closely with many contributors that team…

@bellamy_hugh …members treat virtually all PRs as if coming from Microsofties. This results reduction to essence, LGTM, and micro speak.

.@bellamy_hugh Quite fair to say that we should improve in this regard!

What I found interesting though was the part where they treat PRs if it came from fellow employees. That’s very admirable! But it did make me wonder, “WHA?! You don’t thank each other!” ;)

To be clear, I have a lot of admiration for Immo and the CoreFX team. They’ve been responsive to my own issues in the past and I think overall they’re doing a great job of managing open source on GitHub. In fact, a tremendous job! (Side note, Hey Immo! Would love to see a new Open Source Update)

This is one of those easy things to forget. In fact, I forgot to call it out in my own blog post about conducting effective code reviews. Recognition makes contributors feel appreciated. And often, all it takes is something small. It doesn’t require a ceremony.

GitHub Selfie to the rescue

However, if you want to add a little bit of ceremony, I recommend the third party GitHub Selfie Extension which is available in the Chrome Web Store as well as for Firefox.

One important thing to note is that this extension does a bit of HTML screen scraping to inject itself into the web page, so when changes its layout, it can sometimes be broken until the author updates it. The extension is not officially associated with GitHub.

I’ve tweeted about it before, but realized I never blogged about it. The extension adds a selfie button for Pull Requests that let you take a static selfie or an animated Gif. My general rule of thumb is to try and post an animated selfie for first time contributions and major contributions. In other cases, such as when I’m reviewing code on my phone, I’ll just post an emoji or animated gif along with a simple thank you.

Here’s an example from the haacked/ repository.

Phil checks the timing

My co-worker improved on it.

Phil's Head Explodes

Here’s an example where I post a regular animated gif because the contributor is a regular contributor.

Dancing machines

However, there’s a dark side to GitHub Selfie I must warn you about. You can start to spend too much time filming selfies when you should be reviewing more code. Mine started to get a bit elaborate and I nearly hurt myself in one.

Phil crash

Octocat involved review

Code review in the car. I was not driving.

Fist pump

These became such a thing a co-worker created a new Hubot command at work .haack me that brings up a random one of these gifs in Slack.

Anyways, I’m losing the point here. GitHub Selfie is just one approach, albeit a fun one that adds a nice personal touch to Pull Request reviews and managing an OSS project. There are many other ways. The common theme though, is that a small word of appreciation goes a long way!

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



7 responses

  1. Avatar for AlSki
    AlSki April 29th, 2016

    I have to agree, and also say that any kind of feedback makes a huge difference.
    I'm currently waiting on a pull request to be accepted, for a popular assertions library where I've added support for .NetCore45 and UWP. Nearly 4 months since pull-requested, and when I emailed the owner he said he would do it over the weekend.... back in March.

    It does however have nothing to compare with a complete UI re-write to support high DPI for a certain code style enforcer, which got accepted after 2 years and 2 days with "Changes have been merged."

    Oh, my efforts feel so validated! :-)

  2. Avatar for David Glass
    David Glass April 29th, 2016

    This is a really nice way to respond to people. I can attest to this having received a selfie from you only a few days ago - brilliant!

  3. Avatar for haacked
    haacked April 29th, 2016

    I'm glad to hear that you appreciate it. Sometimes I'm not sure if it comes across as just silly. Not that I would let that stop me. :)

  4. Avatar for Baz
    Baz April 30th, 2016

    I have a related question, and that is: normally after a PR of mine gets merged, I find it's courtesy to thank the maintainer for the merge too, but I worry if this is just generating too much "noise". What's the etiquette here?
    I have to say the majority of my experiences on GitHub are positive; maybe because I mostly contribute to smaller projects, although MS's Visual Studio Code team has been great too.
    Yeah it gets you down when you come across a grumpy maintainer or one that closes issues or merges PRs without saying anything, but you have to try to just move on.

  5. Avatar for David
    David May 2nd, 2016

    Great idea. To add to that some projects can go quite for a while and it's helpful to let some contributors know that you are still around. I have one project that I've been quite on for a couple months for various reasons. Recently I grabbed a screenshot of usage analytics for a few features someone added and sent them the screenshot with a thank you. It showed them that their work is actively being used and helping people. Lets them know the project is still going but just in a quite phase.

  6. Avatar for Phil
    Phil May 4th, 2016

    Please, explain this blog post to Linus Torvalds.

  7. Avatar for Mateus Carvalho
    Mateus Carvalho May 18th, 2016

    Nice jersey there sir