Accepting contributions to open source projects



Hopefully this doesn't count as subtweeting. A chat conversation I just had caused me to go on a big rant, and to me that's usually a sign it's time for a proper blog post. In this case, about accepting contributions to open source projects.

To be brief: with open source projects, people use up their precious spare time, that they're not getting back, to make a contribution. They can be clumsy. They can be wrong. They're still almost certainly doing it in earnest. The code they submit might be not be how you'd do it. It might have bugs or even be completely broken. Doesn't matter. Be nice! If you have plans to accept it at all, work with the contributor to make their submission acceptable. Even if contributions are closed, kindly explain why.

It's disappointing enough to be told off in the nicest way. They won't offer again, and you've lost a potential contributor for good. I made that mistake. Now all I can do is weep.

Years ago a very enthusiastic college student sent me an extensive patch that wasn't even usable as it was. If memory serves, the code was outright broken. I rolled up my sleeves and made it work. The app was that much better for it. People noticed, too. He was apparently well-known in that particular community. The goodwill earned that way lasted me a long time.

Did it take extra work on my part? Of course. Was it worth more than the kid's? Never! That piece of my app wouldn't exist but for him spurring me on.

More recently someone offered to help me who has a competing product of their own. They went out of their way to help a competitor. And came back with a counter-proposal when the first one didn't work out for me. That's how much effort people are willing to put in when they love what they do. Taking the trouble to accept it was the least I could do. Now there are two applications with that particular capability. The world is richer for it. Everybody won.

Even the most competent surgeon needs assistants willing to work with them, if they are to operate at all. We programmers... are a dime a dozen. And people are fed up with us as it is.


Tags: programming, culture