James McGovern certainly stirred up a hornet's nest with his blog earlier this month on why he thinks Ruby on Rails isn't enterprise ready. Rails creator David Hansson didn't take too kindly to it, and some other folks agreed. I won't quote all of it because you can go read it yourself, but I particularly liked this nugget from Hansson's blog:
If Ruby, Rails, and the rest of the dynamic gang we're lumped together to represent, is not now, nor ever, McGovern Enterprise Ready™, I say hallelujah! Heck, I'll repeat that in slow motion just to underscore my excitement: HAL-LE-LU-JAH!
Different people mean different things by the word "enterprise". I take it to mean large, corporate, high availability, with lots of money involved. Historically, folks working in enterprise IT shops are not risk takers. Actually that's a huge understatement. They're risk averse. No, that doesn't quite capture it either. How about, they run screaming at the thought of deploying something that's not certified, indemnified, tested, researched, analyzed, supported, and paid for.
Is it fair to paint all enterprises with this broad brush? No, of course not. A growing number of enterprises are what I would call more agile, willing to try new things. New school, even. Is that better? Maybe, maybe not. Whatever works for you is better, by definition.
There's an assumption here that nobody is looking at which says Java EE, EJB's, application servers, and so forth are enterprise ready. Well that's obvious isn't it? Hmm... I'm not so sure. Have they been demonstrated to work in large, corporate, etc. environments? Sure. Are those companies getting their money's worth by what they shell out for all their 'enterprise ready' applications? If you look at return on investment and other traditional measurements I'm sure most of them are. But is there a better way?
Open source frameworks are disruptive in a way that many enterprises don't understand. One fundamental reason is that it's easy to switch from one to another. It's like a no-cost mortgage -- you don't have a lot invested in closing costs and points so next month you can do it again, and the next month, and so on. There's a little catch though. With mortgages, you have to pay a little more interest. With software, you might have to give up your security blanket of guaranteed support and 'someone to blame'.
So McGovern and Hansson are both right in a way. Open source enables iterative, agile development at a larger scale, but only if you're ready for it.