The Merb / Rails merger announcement, an inside opinion

The announcement that the Merb and Rails team are joining forces has just been made (in case you have been living under a rock, you can see Yehuda’s post here and DHH’s post here). This is truly a historic event for the ruby community. I’m sure that this news has brought up a number of concerns and emotions, as it has for me. I thought that I would recount these past few days as they lead up to the decision to join forces and hopefully alleviate some doubts that you guys must be having.

I first heard about everything this past Thursday. There had been some communication between DHH and Yehuda. The short version is that DHH had nothing but praise for Merb and insisted that he would actually like Ruby on Rails to take a similar direction as Merb, and there was talk of Merb and Rails working together. Now, to say that I took this idea poorly would be an understatement. I’ve had an idea of Rails painted in my head for the longest time. In my mind, it was a software package that enjoyed locking you into it’s way of doing things, laughed at the concept of modularity, and probably killed a few babies along the way… for good measure. How could we all work together?

Well, I thought that it would be best to hear them out, if only to know what they were planning. So, we all spent a bunch of time talking. DHH and the rails core team only had good things to mention about Merb and its philosophies. Not just general philosophies were discussed either, but specificities about implementation. The more we talked, the more it started to dawn on me that they were actually serious about making this happen. A list of a few of the points have been mentioned in the announcement. Let’s be honest, that basically is Merb.

Anyway, I’m sure you all don’t want to hear all the gory details of how I went all :emo:. It did feel for a bit like I was losing my baby. In the end though, I did reach acceptance. The truth is, Merb has won. We have proven to the ruby community that not only do our ideas work, but they are the better way to approach things. Rails is going to be adopting the Merb philosophy no matter what. I was faced with the decision of either helping them get there or fight a completely pointless battle.

So, in the end, I am proud to say that I made the choice that benefited the entire ruby community. I really believe that, together, and with a lot of hard work, we can end up with a solution that will stand true to Merb’s core tenets while at the same time keep the appeal that originally drew so many of us to ruby web development. Really, this proposition has me quite excited.

Pretty much all of the reasons I could think of to not try this ended up being moot. Such as, competition between frameworks is a good thing. Yes, it is, but we already made the bulk of our points with Merb… successfully. Hence the plan to make all of those points part of Rails 3.0. Another reason might be that personalities could clash. Granted, there is no way to know for sure until the project is actually successful, but I have not really picked up on anything that would indicate this while talking with the rails team. Really, there are a million reasons why this couldn’t work. I think that if both sides are in this 100%, we can only succeed.

I know that there are still many issues to address, such as migrating existing Merb applications from 1.x to 2.0 (aka Rails 3.0). Don’t worry, I’m in the same boat. I still have a myriad of Merb 1.0 applications to deal with, but there will be plenty of effort put into smoothing it all out. For one, once rails-core (or whatever it will be named) is done, merb-more will be ported to run on top of it. Intermediate releases of Merb which will start converging towards the common point as well as provide plenty of deprecation notices of things that change. More details of this will become available shortly on my blog, on the mailing list, and on IRC.

So, that’s that. This really is huge news and will most likely feel like a blow to merbists everywhere, but really, it shouldn’t. The people who made merb great are still going to be doing that. The community that made merb great is still going to be there. This should feel like our coming home. We’re going to be making Rails everything we dreamed of and more. We’re going to take over the world!