Merb Merges with Rails 3

The Ruby on Rails project joins with Merb framework to develop Rails 3.

Though the recent announcement that the Ruby on Rails project will merge its efforts with the rival Merb framework in the development of Rails 3 means there won't be a choice among two Ruby frameworks, the move promises to alleviate community fracture.

Yehuda Katz, chief maintainer of the Merb project, sees the merger as a net positive for the community. Weeks before the merger announcement, a public spat broke out between the Merb and Rails teams, which Katz characterizes as "overblown Internet drama," stemming from the Rails team's opposition to the Merb team's desire to offer a public API. Merb creator Ezra Zygmuntowicz took the fight more seriously, declaring in a blog post that the rivalry was "tearing apart the community."

Katz says that that ideological dust up actually became the catalyst for the merger. "For the longest time there was this idea, I think on both sides, that Merb and Rails had irreconcilable differences," he explains. "But when we actually got to talking, it turned out that that wasn't true. We saw pretty quickly that we could easily do what we wanted to without stepping on each other's toes and produce a product that worked for everybody, so why not? Together we'll get the best of both worlds."

Application-hosting vendor Engine Yard, the primary commercial supporter of the Merb project-and Katz's employer-is providing three full-time contributors to the effort. "Suddenly the Rails project goes from having zero full-time employees in the last five years to three full-time people," he says. "That's going to make a huge difference."

Both Merb and Rails are Model-View-Controller frameworks, but where Rails is monolithic, the Merb architecture is modular. It's based on an extensible, pluggable architecture, and the code base was kept to the bare minimum. This modularity is the key difference between the two, Katz explains. This modularity will actually engender greater competition among Rails plug-in developers, according to Katz.

"I think this merger is going to open the door to competition in the wider world of Rails users, and not just those who are gutsy enough to use Merb," he adds.

JRuby Core Developer Ola Bini, author of "Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to Java" (Apress, 2007) and now a consultant at ThoughtWorks Inc., sees the merger as mainly a positive development.

"The good part about the merger is that more resources go into the common good," he says. "There are very smart people in both the Merb and the Rails communities, and they are definitely capable of creating even better things together."

The newly merged group announced that the beta of Rails 3 will be released at RailsConf 2009 in May.

"The pressure is on," Katz says.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].

comments powered by Disqus


  • Python in VS Code Adds Data Viewer for Debugging

    The January 2021 update to the Python Extension for Visual Studio Code is out with a short list of new features headed by a data viewer used while debugging.

  • GitHub Ships Enterprise Server 3.0 Release Candidate

    It's described as "the biggest ever change to Enterprise Server," with improvements to Actions, Packages, mobile, security and more.

  • Attacks on .NET Apps Grow in Number, Severity, Says Security Firm

    .NET apps were found to have more serious vulnerabilities and suffer more attacks last year, according to data gathered by Contrast Labs.

  • Microsoft Opens Up Old Win32 APIs to C# and Rust, More Languages to Come

    Microsoft is opening up old Win32 APIs long used for 32-bit Windows programming, letting coders use languages of their choice instead of the default C/C++ option.

Upcoming Events