Dear Open Source Project Leader: Quit Being A Jerk

I do my best to support the people that use my open source projects. I don’t always do things right, I don’t always respond in a timely manner. Sometimes I just have to walk away from an issue or request and let it die from lack of attention. But I do my best, and I take the time to provide meaningful answers whenever I can. I get a lot of “thank you!” notes from people because of this, and every now and then I get a comment like “best open source project leader, ever” or “you do so much more to help, than any other oss project leader i’ve dealt with.” 

The first few times this happened, I was genuinely shocked. The next few times, I began to think “wow, I’m doing something great, here.” But then the last few times it happened, I started moving back in to “shocked”. I started wondering why people were reacting this way. Am I really doing something special? Am I going above & beyond? I don’t think I am… but maybe I am?

(No, this is not a humble-brag. I’m making a point, here…)

A short time after I started asking these questions, I saw something on twitter, something clicked in my mind and I became very sad as I realized why people are reacting this way. 

The Open Source “Elite” Are Immature Jerks

What I saw on twitter was yet another comment from an open source “elite” – a person of high visibility with a project that is well known by tens or hundreds of thousands of people – making fun of someone else trying to contribute. Again. And again. And again. Over and over. And it makes me very very sad.

The comments tend to be the same, no matter who the perpetrator is… “Stupid pull request of the day”, “WAT”, “What is this, I don’t even…”, “LOL”, and other phrases and words that basically say “look how stupid this person is. can you believe they would send in a pull request like that? HAHAHAHA! they’re so dumb! don’t they know that [arcane reason for the way things are]?” 

I can’t think of a better way to get people to stop contributing to open source projects. Seriously… there is nothing more demotivating and demoralizing than this kind of high-school-bully response. It needs to stop.

Destroying The Community

Once I realized what was happening, I started paying attention to the pull requests I was getting, and how people would start them. Many of the pull requests that I see have something like this to open the conversation: “this is my first pull request. sorry if this is supid,” or “I’m not sure if this is a good idea, so feel free to just close it and ignore me,” or “sorry if this is dumb. i couldn’t figure out …”

I’ve received email profusely apologizing for asking questions and not knowing the answer. I’ve seen people belittle themselves in public forums like IRC and twitter, in order to get the attention of someone who knows the answer. I’ve seen people delete their accounts, disappear from the internet, and leave the open source community behind because of jerks that torment and belittle and tear apart the work that they are putting in. 

Chances are, mr or mrs open source elite, you have been on the receiving end of this in your life. You know better and I expect more from you. You are shaming yourself, destroying the good will you have created in the community, pushing people away from amazing open source projects and communities, and generally being a horrible human being when you do this. And why? For what gain? Is it your turn now? Does it make you feel like a better programmer to belittle someone else’s contributions?

It makes me very sad.

No One Deserves That

The worst part of this is knowing that some of these “OSS Elite” were the geeks and freaks and nerds in high school, that got picked on by the jocks and other popular kids. Apparently the new found success in the open source community has caused selective amnesia in these “leaders” and they either don’t remember or don’t care about how it felt to be trampled upon by the popular voice in the room. The victims are becoming the perpetrators, and we are often laughing right along side with them. 

I’m Not Innocent Either

I’ve done it, too. I’ve looked at commits that people linked to from twitter comments and laughed. I’ve had those same kinds of “wouldn’t it be funny if I said …” reactions to pull requests and issues submitted to my projects. I’ve wanted to be that guy… the big fish, smacking the little fish aside with a self-righteous, “I’m better than you” smirk, a comment about the stupidity of the request, and a public shaming of the person that asked or submitted. 

Do Better. Don’t Be A Jerk

I do my best, like I said. I know I have a tendency to react this way and I want to be the jerk and the “big man on campus”. I sat here and blamed the crowd of people that I pay attention for teaching me to do this. But in the end I realized that I am choosing to be this way and I’m as bad as any one else in this.

But I’ve realized how horrible this is. And I’m trying to do better. I expect everyone else in any kind of leadership position to do the same. 

Recognize your own faults in how you react. Take time to respond calmly and with genuine guidance and reason. Don’t be a jerk. When someone submits an issue or a pull request that is “obviously wrong” in your eyes, don’t make fun of them and kick them out of the cool club. Help them learn from the situation. Ask more questions, find out why they are suggesting this change. Dig in to the reasons behind the request and see if there is any merit to it. Take the time to understand their perspective and thought process before you react and judge others.

About Derick Bailey

