Does it have to be a competition between Rails and Merb?

Posted by ezmobius Wed, 21 May 2008 20:12:00 GMT

It seems like a lot of folks out there want there to be a battle royal between Merb and Rails. I just wanted to dispel this myth.

Merb was written because it scratched an itch that I and many of my hosting customers had, mainly memory footprint, speed, concurrent requests and simple maintainable code. This does not mean that Merb has to be thought of as a Rails competitor. Merb stands on its own merits just as Rails does.

I feel that both of these frameworks have great strengths and weaknesses and that they compliment each other in many ways. Face it Merb would never be around if Rails had not come first. And I see Merb as a great experimentation playground for exploring web framework functionality while learning a great many things from Rails and building a fresh view based on Rails strengths and weaknesses.

There is no reason that a lot of the goodness in Merb cannot be applied back to Rails, but it is no small feat to trim down rails size without breaking backwards compatibility.

I view it like this, more choices make the Ruby ecosystem a better place. So let’s just stop with the Rails VS Merb stuff. How about people choose what framework they want to use based on the frameworks merits and features rather then religious arguments about how my framework can beat up your framework.

The Ruby community in general has been exceedingly nice as long as I have been a part of it. I wrote Merb for a reason, if Merb’s philosophies agree with your tastes then great, use Merb. If Rails is your thing then that’s great too! We do not need a monoculture.

Rails has been Ruby’s killer app and has brought Ruby to the masses. But Ruby is growing up, there are many alternate Ruby implementations now and they all work together for the common good of Ruby.

I’d like the same thing to happen with Rails, Merb and all the other ruby web frameworks. Let’s all work together to make the Ruby ecosystem stronger. We do not need to fight amongst ourselves when there are plenty of other Programming language communities to fight with :P

I guess what I am saying is that I see the proliferation of ruby web frameworks as a sign that Ruby itself has “arrived” and is here to stay. So can’t we all just get along in Ruby web framework land?

