The Rails/Merb Merger - What's in it for Merb?
01/12/09
The Rails/Merb merge announcement happened on my birthday. I was already having a really bad day. Five days earlier my girlfriend had emergency surgery where they put a hole in her ass. It was one of those deep surgical wounds that the doctors keep open to drain. So I gave up my life of hermetic isolation to pack her ass with sterile gauze five time a day. Her self-absorbed mother wouldn’t allow us to sojourn near her the guest bathtub during the ordeal, so we had to move her holey ass to a new apartment. The move was already in the works, but it wasn’t holiday plans.
If that wasn’t enough, in the week leading up to this holy grail merger announcement, the full-time, all-encompassing job that had hired me for my expertise in Merb, admitted that they don’t have the money to actually pay me for the work I had been doing, a small oversight. The merger announcement felt like a final kick in the teeth. I know it wasn’t personal; it just happened on my birthday, after kind-of loosing my job and while packing my girlfriend’s ass regularly and in a really unsexy way.
There are really two Merb groups
Needless to say, I was mostly alone in feeling so down and out about the merger. DHH puts me in with about about 4% of the Ruby community . The Rails camp has nothing but glee. After all they are getting a faster leaner framework, without having to leave their comfy development couch. The developers of the Merb framework are also thrilled. And the people who are early adopters of the Merb framework, well we are a different camp, comprising apparently 4%. My point is that the merger brought to light something that may not have been obvious: there are really two Merb groups: 1) the framework developers, and 2) the framework users. The merge decision affects us differently.
These groups didn’t just spontaneously erupt into being with the merger. They have been here all along. At around Merb version 0.9.2, I saw Yehuda Katz trying to help a project manager with a basic knowledge of Rails install Merb. It was a process fraught with difficulty, and dependency collisions. To me this was not surprising. I was using Merb and know that the price you pay for early adoption is difficulty. For Yehuda though it was a big surprise. He had assumed that ‘sudo gem install merb’ just worked. I am not criticizing Yehuda and the Merb team. Unlike many software projects, they actually use the framework too. Still, this is a common problem with developing any kind of software. It is hard to keep half a mind in the end-user space when the complexities and abstractions of development require a full mind.
The rift between the Merb framework users and the Merb framework builders has become much bigger as of this announcement. That is because the benefits package for the merger is really different for the individuals in these two camps.
What’s in it for the Merb framework developers?
The biggest thing that the Merb developers gain from the merger is recognition. They have been growing a fringe movement, building a totally kick-ass framework. Still they weren’t Rails until now. Rails continues to gain a share in corporate web and enterprise applications, and Rails 3 with a faster life promises even more acceptance.
They also get a new cool project. Maybe I am projecting here, because I think maintaining code is not very rewarding. Creating is fun, challenging, and awe-inspiring bliss. Then when everything is nailed into pseudo-place, there is a lot less freedom to re-imagine the wheel. I like inventing, and I can see the appeal of reinventing Rails rather that iterating the Merb they already have. When I finish a big project, I usually want to go back and do it better. There were decisions that in the moment looked equally good in either direction, but in hindsight would benefit from a different choice. There is something healing about doing an iteration that scours away the cruft, unhindered by API promises. So, Rails 3 will be another cool new project to perfect the idea of what a Ruby web framework can be.
What’s in this for the Merb early adopters?
Um … yeah. As an early adopter, I have to admit early adoption is a risky investment. The thing about risk is the gains and the losses are equally grand. At Merb version 0.5.X no one cared that I was tinkering with production Merb applications. When the release of 1.0 was imminent, the demand for my investment were growing. At the point of the merger (on my crappy birthday), it was like a stock market bust, and I lost my investment.
In reality, what I know about Merb will transfer to Rails 3. In reality, I know Rails really well too. In practice, my dabblences into Merb, now looks like a waste of time to potential clients or employers. It was a risky investment and I lost this time. Honestly, I loose most times.
I think the merger is probably a very good thing for continued wide scale Ruby adoption. Instead of corporate managers having to grapple with which Ruby framework to use, or avoid the decision by going with another language, they can choose Rails. So, if 4% have to get thrown under the bus for the greater Ruby good, well that is just war, and love of code, and business.