Derick Bailey is an entrepreneur, problem solver (and creator? :P ), software developer, screecaster, writer, blogger, speaker and technology leader in central Texas (north of Austin). He runs - the amazingly awesome podcast audio hosting service that everyone should be using, and where he throws down the JavaScript gauntlets to get you up to speed. He has been a professional software developer since the late 90's, and has been writing code since the late 80's. Find me on twitter: @derickbailey, @mutedsolutions, @backbonejsclass Find me on the web: SignalLeaf, WatchMeCode, Kendo UI blog, MarionetteJS, My Github profile, On Google+.
This entry was posted in AntiPatterns, Community. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • anonymous jerk

    Tell this to the MassTransit guy

    • drusellers

      Consider him told.

      • ferventcoder

        I disagree. I’ve never seen the MT/TS/Magnum guys behave in an unprofessional manner. Maybe I’m wrong.

  • sailfrog

    Unfortunately OS jerks have been around for a long time. I will never forget the sheer vitriol found on a daily basis when I first joined the qmail mailing list over ten years ago. Eventually I unsubscribed because asking a question was likely to produce more insults than advice. Having run my own OS project for more than a decade I’m proud to say I have always tried to treat every person needing help with respect, even if it’s the 100th time answering the same question that is clearly explained in the docs :)

  • Daniel Marbach

    Quite frankly I have had issues the other way around. Receiving threats from user “I’m going to stop using this library if you don’t add X…”, “Where is the fuckin documentation” and much more! Maybe this post should also have a post “Dear open source users: quit being a jerk”

    • Christopher Loverich

      I’m sure most have; but that’s both very different and not a justification for the elitist behavior. I’ve little experience with open source projects, but I’d take a guess that there’s far more bad contributors than good. I think this post is a reminder that we should be doing everything possible to encourage the good.

    • ferventcoder

      Whenever I get these I promptly mention we have a support line and they can pay for features they need “right now”.

  • I don’t disagree, but this shouldn’t be thought of as limited to OS Project leaders. Or OS Project users. Or even just developers! All people want to be jerks, it seems. We’d all do better, as a community of people that all have the same goal – to deliver high quality software. We all have different skill levels, talents, and backgrounds. We’d do well to treat each other as equals.

  • Travis

    It sounds like we’re talking about

    THAT pull request…

    • craigburke1

      I’d say that’s different. The person submitting this pull request was actively trying to deface the project. They weren’t trying to fix an issue or add a feature in a naive or seemingly stupid way. In this case, the ridicule was deserved.

  • DB

    100% agree except to say you shouldn’t restrict this to just OS project leaders. This attitude is rampant throughout the software development community.

    I’m so sick of “RTFM”. If someone could spend 15 minutes looking through the documentation or just ping me on Skype and ask me, the guy who wrote it, and who can give them an answer in about 10 seconds, then I’m going to answer the damned question! Besides, the “M” is usually so bad as to be worthless because developers “would rather be writing code, not documentation.”

    • edude03

      I guess it goes both ways. Sometimes projects have amazing documentation, or at least enough documentation to get the user where they want to go, and yet they still ask for what basically amount to hand holding..

      It’s one thing if you’re legitimately stuck, but it’s another when the person just opens your program then gives up right away.

    • David

      I think there is a missunderstand here. Look at the perspective of a OSS leader. Usually he has a long todo list, and then is bombarded daily with questions from active developers and external contributors. As he has limited time (usually spending his evening doing this and not his day job), he has to make sure that people who come back actually dont ask again and again consuming more and more time from him. Thats what all the RTFM is about. Read the manual, understand how things work, then come back and make a good effort, people will help you.

      If you just go ahead and always instantly ask, people will tell you to RTFM as you they need to spend time on other things and the other 50 mails in their inbox.

      It’s 10minutes for him it’s 10 seconds for ihm, but he is asked that 100 times a day.

  • Mike Miller

    Good food-for-thought for all…

    Thanks Derick!

  • Bhua

    It is actually good thing to eliminate ‘moob’ from community. Most stupid users are just lazy to read documentation. You should not reward bad behavior! Dealing with stupid questions effectively costs time. Sure my project may have 200K users instead of 150K but who cares at this point?

    If you want me to answer your stupid question, pay my usual consultancy rate (500$/day) and than we can talk.

    • So what you’re saying is (Using your brilliant logic): People who ask questions on any StackExchange site are all stupid because they don’t know the answer to what they’re looking for? If someone from your family had a question and they didn’t read the manual, you would ask them to pay you $500 for you to answer their question?

    • Guest

      I’m sure sir, you yourself never asked any question to anyone senior in your authority to gain more knowledge ever in your life because you had always been elite/knowledgable from Day1?? Is that true?

      • You do not have to be elite/knowledgeable from your first day of trying programming to have no need to ask questions from seniors, because the web exists these days and most of the questions have been asked already.

        Myself I have asked only few times from senior about some problem when I have not found information.

        • Nicolas

          Yet, if everyone in the community behaved as you say, then you would have not had any answers to learn from..

          • Still we would be able to write code from the start if we can understand the programming languages documentation and form logical expressions with the language. Though this would require much more thinking which would drop those who ask questions from the world of programming even before thinking how to find the information themselves or how to create what they want. We would be just reinventing the wheel much more.

            Never forget those who share information for sheer joy or even for cash would share their accumulated knowledge of programming algorithms and practices anyway. If you read a book covering the domain you are having problem at you possibly could have your answer in your hands without knowing that.

  • alanfranz

    I thought a bit about open source project governance, this kind of reactions I forgot about, while there are other community-killing behaviours around:

  • One thought, if you’re taking the time to understand their perspective and thought process and it reveals something that should be in some kind of “How to Contribute to [Open Source Project X]” document then create/update that doc. The next time you see that thought process you can just reply with the link to the doc. Over time people will discover that doc and contributions will improve.

  • levi

    I’ve been afraid to try and join up in any sort of open source project the entire time I’ve been programming for this very fact alone. I taught myself and as a result I’m sure there are lots of gaps in my knowledge that some ‘elite’ person may find laughable. Instead, I write my own stuff at home in my basement and never put it out there for critique or improvement.

    • Me too. I’ve been programming for a very long time, but everything I know is what I’ve learned on my own, with a little (lot) of help from my friends. But, from age 8 to now 28, it’s been code.

      The one thing I absolutely despise is taking away a forum of thought and opportunity that’s open to everyone, because some smarter-than-everyone-in-the-room nerd decides to lambast some poor guy trying to contribute.

      It turns me off. I don’t want to share my ideas, my code or my thoughts in the OSS community, because I don’t want to even deal with the potential bullshit. I’d rather spend my time coding, than having some jerk go after me, because of some stupid bug or wonky experiment.

      • Ignore the jerks and share your ideas anyway. The majority of people will appreciate the ideas, and if not that, then they’ll appreciate the opportunity to have a good discussion.

    • Please do not do this. Get your work out there. Sometimes I get issues reported where I can tell that the reporter is clearly capable of submitting a patch, however they don’t, not out of laziness, because they’re otherwise very helpful in diagnosing, but because they don’t have the confidence.

      Besides, after years of programming I can say that I often see stuff written by ‘superstar’ developers that’s quite plainly rubbish. When I see that, I think to myself, you know, that thing I’ve been beavering away on in private is actually way better than this. Maybe I should put it out there.

      tl;dr You’re stopping yourself from learning and letting the superstars go unchallenged.

  • ferventcoder

    I left a job due to behavior I saw that was like this.

    I absolutely abhor this behavior. I have zero tolerance for this.

    You don’t grow a user base by being an arse.

  • I spend quite a bit of time supporting users of Apache Tapestry; I try not to be a jerk, but it can be difficult when users fail to even do a cursory search of the available documentation. I also will send a link to ESR’s “How To Ask Questions The Smart Way” if someone posts a support request that it particularly clueless. I’m not sure if that makes me a jerk, but people do rate the support for Tapestry quite high (perhaps because of the other, more patient committers).

    • ferventcoder

      I tend to link to the documentation in my reply.

  • Mizchief

    I see this all the time, not just with developers, but office managers, policemen, people that work at the dmv, etc. where they go though most of their lives earning little respect from their peers, or experience being bullied themselves, then as soon as they get in a position of even a tiny bit of authority they just crap all over everyone on their new found power trip.

  • As Guy Kawasaki says in his book “Enchantment” – your goal is [in every interaction] to fill them with great delight!” – Seems like a good formula for every situation…

  • Good stuff Derick. The solution to this problem has a lot to do with letting go of ego and embracing empathy; Derek Sivers recently published a really great post that aligns with this as well:

  • Vidya Wasi

    Elitism in computer related areas is quite big. It seems bigger than other areas. I often bump into elitists and assholes.

    Than we have the volunteer’s that ask for volunteers when you submit a feature request or a bug. Even if the report is so detailed you could nearly copy and paste from it to fix the bug!

    Take the vlc project and windows support for instance.

    What we need is a list of these elitist assholes.
    A list that do not just cover programming.

    That way, before we do a pull request, bug/feature report or ask a certain person a question we can check that site.
    That way we can avoid a lot of misery and waste of time.

    Any one interested ?

  • not limited to open source, it’s everywhere and has been around forever

  • Thanks for taking time to put these thoughts down! I hope I’ve never done this. But, it’s always good to have a reminder. It takes a sort of vigilance to consistently act properly in all these situations…and it’s nice to have a good reminder on a regular basis to help one stay on track. I’d be interested to hear your thoughts on how to engender this mentality within one’s OSS community. Specifically, while I don’t think I have acted this way, I’ve seen some people on the forums of my own projects answer questions in a not-so-polite fashion. I’d like to deter that behavior there as well. Most likely, I just need to be proactive in addressing it privately when I see it happen. But, I was wondering if you had any specific thoughts.

  • This is an ongoing problem, especially with certain “dev cultures” than others, but it does seem to appear at certain times in certain places with annoying regularity. I find myself fortunate that I often can defuse these individuals who proffer to be “jerks” about things. I generally just call them by “asshole”, but I guess that is a bit harsh, but often will tone them down a bit. If they keep screaming then they’re often just to be ignored. :(

  • Thanks for this discussion. I shared some thoughts this summer in a post called “Anti-patterns for open source communities”:

  • Andrew Young

    Wow. Everyone should give this post a standing ovation.

  • John

    Hmmm Linus, I guess?

  • Matt

    Unfortunately, you’ve also quite accurately described your average IT workplace

  • pwightman

    RTFM and mocking pull requests are two *very* different things. Users that don’t bother to read directions, and those that are trying to contribute are *very* different. This article was not targeting those who tell users to RTFM (nicely), but those that public mock and shame those who are trying to contribute.

    Shame on you for trying to get “moobs” out of the community.

  • Where are these open source elite bullies? I don’t think I’ve *ever* seen a tweet by someone making fun of a would-be contributor. Is this the status quo in some niche (or not so niche) community I’m just not exposed to?

  • Ric

    This ego of some programmers, usually very good coders, has been the case for decades. As a very accomplished Assembler programmer of the 80′s I was totally flattened by insults from a power hungry jerk of considerable talent himself, that drove me back into my private programming space. I contributed many many early freeware programs in those MSDOS days but I stayed in my own mental space versus being mind-fucked by ruthless idiots who were also very good programmers. Very sad. Now as an older programmer doing current stuff, I find myself very willing to put out free completed products but shy to contribute where peer review is the game, possibly the same game as those many years ago.

  • I’m not sure how communities of open source are usually set up to handle requests, but it could help to build a Quora type of question-answer system where bad questions can be edited and people can downvote bad answers. The more people that can see the entire process of questions, requests, and patch submissions and the more recognition a good answerer can earn, the more quality and helpfulness we’d see in a community.

    Also, there are free resources for building a community that is more open and better moderated, such as Google+ Communities.

  • Communists are always mean people. The Richard Stallman model has made any sensible programmer flee the programming profession. Open Sourcers all think they are going to further the cause of communism by destroying all value in proprietary trade secrets. They are on a mission with an agenda – an agenda no one wants and has always failed. That is why they are so mean. They still believe in the superiority of communism and thus they still believe THEY are superior to everyone. Hence the behavior. Open Source Commies have done more to turn a once-respected profession into some kind of bohemian hippie club for communist losers. No wonder people are fleeing the programming profession in droves…. “Open Source is tantamount to communism” — Bill Gates

  • Leaders being jerk can be applied pretty much in every field. Only the power they have over others might make them jerks, though everyone has their own reasons to be jerks.

    OSS leaders often have to be jerks in public which creates fear of working for them even before new volunteer has submitted pull requests.

    I probably could partly say why Torvalds is a jerk for example, which comes down to the fact that he is from Finland where we have a culture of saying straight to you what we want even if it makes you sad.

    Then again I understand that OSS leaders should use more of their time to guide the new people or at least forward those pull request to someone who can be the guide. Because the job of reading pull requests and understanding the code is task which takes quite bit of time to make the decision if the pull request is good or not. Would you start mentoring this newbie when you have twenty to hundred pull request left to read.

    Leaving the newbie unanswered is worse than replying with harsh quick words, because if they were not replied they will come back to harrass you asking why the pull request was not merged and they did not learn that something in their code sucks. If you say that the code sucks they will either make it better or drop it depending on their motivation and if they actually make it better you can see that they are motivated to help the project which gives you as the leader more security over the code the newbie is requesting to be merged.