Monday, December 29, 2008

Rails and Merb -- Better Together?

After my quick interview with Yehuda and Kevin the other day. I wanted to post a couple more points of view. David Heinemeier Hansson (@d2h) and Jeremy McAnally (@jeremymcanally) were good enough to weigh in as well.

What kinds of benefits do you think the Rails and Merb communities will see from this merger?

DHH We get to join the best ideas into Rails and make those ideas available to a much larger audience. We also get a bigger, better team for pushing Rails forward.

Jeremy I think this can only be good for the two communities. Bringing Merb's sensibilities to a large, mature codebase will not only open up a lot for the framework technically, but I honestly think we'll see a lot of innovation and, dare I say, *synergy* between the two cultures. There's been a lot of squawking about monoculture this or competition that, but honestly I think we'll see a lot more come out of working together rather than arguing with one another.

I have my own apprehensions about adding someone to the core team who isn't actually *using* Rails every day. One of the biggest wins for Rails was the fact that was and still largely is extracted from working code changes, additions, and extensions from working production code. Adding people to the team who aren't "practitioners" will create a slightly different dynamic I think, but I'm not sure if it'll end up being a good or a bad thing. I trust Yehuda is a very competent Ruby programmer, so I don't doubt that the code will be good, I just think the perspective may not be the same.

The competition for the top spot in the Ruby Web Framework space has been good for everyone. What's going to happen now that the two big fish represent one, even bigger, fish?

Jeremy As for non-Rails web frameworks, I don't think it means much. Frameworks such as Sinatra, Ramaze, Mack, and so on all have something fundamentally different to offer technically, whereas Merb and Rails were very technically similar in their goals. This similarity is why it makes sense to merge Merb and Rails, but it's also why it won't affect the other frameworks.

DHH You should look as competition being much larger than just the Ruby sphere. There are a TON of choices in this world to do web-based software. Everything from .NET to J2EE to PHP. In that picture, Rails is still a comparably small fish.

Where else in Rubyspace do you think this kind of merger would be possible and helpful?

Jeremy I'd like to see the ORM's become a little more singular. I'm hoping something like Active Relation or (a much simpler version of) Sequel or Ambition will create a Rack-like interface for ORM's to hook into so we can have different DSL's on top of a core that's super fast and tight.

I'd also like to see a merge in the realm of these extension libraries. There's Active Support, facets, extlib, this, that, etc. etc. that all do basically the same thing on one scale or another. Ideally we'd have some sort of core library that lazy loads/installs each piece or something so you don't have to have a gigantically huge library but still get the same functionality. Having a ton of hands working on these libraries will speed them up and make them more efficient.


Anonymous said...

Can someone explain what Jeremy's problem with Yehuda is? He doesn't say anything terribly egregious here, but for a while now he's been following him around (virtually, of course) and laying seeds of doubt, or even outright bashing him.

I've seen nothing about this or in retaliation from Yehuda.. so what's Jeremy's problem??

All I know is, Yehuda cranks out code, at a rate I'd lose my wife over if I tried. It's good for Ruby and it's good for my business. Jeremy's odd negative agenda leaves a bad taste in my mouth :(

Mr. Neighborly said...

Erm, I don't have a bad attitude towards him at all. And commenting on him here and in one other blog entry doesn't really qualify as "following him around."

I'm not sure why my comment is somehow out of line here. My main concern is that there will be friction between "the full time guy" and "the guys who are using Rails to build apps for clients and such." It may be unfounded, but I could see some scrapes and hard discussions about features, etc. piking up due to the different perspectives.

It'll be a great thing to have him on the team (as we've already seen). I know Yehuda is super smart and merb-core is total proof that he has a commitment to excellent, clean code. I don't see how commenting on the possibility of it changing how the core team operates and the likelihood of implementation differences is somehow "negative"...?

Anonymous said...

@Jeremy It's pretty easy to interpret your remark as "he can write good code, but can he write a good web framework?" To which the answer is, "well, yes, good enough that you guys want his work, anyway"

Anonymous said...

Yeah, I've kinda got the same impression, with Jeremy and Yehuda.

"I have my own apprehensions about adding someone to the core team who isn't actually *using* Rails every day." and then "I'm not sure if it'll end up being a good or a bad thing."

If you read between the lines, it reads "I think it might have been bad to add Yehuda to the core team". Given this isn't the first time he's said something which could be inferred as negative, it feels like this is a safe assumption to make.

With reading Jeremy's comment, perhaps it was a poor choice of words? Dunno..

Anonymous said...

is there an expected release date for rails 3? will it continue to be something i can use ootb with apache & passenger?

for the bored/curious, i am a former professional rails/merb dev. i left for a java/php job that paid a lot more and is at a nicer company. i would love to continue to use rails/merb for my personal projects.