The Number One Rule of Open Source

If I had to pick one thing and only one thing that bugs the hell out of me these days about the state of open source, it's this: criticism without the 'constructive' part.

I'm not going to go through the whole "It's free! They're doing it in their spare time! Be nice to them!" stuff. In the end, code is code. Bad code should be identified and worked on no matter if it was written for free or for a million bucks. However, I'm going to harp on the fact that contributions are the stuff of open source, and the voices of the community are what gets changes in place.

So when you try something out, realize it doesn't quite work like you'd like, and then post a tweet like "Man, blahblah really sucks!", you're making a lot of smart people hate you. You're whining about something which THRIVES on people helping out, and you're not offering to help out or even give guidance as to where others may help out. Your problems will never be fixed until someone much nicer, smarter, probably better looking than you comes along, recognizes the same problems, and turns these problems into recommendations or suggestions.

Here's what those better looking people do that you should be doing:

  1. Go to the blahblah issue queue.
  2. Post your problems with it and suggest ways for these problems to be fixed.
  3. Smile. You've just helped open source.

But since so many of you haven't been doing that, now I'm all upset, and in honor of my disgruntled state, I will now coin a term. That term is OSDB.

And no, dear friends, the DB does not stand for database. It stands for douche-bag. Open Source Douche Bag.

Open Source Douche Bag (OSDB) n. One who criticizes open source software without offering ways for it to improve. An OSDB may post a whining tweet, or a passive agressive blog post, or he/she may just grumble to themselves. However, these grumblings never manifest themselves as constructive criticisms or suggestions.

Example OSDB remark:

This interface is terrible!

Example non-OSDB remark:

This interface would be improved a good bit if ____.

See the distinction? You don't have to submit patches. You don't have to dig through code. Just say what you would like instead of what you don't like and we can all go home happy.

So spread the word. And don't be an OSDB.

Update: As the comments so gracefully pointed out, the personal attack was misguided, unnecessary, and embarrassing to the Drupal community. So I removed it. Sorry, Mark.

Posted 09:10 AM | 48 Comments

