Mr eel
Getting the Rug Pulled From Under Your Feet
So, recently we’ve learned that Merb will be merged with Rails.
This is complete bullshit. I’m strongly opposed to the idea and I think it’s a huge mistake. I won’t enumerate all the reasons why — I think that’s all going to be thrashed to death in the coming days — but I do have a number of specific objections that I want to highlight.
Firstly, this means removing choice and competition between Merb and Rails, which despite the occasional friction, I considered to be a good thing. It doesn’t benefit the Ruby community to shift back to one monolithic framework.
I choose to use Merb for practical and philosophical reasons — basically it’s smaller, faster and easier to grasp as a whole. The development process has also always seemed more transparent and open to contributions from outside the core developers. It was a real viable choice to Rails.
But, what’s most irritating about this decision is the secrecy. There is a community of Merb users and developers who weren’t given a chance to comment on or participate in the choice. Instead we get one secretive clique schmoozing up with another secretive clique. It’s damned rude.
The end result is that the term Merb Community has no meaning to them. They don’t give a shit. If you ever used Merb, pimped it to clients or other developers, bought a Merb book, made a plugin, paid for training or went to Merb Camp — you’re being treated like a sucker. They’ve just given you a kick in the balls and you’re being told you’re gonna love it.
I’m damned bitter. I hate the idea and am disgusted at the lack of transparency and condecention implied in the decision.
I now have no interest in Merb at all. They can go to hell.
EDIT: For a good explanation of the merge, read this post by Matt Aimonetti. I’ve since tempered my views a little — although I’m still against the merge in principle and hate the secrecy surrounding the choice — Matt has helped put things into perspective.
Comments
The Merbist » Blog Archive » Merb/Rails merge, or Why should merbists be happy? | merb news - consulting - training on December 26, 2008
[...] Some merbists like Jade Meskill really understood what we are trying to do while some other ones got really mad at us. [...]
9elements Software and IT Blog » Blog Archive » Rails and Merb merge on December 26, 2008
[...] We’re totally happy with that step and it totally makes sense (though there are different [...]
Matt Aimonetti on December 26, 2008
Hi Luke,
I totally understand your reaction and I’m sorry you take it this way.
Feel free to disagree, but here is my view point on your arguments:
* competition: it is true that having come competition is great for all. But competition means different products and rails really wants to be able to be like merb.
“It doesn’t benefit the Ruby community to shift back to one monolithic framework.”
So the whole point of the merge is to change Rails so it won’t be a monolithic framework, starting with rails-core. Now that the news synced in maybe you should re read the two official announcement,
“basically it’s smaller, faster and easier to grasp as a whole. The development process has also always seemed more transparent and open to contributions from outside the core developers”
We are going to break down rails is smaller and more digest pieces. That will be needed to be truly agnostic. So please try to not think about Rails the way you know it now.
Also, the same people who worked on merb (the entire team) will be working on rails meaning that we are coming with the same attitude. What’s even better is that we will have a team of people to deal with users and make sure that they are heard.
“Instead we get one secretive clique schmoozing up with another secretive clique. It’s damned rude.”
I’m sorry that’s how you feel. I can totally understand this feeling. However, this is a choice from the core team and it would have been hard to say “hey guys, we might merge with rails if the negotiations go well” before things were cleared. We made a choice to work on Rails and make it better by porting all the stuff we love into Rails. Merb is open source, and even though I would strongly recommend against it, you are free to keep on working on it.
“They don’t give a shit. If you ever used Merb, pimped it to clients or other developers, bought a Merb book, made a plugin, paid for training or went to Merb Camp — you’re being treated like a sucker. They’ve just given you a kick in the balls and you’re being told you’re gonna love it.”
We do, I have a consultancy shop offering merb dev and training. I wrote some plugins and slices, worked on an open source book, I was the tech reviewer of merb books.
The way I see it is that the merge offers many things to the merb community. First off, personally, I won’t have to convince my clients that merb is better, rails will be merb and that will simplify a lot of things. With 2 awesome teams working on rails and a joined community, the code quality will be much better.
Because all the merb goodies and its philosophy will be ported to rails, merbists will be ahead of the game. Also since rails 3 is merb 2.0 we will make sure your plugins/slices will be able to migrate to the new API.
Regarding training, there are only 2 trainings I’m aware of, one costs $10 and the other is organized by my company. If people who signed up for the training feel that they got duped, we will reimburse them. However we got new people signing up today. I believe they see why knowing merb will be a big benefit.
Again, I’m sorry you feel this way, the only think I can tell you is: trust us. Let us prove you wrong. And if we don’t, keep us honest. If we can’t merge rails and merb and get all the stuff merbists like, then we would have failed.
- Matt
m on December 26, 2008
I’m glad I didn’t invest too much time in Merb. The team seemed to get a lot of things right–until now. It isn’t hard to switch to another framework or language.
Greg on December 26, 2008
Cry me a river. The stewards of Merb and Rails decided that the direction they wanted to take was to merge with Rails. The Rails folks could have merged in Merb features/implementations unilaterally. The Merb folks could have developed a Rails compatibility layer and/or upgrade path unilaterally. By pooling their resources and coming out with a joint announcement they get better resulting code and better PR.
Of course, if you want Merb to continue independent of Rails for one reason or another, go ahead and fork it. It’s open source. It’s there for you to do so. If you are just second-guessing the stewards but don’t want to step up, you don’t have a leg to stand on. If you are willing to step up, do it and quit bitching.
Oh, and the secrecy? You mean the folks who get to decide on a completely arbitrary basis what features go into the official version of a codebase you use didn’t run this decision by you after having convinced each other that this was the right approach? Suck it up. Seriously. This could only happen by having some high-signal, low-noise communications among the decision-makers, and community comments are way too noisy to allow that.
Would it have been better if the announcement had been, “We think this is the right approach, but we’re totally going to let people yell about it for a couple of weeks before we really and truly commit to it, and maybe something someone says will change our minds in a way that they couldn’t be changed if we had just announced it as a done deal.”? Can you think of a realistic way to go about this, given that the people in charge were on board, that would make everyone happy? A simple announcement after non-public discussions looks like the best way to me.
Mr eel on December 26, 2008
@matt thanks for the blow by blow comment. I’m sure folks will find it useful.
@greg An interesting email you have there sir. Perhaps next time you might like to put your real ID behind your comments.
“Cry me a river.”
No.
“go ahead and fork it. It’s open source. ”
I’ve heard this repeatedly — it’s open-source, so just fork it. Honestly, you’re missing the point. The core team and all the energy that might be devoted to Merb is gone, so obviously a fork is hardly trivial.
The reason I found the decision shocking is it’s essentially someone saying “Surprise! Merb is dead!” After pinning a lot of hopes and plans on using Merb, it left me a little flabbergasted. Which is why my post is all sweary and full of woe and teeth-gnashing.
I’ll freely admit it’s over the top, but that’s how I really felt at the time.
Obviously there is no point arguing against the choice, it’s done and dusted. Now I have to try and get used to the idea. Interesting times…
“Oh, and the secrecy? You mean the folks who get to decide on a completely arbitrary basis what features go into the official version of a codebase you use didn’t run this decision by you after having convinced each other that this was the right approach? Suck it up. ”
That’s how Rails is built. Which I don’t like. When there is a framework that developers depend on and contribute to, I think it’s fair that they should have some level of participation beyond being spectators. Of course it’s not practical for all the feature additions to be ad-hoc and unmanaged, but I always felt Merb struck the right balance between the two. I’d hate to see that disappear.
I believe that is a fair critique. If you’re telling me that secrecy is OK and I should just “suck it up”, you’re dead wrong. Soz.
Eelling on December 26, 2008
@Mr. Eel - you are 100% right. Dead on. I could not agree more.
Question is, what do we do now?
I like writing webapps in Ruby. I liked Rails when it came out, because I thought it was a beta quality framework - a little rough around the edges, but in time that would all be worked out. I thought that it was slow because they didn’t want to prematurely optimize. I thought that, in time, they would redo it more optimally.
That didn’t happen. Instead, they built even more bloat into it, and were uninterested in code from outside, or even suggestions from outside. The final straw was dealing with DHH’s unbelievably arrogant attitude when they tried the whole “security through obscurity” thing and buried the nature of a critical security patch from their own community (but the script kiddies on IRC knew about it within an hour.) Ridiculous. To put it politely. they did not respond to criticism well.
Enter Merb - an open framework, open to outside ideas, outside code. Small and lean and to the point. No docs, but I can read the well-written test suite and code to understand it, and the docs will come in time. I have spent months working on my first real Merb app.
Then this bombshell.
Their reasons come down to : “Well, for marketing purposes, we should call it Rails. And we never wanted to compete with Rails [which is BS].” Look, folks, despite the hippie touchy-feely “be nice and huggly to everyone” crap that is popular these days, esp. in business, competition is a good thing. Rails sucked for legitimate reasons. DHH is impossible to work with. Merb was, and should have been, competing with Rails directly, and Merb won.
But it will be a Pyrrhic victory. DHH has not, I assure you, transformed overnight into a saint who will suddenly be collaborative and open and willing to compromise and listen to outside ideas. He’s the same arrogant prick he always has been, only he’s running scared - Merb 1.0 started eating into his downloads, and that would mean his speaking gig income would be affected in a few months. Nobody will pay him $x to speak for an hour at some conference if everyone is using Merb and Rails is dead.
The ONLY reason DHH had his sudden and miraculous change of heart is to avoid being swept completely into the dustbin of obscurity when his halfassed web framework was supplanted by Merb. He doesn’t care about making a technically good framework (obviously). He certainly doesn’t care about others’ ideas. But he is smart (in a self-serving way), and he sees the writing on the wall for Rails. If you can’t beat ‘em, join’em. His plan is to co-opt the Merb engineering talent under a brand name that he controls, to bask in their reflected glory and continue collecting speaking fees and book royalties for someone else’s product, after his inferior version was crushed in the marketplace, with only a few hardcore geeks the wiser. He acted just in time. Another few months with a stable Merb 1.0 out and it would have been too late. He hooked in merb-core with promises of technical collaboration and marketing muscle, basically. Their tech is inferior and will only harm Merb. Their marketing may be marginally more useful.
There are a couple of possibilities for Merb 2/Rails 3: either merb-core will become subservient ass-kissers, like rails-core is, and line up to pay homage to the great DHH, and do things as he says; or merb-core will disintegrate as the talented members slowly grow disillusioned with the Rails integration plan and slowly leave, one by one, over many months, for other projects. Either way, the outlook is not good for Ruby web frameworks.
So what do we do now? Fork merb and try to constitute a new core team? Move on to another language? What do you think should be done?
m on December 27, 2008
I was just reading some newsgroup posts and already see what the future holds. A couple of people commented that “x” is better in Merb than Rails, and they hope it replaces the equivalent Rails functionality.
The response from developers was that, well, Rail’s implementation of “x” is the standard so using Merb’s would break a bunch of code.
Why won’t this same reasoning be used for every bit of functionality? The Rails implementation will win every time if this reasoning is applied consistently.
Why even call this a merger? Merb folded.
Adam on December 27, 2008
Rails is dead. Long live Merb… please…
anon on December 29, 2008
Rails is to Merb, as Microsoft is to Mac
Yehuda Katz on December 29, 2008
@m I was just reading some newsgroup posts and already see what
> the future holds. A couple of people commented that “x” is better in
> Merb than Rails, and they hope it replaces the equivalent Rails functionality.
> The response from developers was that, well, Rail’s implementation
> of “x” is the standard so using Merb’s would break a bunch of code.
Can you give me an example please?
Samo on December 29, 2008
To be honest, I moved to merb because I found it fascinating and also started the project of mine on the idea that merb deserves a nice Open Source CMS that people can learn merb/DataMapper/jQuery off. One of the main reasons to even do it was the fact that merb was kinda “new” and such a project was missing, so once it got into a releas-able state, I wanted to use it to “spread merb” and offer people a nice alternative to Rails & Co.
So what now, for me? Obviously, lepilo will continue to be developed - but I little interest in the Rails “community” at large, for various reasons – ranging from not wanting too many people to look at what I think is an unfinished product to the fact that with Rails’ popularity, they got their own share of incompetent folk.
I understand the merb core team is going into it with their best intentions and they want to take what made merb great and put it into Rails. I’ll lean back and observe how well that works out, right now I’m 50/50 between being dissapointed and trying to not get upset too much about it, because at the end of the day it doen’t matter for me – I didn’t build my short-term business plan around merb. Those who did are probably angry right now, and I see no need for some people to be jerks about it.
Fabien Franzen (loob2) on December 29, 2008
@mr eel, Eelling, m: I couldn’t agree more, this post is the best write-up of the concerns I’ve been hearing around the web.
In essence I haven’t got a whole lot to add to what’s already been said here; if I would, it would make me seem disgruntled with the past, which I’m certainly not - working on Merb has been a great oppertunity.
In fact, I’m (almost) sure that Rails3 will be great - that is, if you only think in terms of technical excellence. And even then, there’s still the risk of compromises which weaken originally strong concepts and ideas - not having a ‘big-bang rewrite’ indicates this already.
I firmly believe in *identity*. If there’s anything (an open-source) project needs, it’s a certain charismatic quality, a culture and philosophical awareness that people share and can identify with. It’s something I was always proud of when thinking about the strongpoints of Merb (it’s the community, stupid!). I think most of us (in the Merb crowd) have a hard time identifying with the -overly crowded- Rails scene, and DHH as their philosophical leader.
We’ve not only lost our identity, we sacrificed our credibility we earned or were about to earn now that Merb 1.0 was finally released. And all that in a matter of mere months after we proudly introduced it, and just a couple weeks after a cross-blogging rift between between some of the misconceptions that surrounded Rails and Merb.
An immediate side-effect is that the eco-system we’ve been developing is forced to merge too. In an attempt to eliminate ‘duplicate efforts’, any (business) oppertunity related to specializing in Merb technology, but more importantly knowledge, has been swept away as well.
For now, we’ve been told that this knowledge will not be wasted as we transition into Rails 3; I guess it’s a matter of time to see how well that holds up. But I’m sure that there are Merb developers who now find themselves in a more competitive situation, whereas before they specifically chose a niche market to carve their own space in. All they get in return is a so-called household name that supposedly markets itself better…
Ever since the announcement was made, I’ve been thinking about what actually happened and what it implies. As a core contributer (granted, the last month or so has been less productive because of client work), I found out just like everyone else did: through the official posts of Yehuda and DHH - even though Yehuda and I kept in touch every couple of days.
Apparently I was *supposed* to have been told before it was made public, but for some reason that didn’t happen… Which I find a disappointment by itself, and underlines the secrecy that surrounds the whole operation IMHO. While I understand the difficulties in taking such a decission publicly, it shows little respect to all those who’ve passionately contributed (in code, spreading the word, sharing the mindset).
To me this is the end of a chapter. I’ve been planning to leave the web-development scene behind for a while know, and to be honest I already planned to take a step back in 2009 for various reasons. Nevertheless, I find it hard to believe that something I looked back upon with great satisfaction, is now swept under the rug as a side-effect of being the superior project.
Before I get too sentimental
I’d like to end with one of my favorite quotes that sums it up quite nicely I think: It’s better to be a pirate than to join the Navy (Steve Jobs).