Rubyists have a saying, or at least, we used to. “Matz is nice so we are nice.” This has sort of been lost over the years… some people who have been around Ruby for a long time still say this, but it’s something that’s gone in and out of popularity.
Most of being nice, in a software context, is about being considerate. Not unnecessarily trash talking other people’s stuff. Not going out of your way to be a jerk. Try to be helpful. Treat others how you want to be treated.
Being considerate of others, however, can only go so far. While a lot of what we do is subjective, a lot of is objective, too. If you’re building a new project, not saying “this is why we’re awesome” is silly. Old code is often bad. Other people’s code is often bad. The key in “not unnecessarily trash talking’ is the neccesary part. There’s a difference between”My library is better” and “My library is better and their library sucks.”
After talking to a few people, I guess I committed a bit of the sin I was trying to rail against: I got some feedback that it was thought that I was villainizing Sam, and a little easy on Wayne. This is natural, because I’m friends with Wayne and I don’t really know Sam, but in the interest of being nice myself, I just want to say this: I think that all that drama last week was largely a perfect storm of a few different factors, and I don’t think that Sam set out to hurt anyone specifically. If and when I ever have an issue with RVM, I’m totally going to try out rbenv. I like having options. I like there being multiple options. TMTOWTDI. And Sam builds a ton of other software that I really enjoy, like Sprockets, and pow. There’s a big difference between “that guy is an asshole” and “I think that that situation could have been handled better.”
Let’s all build lots of cool software together.