Comments (Feed)

  1. Wow, totally surprised that boulton is getting his hate on this badly. This was an info-taining post though, so by all means let's have the monthly OSDB!

    Brade on
  2. Thanks so much for this. Boulton is a OSDB. i still can't believe someone associated with drupal pays him

    flynn on
  3. I think you are the douche bag. But you don't publish your full name, so I guess you realize it.

    OSC on
  4. Boulton's work isn't that impressive anyway!

    JH on
  5. ...ep...

    womp on
  6. Thanks for creating a well-suited acronym for several people that don't appreciate the amount of hours that have been logged by the community to create these GPL platforms. I'm a big open source advocate and I have nothing but praise and content with all the exciting projects coming up in 2010. There is a quote - "Criticism is an indirect form of self-boasting."

    Robert Saric on
  7. uh, again? i thought we overcome this discussion during last DrupalCon....

    issue queue person on
  8. You guys are great ambassadors for the Drupal Community, well done

    Nick on
  9. I thought about not replying in this thread, but, you know, I'm a grown up and I'd like to have my say.

    You are of course, mostly, referring to the discussion a while ago based on my disgruntled tweet about the markup Views produces. Yes, this is an old discussion and one I wasn't aware of. I was venting, on twitter, and that's bad. I apologised to Earl - we hugged and made up, and actually some positive things have come out of that whole couple of weeks - up to and including Drupalcon.

    The problem with Twitter of course it's only part of the discussion, viewed at 140 characters at a time. There were many other aspects of that conversation that happened all over the place for over a year.

    Yes, I was paid to work on improving the Drupal 7 UX. Many people are paid to work on Drupal - I'm really not alone on this. Also, my frustration with the usability of Drupal goes back a good few years, so those moments of 'God, I hate this', have been informed with probably about 5 years of dipping in and out of Drupal. Not contributing, but using the product. Please understand this: I want to make Drupal better. That's why I took on the job. Many designers would have - and did - walk away from a project like this directly because of the hostile minority and the working environment. Leisa and I didn't take it on to upset anybody, or make a ton of money, we did it because we wanted to improve it and saw the opportunity to do so.

    Mark Boulton on
  10. Mark Boulton is just one of thousands of people who probably feel the same way, but his tweet was somehow heard round the world. I found this post because he called himself an OSBD (he got it backwards). His design work is awesome.

    To clear it up a little further, though, here's a response to Boulton's conversation starter: bangpound's awesome http://drupal.org/project/semanticviews -- which, I believe, started because boulton had issue with views and someone stepped up to the plate. Calling names is about as constructive as not offering ideas for real problems.

    joshmiller on
  11. nice article - and I can see your points - but why do these sort of posts always need to include personal attacks...

    And sorry, JH - "Boulton's work is not that impressive anyway" - you are kidding, right?

    prisca on
  12. Thanks Mark for a level-headed and mature comment.

    Mike on
  13. This is a funny post. Sorry, Mark!

    I understand the problem about the issue queue as it hinders me being able to get into some of the more verbose issues (ones with 100+ comments for example are not easy to pick up and run with).

    Each issue should probably have an executive summary that is updated regularly so new people can come in and start to tackle the current tasks needed to get things done. You can scroll down to the bottom and jump on the last patch but sometimes there are other important aspects to know about. This would add a slight overhead because someone would need to maintain the summary but I think it would result in a large net gain if it's much easier for people to come onboard with the issue.

    psynaptic on
  14. I don't know Mark Boulton from Adam, but after reading this I'm not so sure I'd want to know you or Drupal. Thankfully I know the Drupal community better.

    Samir Nassar on
  15. stop whining. youre mad because people think your stuff sucks and they have no interest in fixing it.

    Andrew on
  16. Okay, I get that you're upset with Mark. He called your baby ugly. But to turn around and say "No, you're ugly!" is hypocritical. This is borderline juvenile.

    The discussion you referenced was two months ago. It ended in a stalemate. Mark is a designer, not a developer. He stated, from his side of things, that certain pieces of markup were inelegant and that certain processes were less than optimal for non-developers.

    The Drupal community responded, some with vitriol and some with constructive feedback. No one said Mark was wrong, just that either there was a support issue (we have to support legacy and broad use cases) or that the amount of work required additional help that the developers didn't have.

    That was two months ago. Why are you bringing it up again, now, as if it were fresh?

    You want suggestions on how to fix the problem? How about you let people say what they feel without jumping down their throat. Design - graphic, interaction, systems, code - begins by stating and agreeing on the problem. Finding the solution takes time.

    Charles Parsons on
  17. Identifying problems is useful in itself. As a coder you know a bug report is the first step towards a fix. The same is true in design. It would be great if everyone who identified a problem also had time and skill to contribute back a solution, but getting us halfway there is useful in itself.

    I understand where you are coming from, because sometimes Boulton can be a bit antagonistic in his phrasing (especially on Twitter) and not up for probing the problem further. But most of us have that antagonistic way. Your post is a case in point.

    We're all passionate about our projects and therefore hyper-sensitive about them too. Especially when we've put a lot of work into them. But I don't think we can expect thousands of people to walk on egg shells when they want to criticise or even vent. We are better off learning to listen, ask better questions and develop a thicker skin.

    Alan Pritt on
  18. I can understand the why of this post but I think there will be some regret on the personal attack of one individual. Keeping it generic and not singling someone out would have been a better way to handle this.

    Davis on
  19. Yes, calling specific people douche bags is certainly the best way to coax more constructive input from people in general.

    Andrew on
  20. Not every criticism must come with a solution, but REPEATED and REGULAR criticism almost requires it.

    Tyler Hurst on
  21. Drupal community looks great... a bunch of angry coders... Nicely done.

    Fred on
  22. @Davis, I can't help but assume the reason why Mark was singled out for this post was to attract traffic, without it I would assume there would be very little.

    V on
  23. The spirit of this can be applied to people who complain about politics too :D

    Sean on
  24. @V: "without it I would assume there would be very little."

    You'd be right, but that wasn't the reason.

    Mike on
  25. Having a policy of "Don't criticize unless you can suggest a solution" is a sure way to slow down innovation (and a tried and true technique used by people who don't want change to stifle dissenting points of view).

    Yes, it's good if someone can tell you precisely why they don't like something - but they may not be able to put their finger on the real issue and even if they can, may not be able to communicate it clearly.

    And, sure, it's even better if they can give you suggestions on how to improve the process.

    But solutions to complicated problems can take long efforts - and multiple dead ends - to resolve. It's silly to assume that the person who sees an issue will automatically have the knowledge to solve it.

    So - get a thicker skin. Invite those criticisms - constructive or not. It's all good.

    Roy on
  26. Drupal has always had a history of tough love and angry but competent coders. I've always attributed it to the European origins of Drupal, and I do believe it is responsible for the high quality object model of drupal. (Although the views part is an abject sadness, imho)

    John Travis on
  27. So I am very sad by this post, because mostly its out of context. As Drupal 7 UX-Team lead, I spend day in day out working with Mark Boulton. And rest assured, there where no moments where I felt he was acting like an OSDB.

    It's hard to recognize pure ranting, from community changing criticism. You might not agree with him, you might not think its very constructive - but you know it caught the community it's attention. His role is different then most contributors because of his reach, you need to be aware - of the work it requires going into every post on D7UX or in the issue queue. Can I please remind you, that he was present at Drupalcon? Spoke to many people, and helped for freaking 12 months on Drupal? How the hell can he be non-constructive then?

    Number Two rule of Open Source, is recognize effort. Clearly you have not seen it, but I have - oh I have.

    Bojhan Somers on
  28. This article is pure asshattery.

    Ben on
  29. Excellent post, and much in time, with all the whining towards the new releases coming out these days.

    MK on
  30. As someone who's worked in tech support for a while, I can tell you many stories of trying to track down bugs that our users send in. Half the time, my efforts are not used to look at things in the code, but to try to squeeze out of the users exactly what is going on. Sigh.

    These people are everywhere. Thank you for calling out a section of them with your excellent term, OSDB.

    Casey on
  31. Gah. Posting this was a horrible idea. Sorry, Mark.

    Mike on
  32. If that's an OSDB, what do you call this?... http://www.promotinglinux.com/truth/

    Anon on
  33. dang, this is pretty damn harsh.

    Granted his comments aren't always constructive but come on... any comment is better than no interest what so ever, at least in my humble opinion. A comment that just says "A is bad" at least gets you thinking of another way to handle things, no comment at all will make you think your "product" is flawless, when in fact it's far from flawless...

    Also, in a lot of cases, having nothing beats having something crappy. Imagine a feature that sounds really cool in theory but turns out to be impossible to implement. Now imagine it going in in a really crappy broken state. Would you not go all "omfg take this crap out" without suggesting an alternative implementation?

    But I still stand on my opinion that there is nothing wrong with the default views markup. If you care enough about a perfectly semantic output, you should also care enough to press a button that tells you which file to copy over and change.

    Not like we don't have a channel with 350 ppl of which some are pretty eager to help you on your way.

    seutje on
  34. I hear a lot of criticism of Mark Boulton, but without any suggestions on how to fix him, your feedback is useless.

    msharkey on
  35. msharkey wins this thread. Move along, people.

    Lanny Heidbreder on
  36. For those interested, Tyler Hurst above responded to this post at:

    http://tdhurst.com/does-criticism-require-solutions/

    Mike on
  37. I submitted your definition to UrbanDictionary.

    Circa Lucid on
  38. sometimes things really are horrible and responses get more and more vocal and derogatory because not only is nothing done, none of the help submitted is acknowledged, none of the helpful comments are acknowledged, none of the mild flames are heeded, and so on.

    people get fed up. if there is a better option, they'll go to it. otherwise, if it is the -only- option, they're overly frustrated at the stone wall. often this results in forking. but not everyone who has the skill to do has the time to do it as well.

    i'm not going to defend the majority of assholes who lay tripe on somebody's work. just remember that some bugs don't get any attention until the mobs with flaming torches arrive.

    david on
  39. Interesting post.

    I've been on both sides (as a user and as a developer), and completely agree with the post, but must also point that I've experienced the reverse case: suggesting a bug fix and being hardly criticized.

    The most common problem I found when trying to collaborate in open source projects is the lack of documentation (not being de Drupal case!) and how difficult is to join a community. Usually find hard where to sign up, how to get started, how to directly access the code I know how to fix, etc. This is mostly due to the absence of info (docs).

    Big projects should create wiki sites and fill them with documentation, tutorials, getting started's and so on. Also, other members should help the new comers (like coach, trainers, etc). I know, I know: nobody wants to do that (I'm on of these :-P ), but without such things, big projects gets endogamic and less contributors/bug reporters are willing to help. Well, that's my point of view.

    Boriel on
  40. Twitter isn't open source, but it IS for douchebags.

    SuperDerpentosh on
  41. Time again, the open source movement reveals itself to be anything but "open" except to cadres in its cult.

    Open source culture is insular, neuralgic, demanding, oppressive.

    It cannot handle criticism without screeching "Patch or GTFO!"

    Like a totalitarian collective, no one is ever allowed to criticize unless they only engage in furious self-criticism, or are frog-marched into "constructive" criticism.

    Sometimes the stubborness and insularity of geeks reaches such epic proportions on a software project that consumers are affected by that only the most loud, aggressive pushback can be heard by them.

    They only understand force. "Constructive" doesn't begin to cut it with them.

    No one is required to be "constructive" when they use geeky balky buggy software that doesn't work, nor are they are required to have to learn programming and participate in the collective farm.

    Geeks need to grow up and realize that increasingly, in fact, the world doesn't need them any more than permanent automobile mechanics were required to be kept in households after about the 1930s. People figure out how to run the machines themselves.

    Just because someone volunteered their time for free doesn't qualify them to browbeat and bully others in their project or the rest of us for ever.

    Information wants to be free, you say? Ok, criticism then has to be free of this politically-correct and oppressive demand that it be "constructive" and that only the knowledgeable can make it.

    Lots and lots and lots of people need to describe how opensource systems like openID and Drupal constantly freeze and do not work, and are cumbersome, difficult, and stupid to use for no good reason. That's what it takes.

    No magic or goodness is conferred on code merely because it came voluntarily. In fact, there is much to be said for proprietary code that is made by people who are paid for their work, as people should be, and therefore show up for work on time, and in full, and without conditions.

    The myth of the numerous eyes that you get on bugs if you are "open" needs to be exposed as the ideological tic that it is: criticism of bugs isn't welcome unless frog-marched into "constructivism" and half the time some stubborn ass will tell you the bug is "expected behaviour" or "a feature" and not a bug because...he is not open-minded to ever, ever criticizing the work of people he thinks he should worship for having been volunteers.

    The open source movement is a bad business, all the way around.

    The crazy notion that the "Internet depends on it" is one of its chief forms of hyperinflated propaganda. It doesn't. And when it does, it is hobbled in its progress.

    So, I'm proud to be an Open Source Douche Bag if that's what it takes to blow this oppressive, sordid, close-minded cabal of creeps out of the water.

    You want to convince people that you are really open? Stop being douche bags yourself about criticism and stop being anal-retentive little nits demanding that it always come with a patch.

    Prokofy Neva on
  42. Turns out you are a bigger douche than the people you claim to be douches. And following your guidelines so that I myself am not a douche, you really should remove the asshole components in your blog. Such as, instead of calling them douchebags, just call them people that are not nice and not constructive. So there, I did my part helping someone instead of just bashing them, so I hope you can now feel relieved that I am not a douchebag and that you actually are.

    Asshole on
  43. He didn't get it backwards... OSBD is an alternative acronym with the same meaning which expands out to be: Open Source Bag of Douche.

    See, it works both ways :-)

    stocks on
  44. Mike, there's a valid point in your post somewhere but it's hard to find amidst the ranting and unnecessary name calling.

    Seriously, WTF?

    At this point, your post is more damaging than helpful to the very community you are a member of.

    christefano on
  45. Even though it's too late (everyone has already read it), I removed the personal attacks against Mark. See the comment in the post.

    Mike on
  46. Except many people have posted in Views' issue queue about the awful markup it creates.

    Earl refuses to fix it, because of the nested views use case. This is, of course, utter bullshit since anyone capable enough to nest views inside one another is also going to be able to create a views template to make the nesting work. This is a tiny minority tyrannizing the majority, with awful code.

    Earl is well aware of the problem and if he won't even listen to a distinguished designer, like Mark Boulton, there's nothing left but to bitch and whinge on Twitter.

    Yeah, Views sucks. Everyone knows why but no-one is allowed to fix it.

    Niggardly Treatment on
  47. The #1 corollary to this rule is the guy who whines about a missing feature and asks repeatedly when it will be implemented so that he can roll out his commercial business based on free software. When told that he could pay for a commercial engagement to get the feature he wants, he then whines that he doesn't have any money.

    The short translation of this is: Please do work for me, on my schedule, at my bidding, for free, so I can keep my costs low and go make my own money using your effort.

    Dave on
  48. As a person that works on an Open Source software I would have to say, "Get off the damn soup box, douche bag."

    I like my negative criticism, Douche Bag. It means people want to see improvements. It means I can do better. It also means they tried using the software.

    But come to think of it. You are not a douche bag, because douches do inside vaginas. No sir, you are a dick weed. One that should now be plucked.

    Stunkie on

WTF?