Tags ,  | 33 comments


  1. AkitaOnrails said 42 minutes later:
    I call this urge for battle the 'Highlander Syndrome' when people unconsciously think "There can be only One!" Or the "Sauron Disease", "One Ring to Rule them all!" Ezra, you definitely is a champion bringing Merb and this kind of thought only reassures me that Merb and related technologies have a bright future ahead. Congrats!
  2. Piotr Usewicz said about 1 hour later:
    Glad to hear that people who I believe in are actually smart!
  3. Dennis Yarborough said about 1 hour later:
    ditto... IMO unfriendly competition has hurt the Java community. I hope that Ruby's community doesn't go the same way. Thanks for all you've done to add value to our world!
  4. midget_nuts said about 2 hours later:
    I still think we should call it MerB====D for the 1.0 release :)
  5. Flea said about 2 hours later:
    There should be an '=' for each minor revision.
  6. Eivind said about 2 hours later:
    And a ({}) for each major version?
  7. Adam said about 3 hours later:
    Great way to take a serious blog entry and ruin it in the comments there, guys.
  8. Tim Dysinger said about 3 hours later:
    I like plain Rack for all my personal projects. SRSLY. I think the less frameworks get in the way the better. You'll understand the code better and why you wrote it that way - not because "that's the XXXXX way." or trying to debug 30k lines of framework code when something goes wrong.
  9. Evan David Light said about 3 hours later:
    Amen, brother.
  10. Gerardo Santana said about 4 hours later:
    Which are those strengths and weaknesses?
  11. whatevan said about 4 hours later:
    to the question in your title, on some level, i think the answer is "yes". we just don't need to be mean about it. even what you describe as coexisting is still competition. and there should be. this is how we find out the answers to gerardo's question. there was competition between people who say tdd vs bdd, which is dying down as the barriers of usefulness and understanding arise in publication meets the general developer's demand for such information. there is one recent post that stands as a clear exception to what i am saying, and is probably more what you are talking about. i don't know the name of it, who wrote it, or where it is... and i don't care. it was rude and posturey in a way that almost nothing is. maybe this is more common than i am seeing, but i have enjoyed most of the banter, and hope that healthy and constructive competition can continue. at least until there is more documentation for merb :)
  12. x said about 4 hours later:
    I think humor is the best way to address "serious" things like this. Lets rock out with our MerB LolDongs out.
  13. louis said about 4 hours later:
    you know, i don't want to start a flame war, and i agree entirely with the idea of the post. but, it sounds disingenuous when the title tag on merbivore is 'looking for a better framework?'. anyone not deluding themselves would agree that this is a reference to the dominant ruby web framework. am i really the only person who noticed this?
  14. ebdb said about 4 hours later:
    Merb and Rails solve the exactly the same problems for exactly the same people, yet somehow they're not competing. How does that work?
  15. Davis Zanetti Cabral said about 5 hours later:
    After this post, I really need to do something with merb, really...
  16. Arya A. said about 6 hours later:
    I'm sure a lot of us agree with you in that putting Merb and Rails head-to-head isn't the goal. But unfortunately, it seems to be human nature to be competitive. I mean look at all the other problems human competitiveness plays a role in: racism, war, etc. I wish it were as easy as telling people to play nice.
  17. James Golick said about 6 hours later:
  18. Dr Nic said about 9 hours later:
    I loved the Highlander.
  19. Ben said about 9 hours later:
    I prefer frameworks that don't require me to register with nickserv to communicate with the community. You wouldn't believe how much ruby talk is going on in #register-with-nickserv
  20. Mathias Stjernstrom said about 11 hours later:
    Isn't human-nature to find weakness in things around us just to validate our own behavior? - How can he dress like that? - How the fuck can he use windows? - Hah! He still uses rails! - Bahh, xml situps....
  21. Chu Yeow said about 13 hours later:
    Exactly Ezra! I was rather disappointed to read Michael Kilshin's recent post [] considering he is a merb committer, but I was pretty sure he was the odd one out :)
  22. sci-dev said about 16 hours later:
    It is a pure truth for "ruby community ecosystem"(tm Ezra). But when it comes to explain to boss or to customers why you would not use Rails for their app, i must admit you'll use some killer arguments that will show the true Merb greatness, and maybe some other arguments that will bury Rails very deep.
  23. planetmcd said about 17 hours later:
    Healthy Competition is good. The Ruby implementation shows this. I've not seen the various teams bashing one another. They each want their own project to be the best and work to that. I believe there may be cross pollination going on. I surmise this is what Ezra is pointing to. Derogatory competition (Rails sucks, Java sucks type of stuff) leads to hard feeling, entrenchment, and the inability to learn from your competitors. Just because its common for things to devolve to that level, doesn't mean they have to. As a community leader, I think its great that Ezra is setting a tone that can foster positive growth. Not just because its more mature, but because it's more useful to the end result of making Merb. I don't think Honda engineers go around saying Toyota cars suck. They acknowledge they are excellent and try to make better cars than their excellent competitors. Toyota does the same. That could be the same situation with Rails and Merb with smart people working on both.
  24. ilan said about 20 hours later:
    How about all those Beta users that were caught with their pants down when VHS was declared the winner? People that just purchased a HDDVD gadget from Walmart just before the announcement? From a purely selfish standpoint (and a former Beta owner) I just want to know who will win so I can invest now in order to make myself more marketable in the future. IT now imho, is all about risk management with your skills portfolio. Unlike 15 years ago, most recruiting today reminds me of plug and play. Being the true coward that I am, I loved ruby from '99 but only officially switched over once rails climbed to the top of the hill. Ofcourse, we are concerned as we don't want to be legacy. I have a whole bunch of skills that are totally useless now (for example, I was a DCOM master in the last century) I have now worked with rails for years and am watching merb's development very closely and will switch over for developer plug and play compatibility when I believe that it will have the momentum to overtake rails. For those that are disgusted with my viewpoint, I offer my sincerest apologies. I wish I was more noble but at least I am honest.. :) I was a fortran77 coder, that moved to C++ (10 years), then Java (5 years) and now ruby (3 years) and I will continue to migrate to the tech/language which will ultimately win in order to keep working within the industry and hopefully not pick up too many losers along the way. ilan "the sheep"
  25. planetmcd said about 22 hours later:
    Speaking of Highlander:
  26. midget_nuts said 1 day later:
    Ok, my final attempt at a penii related Merb 1.0 release slogan. MerB==========D~~ The Ron Jeremy of Ruby Frameworks
  27. Lawrence Pit said 2 days later:
    Everybody should hack together their own web framework instead of using one from someone else. That will get you respect for first movers like rails.
  28. Ben Nevile said 2 days later:
    @ louis -- looks like the maintainer of the merb homepage read your comment. I completely agree with you btw.
  29. Alex Coles said 4 days later:
    @Ben I disagree completely. I think Merb should keep up "better framework". While "better" is a pretty lose, subjective term, I think Merb should be competitive. There is nothing wrong with competition between Rails and Merb. Competition is very healthy for Ruby as a platform, provided its respectful and doesn't break out into ego wars. With Wycats and Ezra sharing some of their optimization successes back with Rails, I think they've proven that is not the case.
  30. Dal said 5 days later:
    I still want to see Ezra and DHH go at it in a boxing ring. Maybe even a cage match! :-) We have to settle this competition somehow.
  31. Dick Davies said 12 days later:
    I agree with you, and it's certainly the way the Ruby community has treated me. But I would point out DHH has thrown enough stones in the past (at Java, WS-*, constraints in the database, etc) not to expect some flak in return.
  32. Matt said 13 days later:
    @Dal -- so they could both beat up Uwe Boll?
  33. S. Potter said 19 days later:
    I personally think educated arguments and discussions are very healthy. Let's not be too politically correct that we do not even educate people the differences between the frameworks, because that would be a detriment to the Ruby community. Discussions where people can point out good and bad points of different stacks is a very healthy place to be. It is only when the fan boys with no independent thoughts and no humo(u)r enter the debate that we end up with the "you suck and I rock" mentality. I wrote a blog entry about creating a healthier discussion environment the day before this entry seems to have been posted: Hopefully people can tell when I am being sardonic. Lighten up and loose the over political correctness it doesn't get us anywhere. All we need to do is ignore the irrelevant noise of the fan boys.

(leave url/email »)

   Preview comment