Friday, September 21, 2007

Rails is Not Opinionated, it is Principled

I'm tired of Rails being called opinionated software. It's not. While it might be a catchy phrase, it is inaccurate and does a disservice to the framework and the community. Rails is not opinionated, it is principled and as far up as the Rails Core, people need to stop using that misnomer.

Looking at the dictionary definitions of opinionated (Meriam Webster | OED ) and principled (Meriam Webster | OED ) you can see the important difference between the two words. In English an opinion need not, and often does not, rest in the bedrock of a reasoned choice, whereas a principle should.

That the Yankees are a better team to like than the Red Sox is an opinion (though a reasonable one). That one should, all things equal, prefer a sports team rooted in one's community is a principle (though admittedly not a deep one). There's nothing wrong with having opinions, even strong ones, but to elevate them to the level of principle and arguing about them is a fools errand (e.g. Hannity and Combes, Crossfire, etc.). Principles, however, can be the subject of reasoned debate.

My pointing out the difference between the words is not for the sake of an exercise in pedantry. People often confuse the notions of being principled and being opinionated, especially as the behaviors associated with someone being one or the other are often identical. Indeed someone can be both principled on some important subjects and opinionated on other related subjects blurring the distinction. But the distinction is important and should be significant to the Rails community.

It seems, to me, that some people hear that Rails is opinionated and is a good web application and they use it and so jump to the conclusion that being opinionated is good thing and they should be opinionated.

A recent case in point is Mr. Fernandez's post on the merits of Java. While he labeled this piece a humor piece, it's only funny in the way you make fun of someone who isn't like you: the kid who has the wrong lunchbox, or wears the wrong shirt. I'm not trying to pick on Mr. Fernandez (and if I were he seems more than up to handling a critic), I usually enjoy his blog and look forward to checking out his book, but the larger point is that this sort of post is either encouraged or tolerated within the Rails community. I think in large part because of the conflation of the notions of opinionated and principled.

Being opinionated is not something to aspire to, being principled is. It's like the difference between Fox News and CNN reporting on Anna Nicole and OJ and the Daily Show reporting on the war in Iraq and the Economy.

I don't think, especially at this stage, Rails needs or should look to promote itself by belittling other technologies. Rails is an attractive choice for web application development on its own merits. As a community, vitriol makes us look defensive and closed minded. This has not been my experience with most folks in the community and I would not like to see others turn away because of this misperception. Over the course of the last few years, I've heard people say of those who disagree with rails orthodoxy, that we don't want those people, or they don't get it.

I disagree, we do want a larger community, because talent and utility aren't fixed quota character attributes and someone who may not be prolific today, might be a core contributor to the community down the road. And as for not getting it, maybe they do and don't enjoy acerbic dialogue and so go to help the Django community become stronger. I don't think I need to tell a technical audience that the best technology doesn't always prevail (I am not putting down Django, it's pretty cool, I am merely of the opinion that Ruby is a more enjoyable language with which to program). There is real opportunity cost of driving people away.

Mr. Heinemeier Hansson's decision to build a framework around principles was and is an inspired one. Lets strive to build a community as principled as the framework we support.


Sean said...

Well said!

I'm sorry I jumped onto your blog so late. Please do keep posting. You've got a lot of great things to say.

Anonymous said...

Thank you for speaking out against the sexism within the Rails community!

Anonymous said...

Thank you for speaking out against the sexism within the Rails community!

planetmcd said...

Thanks Anonymous.

Ryan Sharp said...

Ruby gets a bad name because it seems to attract self-important, smarmy wankers who want to impose their point of view on everyone. This article is a gleaming example of such behavior. You're just adding more fuel to the fire you arrogant wanker.

planetmcd said...

Wow @Ryan Sharpe, you need to relax, and have a cream soda. Trolling blog posts from 2007 suggests you need to cut back on your lattes kid.

Maybe there's a palm/handspring flamewar you can get going again too. You're livin' the dream.

Anonymous said...

Just having Jonathan's book and video package or you'll be
kicking yourself that you have gained and this results in natural weight loss.
It is but natural for people to eat different kinds
of capsules for different kinds of drugs.

Stop by my website :: web site