Rails & Merb merge

The Ruby world is abuzz with the news that Rails & Merb will be merging for version 3 of the Rails framework.  Big news!

We all realized that working together for a common good would be much more productive than duplicating things on each side of the fence. Merb and Rails already share so much in terms of design and sensibility that joining forces seemed like the obvious way to go. All we needed was to sit down for a chat and hash it out, so we did just that.

I think there’s a lot of potential for good here, but I’m also a bit concerned about added complexity… one of the attractions of Rails is that it is very quick to get started, and someone can get productive in a matter of weeks.  If we lose the convention over configuration idea too much, that low barrier to entry could be lost (God help us if we get to ‘a zillion ways to do things’ like Java web development hit many years ago… ouch.)

I’ve got a positive attitude to this merging, but I’m also a little circumspect.  Robby Russell articulates my thoughts the best in Rails 3 and Merb:

I’m curious about how the revised core team will incorporate the library-agnostic view points into Rails without increasing the complexity for configuration. For example, being able to use a different ORM is great, but at the same time, one of the things that I have really liked about Ruby on Rails was that it did make decisions ahead of time for you. Conventions over Configuration and all that jazz. While they intend to keep these defaults, I really wonder how much more configuration will be involved. Be that as it may, Rails and Merb are run by some of the best developers I’ve ever known… so I am sure these decisions will not be made without some deep consideration. ... Having testing, consistency, and other best practices built-in did the world a huge favor. ...and all it took was someone like DHH to throw his opinion out there and stick to it.

Anyway, wheels are in motion… though I suspect Rails 3 is greater than 12 months away.  I can’t wait to see what happens.