Want it? Give.
April 10th, 2010 by RadarImagine this scenario. You’re waiting at a checkout at your supermarket. It’s a pretty long line, compared to your past experiences.
Directly in front of you there’s a 22-year-old guy with medium-length hair, listening to God-knows-what on his earphones, dressed in casual gear. Probably middle class.
In front of him there’s another guy, about mid thirties, wearing a “business suit”; black pants, white top and tie. Probably upper class.
Then in front of him there’s a woman, probably around the same age as the man, but dressed like a hippie. She’s got a shirt that says “There’s no place like 127.0.0.1″. You fondly remember giggling quietly to yourself the first time you saw this shirt.
Then of course there’s the cashier. Unusually, it’s a guy with a ponytail who looks like the kind who you’d see attending computer and anime conventions.
The lady at the front of the queue puts her goods on the belt and the cashier processes them. Status quo. Then when the lady hands over the money, the cashier’s drawer breaks and falls out. Money goes everywhere. Coins roll in every which direction.
Now what the fuck do you do? Do you sit back and let the cashier run about collecting up his coins or do you help out?
Well, in this analogy, you sit back and let the cashier do it all. All of you in the queue do. Nobody helps the poor cashier.
You useless, pathetic bastards.
Now imagine this scenario wasn’t a checkout line. Imagine the people in the checkout line are actually people in an open source project’s community. Imagine, for a moment, that you’re waiting for The Next Big Release for this open source project. Imagine instead of the cashier’s drawer dropping out and throwing coins like shrapnel from a frag grenade, it’s actually tickets for this open source project. Do you know of a project like this?
I do.
It’s called Ruby on Rails. And it’s suffering because of your ignorance. It is at the moment in a place which I will steal the term “Development Hell” for and use. At current writing it has over 900 open tickets. Let me state that again because it is such a pertinent fact: There are over 900 tickets still open. So what the fuck are you going to do about it?
One little piece
It’s great that (at least in this Western world) we have things called weekends. We also have time where we are not working. Some of us have (a lot) more of it than others and generally waste it playing video games or watching TV. I’m fine with that, but there is a limit I feel before it turns from “relaxing” into “slacking off”. You have to realise that you are part of a world-wide community. You are using something developed by people world wide and it is time that you gave back.
I am sure that many of you reading this will think “I don’t know enough about Rails to do anything with any of the tickets.”
Bullshit. Fucking bullshit.
Take this ticket for instance. Guy experiences hassles with rake doc:rails on Ruby 1.9.2 and edge Rails. How do you go about fixing something like that? Well, here’s that god-damned clue you’ve been missing:
- Attempt to duplicate it. People make mistakes, because they are people. Can you see what they did wrong? Is the bug still occurring in the latest (at this point in time, 2.3.5 & 3.0.0, yes, test both!)
- If something is broken, attempt to fix it. This continues onto my third point:
- Fix it! This is the most simplest, basic, elementary thing. You know the saying “If it ain’t broke, don’t fix it?” the reverse applies. Fix the ever-loving shit of it.
- Can’t fix it? Find somebody who can. They exist. There’s a great probability that the problem is not as unsolvable as certain other problems in this world.
- Can’t find somebody? You’re not looking hard enough. Ask in the IRC channels on irc.freenode.net. Ask in #carlhuda. Ask in #rubyonrails. Ask in #rails-contrib. Ask your friends. Post on the core mailing list. Six-degrees of separation means that you have the power to find somebody with the power to fix this issue.
- Is this ticket no longer valid? Assign it to somebody who can close it. I’m now one of these people. Assign it to me and I’ll look over it.
Another thing to look at is how long the ticket has been a problem for and if it still applies to the latest version of Rails. Take for example this ticket which has been a problem since the 9th of January last year, when Rails 2.2 was the latest version. It’s still a problem in Rails 3, and this means it needs to be fixed. If one guy is suffering, how many other people who have not seen that ticket are? We must go through and judge every ticket before a major release. If I was in charge of a release process, this is how I would run the show. When I release a major version of my project, I want a clean slate, well, at least no bugs. Admittedly there may be some people who miss out on feature requests, but that’s what future releases are for.
Pissing on the fire
I think the Bugmash events are freakin’ awesome. But they only “piss on the fire”. What we need is a concentrated stream (think Amazon River) to quell the beast of 900+ tickets. Donate some of your time to the Rails project. Spend a concerted amount of your spare time this week, and next week, and the week after that, going through the tickets and finding something you can help fix. Every little bit of effort helps.
The Rails core team has only so much effort it can apply in any given timeframe, how about applying some of your own to speed up the process of bringing us closer to a final Rails 3 release?
I ask you, not as a Ruby on Rails core member (clarification: I’m not, nor desire to ever be “core”), but as a fellow Rails guy: let’s keep this Rails beast alive and kicking. Take some time out of watching your porn and actually do something useful. Otherwise, you are just another leech hanging on the side and whining about “it’s been so long between releases”. Did you ever stop to think that: “maybe there’s something holding up the release?” or “maybe there’s something holding up the release that I can help with?”.
Give back to the community that has provided this wonderful framework for your benefit.
Please.
Extra Links
Dan Pickett also has similar advice on contributing back to Rails 3. He makes a good point that if you are able to demonstrate that you have contributed to Rails that it looks awesome on your CV / Resume.
Kristopher Murata writes from the point of view who hasn’t contributed all that much to Rails, but really wants to.
Greetings YCombinator people! Thanks for making this story one of your favourites (peaked at #4). I have commented on your comments left on YCombinator and I appreciate the time you have spent writing them. I look forward to keeping up the correspondence.
Greetings also to the Ruby sub-reddit crew. Thank you for making this your 3rd most popular post and your comments (no matter how critical, all comments are good)
Tags: contributing, rails, rant

April 10th, 2010 at 4:37 pm
Great post, Ryan. I’ve checked out the bug list for rails and I have to admit it was really overwhelming.
But the fact of the matter is, if you’re a developer, no matter how new–if you’re able to learn this stuff, it means you probably have what it takes to do some problem solving and fix some bugs.
I’m going to contribute.
April 11th, 2010 at 5:41 am
Keyvan e-mailed this to me and I read it. I had not realized there were so many tickets! Previously me and Keyvan had found the Rails lighthouse but gone no further besides realizing that hey, maybe we actually CAN contribute to Rails. I wish closing tickets was as easy as picking up change off the ground at the supermarket.
April 11th, 2010 at 10:29 am
count on me!
April 11th, 2010 at 12:30 pm
Hi there, great post. Got me off my butt. Just curious though. Am I missing something or are there only 61 tickets (at time of this post) remaining for Rails3 release? Looks like a lot of the other 900 are related to other versions of rails.
Please correct me if I’m wrong. Here is a link to all open tickets related to the Rails3 milestone:
https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/milestones/27004-rails-3
Nevertheless, we should all pitch in and help with a tool that we all benefit from so greatly.
April 11th, 2010 at 12:38 pm
With the rails 3 release just around the corner should how do you think tickets for 2.3 should be approached? Should they be checked against rails 3 to see if they are still a problem or fixed on the 2.3 branch?
April 11th, 2010 at 12:40 pm
Hi Jo,
There may only be 61 tickets remaining for the Rails 3 release that are noted, but I can guarantee you that many of the other tickets also apply to Rails 3. They are old problems that need fixing to ensure we have a solid release. Some of these problems, whilst edge cases, should not have been problems for this long.
Now for a mini-rant:
Bugs in Rails effect real people, and real people tell other real people that Rails is broken and not to use it. We do not want this. This is what will cause the community to stagnate and die. We want people going to their friends and saying “Oh, that sucks that your PHP bug you posted 5 months ago still isn’t fixed. I never get that with Rails. I posted a bug on Monday and by Wednesday it was looked at by somebody who really knew their stuff. Perhaps you should look at Rails?”
Real people find complaining a lot easier than they do being thankful; it is not just the Rails community. When I worked at a supermarket, very, very rarely would I receive compliments on my work unless I did something extraordinary. It only took something like dropping an item, squishing a loaf of bread, packing things “incorrectly” before somebody complained.
The same goes for open source. If people feel neglected they are going to go away. We absolutely do not want this. I want the Rails community to “live long and prosper”. This is a feeling that I hope you all share, too. Get out there and start assigning tickets to me that should be closed. Submit some patches. Bug some important people. DO SOMETHING. DO NOT SIT THERE AND COMPLAIN ABOUT THE LONG RELEASE DATES like an ungrateful ass.
April 11th, 2010 at 3:01 pm
1) Please don’t swear, it makes you look like an angry teenager and it doesn’t help your message. 2) The fact that Rails has 900 bugs is appalling, but don’t blame it on the community, blame it on the team working on it 3) The Rails core team is working on it because they wanted to scratch an itch, who are you to tell me what itch I should be scratching? 4) I’m getting tired of the arrogance displayed by Rails people (core team and community alike). We understand you had a shot at becoming the Next Big Thing a few years ago. It never happened, you’re now reduced to a niche and you’re trying to blame it on others with this kind of pathetic call to action.
The world has moved on from Rails, enjoy your niche and stop trying to get others to fix your mess (900 tickets… seriously?!?).
April 11th, 2010 at 3:40 pm
wow. what the fuck, steve?
April 11th, 2010 at 3:55 pm
And that’s a reason why I’m not using ruby on rails yet, it’s not a mature language. 900 tickets is just awful and is a perfectly good reason not to use it.
April 11th, 2010 at 3:58 pm
Ryan,
I am sure there are many of us out there that would love to help but don’t really know where to start, how to set things up properly, and how to submit fixes. I am one of those.
Its not that we can’t figure it out either. Figuring stuff out often comes with a fear of doing something wrong, not knowing how “the right way” and exposing one’s self to the community at large.
However, if shown the “right way” that becomes a zillion times easier.
Since you know that right way and I know are always willing to help, how about we organise to have a bunch of interested peeps come around to the office one evening and hack out some of the bugs, and get to learn the process of how to get these guys fixed.
I can supply a projector and happy to provide some pizzas too.
Together I know we can make a difference.
And if you manage to teach a bunch of people how to get stuff in rails fixed, then we are in a better position all around.
Let me know if you’re keen. With railscamp and rorosyd next week, we can send out invites.
Steve
April 11th, 2010 at 4:07 pm
timmy: Are you sure you’re not using it because you don’t know enough about it to know that it’s a web framework not a programming language?
April 11th, 2010 at 5:30 pm
[...] intrigued by posts like this fix-our-goddamn-Rails-tickets-you-lazy-non-contributing-user rant and Zed’s shut-up-and-learn-C-you-noob rant. I find them relatively tactless, as I’m [...]
April 11th, 2010 at 6:54 pm
Bad example – the cashier would probably think you’re trying to steal the money :)
April 11th, 2010 at 7:04 pm
@Steve Ringo you’ll be pleased to hear that despite the bugmashes being “pissing in the wind”, they have compiled some VERY useful documentation about getting everything set up.
this is the main document that they made for the bugmash back in january, it probably is as applicable now
http://railsbridge.org/BugMashGuide.pdf
after following that guide, you should be all set up. if not, jump onto an irc channel and seek out a little help.
April 11th, 2010 at 7:20 pm
[...] full post on Hacker News If you enjoyed this article, please consider sharing it! Tagged with: developers [...]
April 11th, 2010 at 7:33 pm
Ryan: this feels like it was written squarely at me. I’ll stop being an asshole and get on that.
Steve: swearing does not weaken a message if the message is that you are angry and that people are taking advantage of your contributions. It’s childish that you can’t overlook a few four-letter words and join us here in adulthood, though. Forest for the trees and all that.
April 11th, 2010 at 8:59 pm
For those asking how to actually go about the process of setting up, finding tickets, fixing them, creating and submitting patches, here is a nice guide:
http://guides.rails.info/contributingtorails.html
The guide itself is also in-development (the link is at the bottom of the page). Perhaps someone (such as Radar?) who knows this process well could also help improve the guide.
April 11th, 2010 at 9:00 pm
WordPress stripped the underscores from the link… Here is the tinyurl to it:
Guide to Contributing to Rails: http://tinyurl.com/day82x
April 11th, 2010 at 10:00 pm
Steve.
I don’t want to live in a world where suitability for children is the overriding factor in how we speak to each other.
You don’t either. Trust me.
We are adults. We can speak like adults to each other. There is no reason to dumb down our speech to make it acceptable to a five year old. Five year olds are not reading this page anyway.
April 11th, 2010 at 11:27 pm
Brian: “that people are taking advantage of your contributions.”
Are you kidding me? That’s not what Open Source is about. There’s nothing in the MIT license that says I have to give anything back. If you think I owe you (N) bug fixes or some level of effort for using Rails, then get Core to change the license.
Ryan: I get the point of the post: Rails is broken, we need people to pitch in. I take issue with the delivery of the message (and I don’t mean the cursing). I don’t remember Rails being open to just anyone for commits either. Someone has to look at and review each patch, right? As I read your post, it seems you’ve put the blame on these “Pathetic Bastards”, the majority of Rails users that never submit a patch. Hardly a “call to arms”. Have you ever heard the phrase “You can delegate authority, but not responsibility”? Whether you like it or not, there is some responsibility here the Rails Core can not be relieved of: they made their own commits, reviewed patches, required tests, approved the patches and committed them, right? These people are charged with ensuring quality. Where’s your public outrage or contempt for these people? They have made the opinionated decisions on what comes into the project, but it’s now the Community’s fault, right?
At the end of the day, it’s really seems ridiculous to says “Rails is fucked up and it’s your fault for not pitching in” instead of “Rails is fucked up and we were too busy building cool shit to stay on top of it, so we’d really like your help in fixing things.”
April 11th, 2010 at 11:53 pm
Very well said…
April 12th, 2010 at 3:28 am
rb: you’re right, the MIT license includes zero language requiring you to do anything. However, there’s a fair amount of douchebaggery if you use open source software and contribute absolutely nothing to the community in turn. If that contribution comes in the form of blog posts or IRC support, so be it. I strongly believe that there is no free lunch.
April 12th, 2010 at 4:24 am
Brian: I look forward to seeing your patches, blog posts, or IRC support make their way into OpenSSH, Linux, WebKit, Ruby itself, V8, GNU bash, and any other open source software that you use.
April 12th, 2010 at 5:59 am
~900 open tickets is not a big number at all. One third of them are stale and can be closed right away. Rare edge cases make the half. Next, 1/12th are tickets under dev discussion for core team, and only 1/12th (~70) are valuable bugs :)
And, well, Rails always had a rate of about 10 new tickets per day, see old rails trac site, and lighthouse. Making some ridiculous calculations, one could say that for current ~112KLOC of rails code, and excluding from that 56KLOC of tests, there were ~15000 tickets, that makes approx 1 bug per 4 lines of rails code :) So, one could conclude that rails is buggy as hell. That’s not true, really. Actually, examining/watching those tickets, it means rails incorporated over 9000 :) change requests, that extended its opionated boundaries to wide spectre of platform/database/domains combinations.
April 12th, 2010 at 7:20 am
I think part of what makes the number fuzzy is that not all of those tickets are bugs. Some are requests for enhancements, and some are patches that add features.
April 12th, 2010 at 8:00 am
I’m in! Great post, this makes me want to get off my butt and do something!
April 12th, 2010 at 9:36 am
@Jordi: And some are just invalid.
April 12th, 2010 at 7:40 pm
Nice write up, I posted some comments on my blog about this: http://kside.net/2010/04/12/contributing-to-rails As I was already planning on writing something about it, your post was just the missing piece for my post. :)
April 14th, 2010 at 3:21 am
This post sparkles. I never thought I was good enough to step up, but I’ll at least try. I mean, why not, right?
Thanks for the inspiration.
April 14th, 2010 at 5:22 pm
[...] Life & Everything Else « Want it? Give. [...]
April 14th, 2010 at 5:56 pm
@r”there’snothing in the MIT license”b @Eric”looking forward to your patches on bash”Florenzano
It is at the end of the article but this quote:-
“Otherwise, you are just another leech hanging on the side and whining about “it’s been so long between releases”. Did you ever stop to think that: “maybe there’s something holding up the release?” or “maybe there’s something holding up the release that I can help with?”.”
-makes it plain that Radar’s frustration relates particularly to people bitching about time between releases.
While we (almost) all use open source projects we don’t contribute to, Radar’s post seems a fair kick up the butt to anyone using lots of open source and contributing to none of them, or worst of all complaining about an open source project’s speed of release without contributing to it.
After all, if you’re involved enough in Rails to be gagging for 3.0 surely you know enough to close at least one of the tickets standing between 3.0 and release.
April 16th, 2010 at 7:15 am
Wow. I’m with Steve: the tone of this turns me off entirely. I’m not a current Rails user, and a post like this entirely confirms the impression I’ve gotten from Rails-using pals: the core Rails people can be arrogant and jerky.
April 16th, 2010 at 2:52 pm
[...] Want it? Give. (Ruby on Rails)Ruby on Rails is in a bad shape, and it’s your fault. [...]
April 17th, 2010 at 2:39 am
as a C and Java programer, (and eventually Ruby), as a project gets LARGE you miss static typing more and more, and this I fear might have to do with this circumstance. in a large C project like Sip-Express Router, or Tomcat, I as a humble little coder, can fix some function and find all of the places from where this function was called, and be really sure I didn’t break any other code depending on my little fixed function.
on the other hand, and because of all the “dynamicity” of Ruby and the monkey patching stuff, if I “fix” some ruby/rails function its quite complicate to find all of the places from which it was being called, along with the interactions with “monkey-patched methods” and then I don’t feel as confident to submit the patch, as a non-core developer.
I want to make clear that I’ve never commited to an OSS Ruby project, so I don’t really know the details, but I would be afraid of such things.
April 18th, 2010 at 11:19 am
A mouth full of swear words is not motivating me. No thanks. I don’t even want to work next to you even if Rails, or the entire Ruby community vanishes if I sit back. You know what? Take my keyboard too. Don’t need you dude. You’re not cool.
April 18th, 2010 at 2:01 pm
[...] is suffering, because of you! Great [...]
April 18th, 2010 at 11:23 pm
I love the tone. Sometime we need a swift kick in the ass to get motivated to help. Unfortunately, saying, “Would you please come help us fix bugs” is not going to get any attention. The power of cussing and swearing is that it gets people’s attention, which is why you only do it when you really need to.
April 19th, 2010 at 4:08 am
There is one logical error on your argument: I ONLY NEED to help an Open-Source project if I need new features. Bugs are the core team’s responsability (and I would like to say only theirs, but it’s not true. Most bugs present patches, and I like to review the patches too and post if they worked for me or not).
Like some people here said, there is nothing on any Open Source license that says you need to help closing bugs… Is it desirable that everyone using Rails helps? Sure, it is. But I, for instance, have a hell lot of personal projects, and it’s my resposability, in first, to close bugs of MY projects.
April 19th, 2010 at 7:35 am
How ignorant.
Foul, demeaning and patronizing language would at best cause a short lived effort before people go back to whatever they were. This is pig language of the joint.
True motivation uplifts and not demeans. You’d not be my boss as I’d walk out on you at your first address. None of the people that were stimulated by the blog post will be contributing few weeks down the road.
The tone of this post is not ok. Even this guy’s personal life is not ok as betrayed by his tone. He’s not a leader, just a foul hack.
April 19th, 2010 at 10:18 am
This type of post is exactly the reason why I stay away from the Rails community. I love the framework, and the key people are true gems (pun intended), but the mass is crass. Bunch of foul mouthed whiners who think they are cooler than everyone else and think that the world revolves around them. No thanks, I’ll stay quietly in my corner and ignore you. You’re not anywhere near as cool as you like to think you are.
April 19th, 2010 at 1:13 pm
Great post, I think you are in the correct way , expresing this. I’m going to contribute. From Mexico, regards.
April 19th, 2010 at 4:14 pm
[...] I will, however, start it with an apology. The apology is for my most successful post yet. [...]
April 27th, 2010 at 6:53 pm
Little I can add to all those who so eloquently pointed out that bad-mouthing is not conducive to enhancing motivation. Florin said it most sweetly for me. Many who use, yet contribute little or nothing to Rails or OSS projects in general are considerate, productive members of society, using their limited free time to benefit their fellow men (including Radar himself, who is apparently blind to their contributions) in other many other spheres without reciprocal contribution. Who’s to say that one contribution is more valuable than another? Rails contributors have on the whole done a commendable job worthy of praise. We’d all do well to follow their example by upping our contributions in whatever fields of endeavor we choose. I’d also take issue with Radar’s claim that the tone was justified in that it generated so much traffic and spurred closing of over 100 open Rails tickets. That’s looking at it through an extremely narrow time slot. Positive language works and works better in the long run, but the results are not immediately discernible.
April 28th, 2010 at 9:38 am
Yitzhak,
If the post said it in the most sweetest and eloquent way do you think you would have bothered acting at all? Get real.
The people who are using their free time to benefit me and the other citizens of the world are not the ones I’m targetting. I am targeting the ones who are spending that free time complaining that Rails is not yet out. If you have enough knowledge to know that Rails should be out by now, then you have the knowledge to contribute rather than whinging. Stop watching TV. Stop playing games. Whilst these things are great for relaxation (and I don’t mean “stop doing them entirely”), over-indulgence will lead to the downfall of our society. Do something productive. Do not waste your time. Do something great!
You clearly miss the point again when you say that the “Rails contributors have on the whole done a commendable job worthy of praise”. The phraseology here looks to me like you’re using this as a counter-argument to my point. You miss, yet again, the people who I target. It is not the core. It is the whingers.
Then you “take issue” with my claim that the tone was justified. I re-iterate this question: Do you seriously believe that if I wrote my post in the most positive sunshine rainbows and lollipops words known to man that it would have had such a large impact? Get. Real.
My post, along with many others, has renewed interested in committing back to Rails.
Last night in Sydney we had a rather successful hack night where I led some people into fixing some tickets for Rails. Now these people can go out into the world and spread that knowledge to other people. This is a great feeling.
On 15-16 May RailsBridge is hosting another bugmash and I hope that the posts about contributing back to Rails will make this the biggest one yet. The more hands we have doing this work, the closer we’re going to be getting to release.
So please, do not sit back in your chair and complain about my attitude. I over-exaggerated my point knowing full well that it would get noticed (although not #4 on HN noticed!). Ads do it. Politicians do it. The GLOBAL MEDIA does it. So why can’t I? What makes me such a bad person to write in this negative tone?
Get real, Yitzhak.
May 5th, 2010 at 12:03 am
Wow. This post is on par with the Rails project. Great idea… Horrible execution..
May 5th, 2010 at 12:21 am
If you’re the spokesman for Rails, I’m glad it is dying. Thank you, but a profanity laden, angry blog won’t inspire me to contribute anything to Rails or for that matter, any other project.
I’m glad I read this though, seems Rails is having huge issues, I’ll remember to stay away from it – it is not Enterprise ready.
Here’s a little clue for you and the Rails folks – fix your own messes. And don’t give away work for free – it is a bad business model that doesn’t scale!
May 5th, 2010 at 7:02 am
Ah so I see the trolls have found this post.
Claiming that Rails is not “Enterprise ready” is low. There are plenty of big businesses (i.e. Sony, Sun, Google) using Rails.
Shoo.
May 12th, 2010 at 2:38 am
Ryan is a DHH wanna be. you need to curse moar
May 15th, 2010 at 7:44 pm
[...] a month ago I posted that not enough people are helping with Rails. If you’re keen to get into it, come jump on irc.freenode.net #railsbridge where the May [...]
July 22nd, 2010 at 5:57 am
[...] Kilkanaście dni po drugiej, pojawiła się trzecia beta Railsów. Nie możesz się doczekać końcowego wydania? Ryan Bigg opisał na swoim blogu dlaczego powinieneś i jak możesz pomóc [...]