Dojo and MooTools
Written By Aaron Newton, on Thursday, April 1st 2010, 11:02amOver the past several months we here at MooTools have been contemplating how much of what we do is duplicated effort. When we started this whole project years ago it was because we wanted to do things our own way, but as MooTools and JavaScript in general have progressed, we find ourselves facing the tedium of all the low lying code that has to be written to get Browsers to play nice, not to mention the richer things like our inheritance system and other utilities like effects, DomReady, etc. etc.
At FOSDEM we ended up hanging out with the Dojo crew. We like them; they are always doing interesting things and their framework is one that we’ve always looked at and said to ourselves, “If we ever needed feature X we’d probably just port it from them.” Anyway, at FOSDEM a group of their developers and ours got together and started brainstorming about closer ways to work together. Since then the discussion has gotten closer and closer to where we are now.
MooJo
Starting today the Dojo and MooTools projects will begin merging and joining forces. Part of this is to share resources - more hands coding makes more code, right? But part of it is, well, we’ll be frank, we’re kind of tired of reinventing the wheel. We love the solutions in MooTools, but at the end of the day, the API is all that matters. It doesn’t matter how you detect that the DOM is ready, so long as when it is your code runs. The same could be said for selector engines, XMLHttpRequest, and a whole host of other things. What this means in practical terms is that we just don’t have to do as much work and, to be frank, after 4 years of working on MooTools, we’re happy to cede some of the more tedious tasks to Dojo. Sure, their architecture isn’t quite the same (or maybe even as good) as ours, but it works. This will free our development team’s time to work on their own projects and maybe start getting paid for it, which brings us to the second point.
Making MooJo Profitable
For the past four years we’ve been writing code and releasing it for free. In our talks with the Dojo team we all agreed that all this free time donated to anyone who happened to want our work just wasn’t quite worth the hassle. Don’t get us wrong, writing the code is fun, but it’s all the other stuff. The bug reports, the hand-holding in the forums and on IRC, the constant demand to “compete” with other frameworks (whatever that means). It just sucks the pleasure right out of it. We find ourselves burning nights and weekends to write code for strangers to use and it gets old.
Going forward, the code base will continue to be free, but access to the documentation will require a small “donation” (we’ll probably set a really small minimum, like, say $.25) - frankly, the documentation has gotten too good to be free (we contemplated printing it and just selling it as a book, but micropayments is much more “Web 2.0”). Filing bugs will still be free of course. But we’re working on a system that lets our users put money towards the bugs they care about the most. The bug with the most money donated gets our time and gets in the next release. We think this will cut down on both the number of bugs we get but also help manage expectations. If you have a bug that you think is important, you either need a lot of people to agree with you (which they will if the bug is really broad) or you need to pay a lot (in which case it’s like you’re hiring us as freelancers).
What will we do with the money raised? We’ll probably start sponsoring more meet-ups and sending more people to conferences, but we’ll also be able to compensate the developers who bring you all this great stuff. Certainly no one can argue with that.
Compatiblity
As we begin merging functionality we’ll likely retire large portions of both frameworks. MooTools has a great effects library while Dojo has a lot of solid widgets. MooTools ART will likely get shelved in favor of dojo.gfx, Dojo will likely drop it’s effects libraries in favor of MooTools’ effects which are really nice, much of MooTools More will either be retired (in favor of existing Dojo widgets) or turned into Dojo widgets themselves, etc.
For backwards compatibility we’ll be implementing the “donation” system as well. For the portions of the MooTools and Dojo cores that are deprecated we’ll allow the users to prioritize which parts we offer compatibility for. Same goes for effects, plugins, etc. We hope this new model will encourage businesses that use our awesome frameworks to recognize the value we bring and to compensate us for our time.
If you have any questions, post them in the comments below. Comments are still free - we haven’t implemented the “donation” system for them yet, either.
Update: Yes, this was an April Fool’s joke. We love Dojo and that whole team… but not that much.
April 1st, 2010 at 11:11 am
MooJoQuery please.
April 1st, 2010 at 11:12 am
awesome! this is cool!
April 1st, 2010 at 11:13 am
FooolTools!
April 1st, 2010 at 11:14 am
questa notizia mi rende un po’ mogio
April 1st, 2010 at 11:15 am
This is HUGE! moojo FTW!
April 1st, 2010 at 11:15 am
Too good to be true! ;-D
April 1st, 2010 at 11:17 am
Well er, that sure sucks and big surprise. Chasing the dollar at the expense of the community? I hope that works out for you guys, no-one would begrudge that, but seriously: :|
Time to switch over to jQuery after all, perhaps.
April 1st, 2010 at 11:21 am
jTools, MooJo..What’s the next? :)
April 1st, 2010 at 11:24 am
http://en.wikipedia.org/wiki/April_Fools%27_Day
April 1st, 2010 at 11:25 am
April Fools’ ??
April 1st, 2010 at 11:26 am
You wont trap me in another april fool! The last year I was so sad for the name change!!! :D
April 1st, 2010 at 11:27 am
White rabbit!
April 1st, 2010 at 11:28 am
Agreed, MooJoJQuery would be best. It might have to wait for Nikebok and Coca-Pepsi are finalized.
April 1st, 2010 at 11:29 am
Such news on April 1st … hmmm ;)
I guess you’re not sure about the new name yet? http://www.dojotoolkit.org/blog/post/dylan/2010/04/joining-forces/ doojools or moojo, which one should it be? Or perhaps ProtoMooJoQuery ?
April 1st, 2010 at 11:30 am
Are you serious! Micro-transactions ftw. MooJo > Dojools
If your that willing to drop to JQuery perhaps you should relax a little and check out the date. :)
April 1st, 2010 at 11:30 am
Hey, I’m all for ScripMooJoQuery, but your donation demands are way too low! Maybe next April 1st you’ll raise the minimum to 50$, outsource the whole thing to Elbonia and go lie on a beach somewhere ;)
April 1st, 2010 at 11:42 am
Well that was unexpected..I feel it’s a shame in a way. Mootools was great the way it was, I’m not sure merging with Dojo will really make it better.. A bit of Mootools code here, a bit of Dojo code there..Just doesn’t feel right. Still, it’s my favourite Javascript framework! Wait and See I guess.
April 1st, 2010 at 11:42 am
Moojo? Dojools? April fools?
April 1st, 2010 at 11:44 am
Folks, it is April 1st. Don’t believe everything you hear. Remember when they announced changing the name to jTools (or something like that) one or two years ago?
April 1st, 2010 at 11:44 am
I was just about to plunge a wheelbarrow full of pennies into bug #651 but it’s already fixed for 1.3 nice thing it was fixed before today or I wouldn’t believe it! =P
April 1st, 2010 at 11:53 am
Did somebody say jQuery? I hope it’s still free…
April 1st, 2010 at 11:55 am
I think it’s a great move.
But isn’t April 1st just the worst date for this kind of announcement ?
April 1st, 2010 at 11:55 am
I LOL’s and LOL’d
April 1st, 2010 at 11:56 am
@Tetsuo: c’mon, think about it… i mean, really: think about TODAY ;-) before leaving MooTools
April 1st, 2010 at 12:07 pm
You almost got me ;)
April 1st, 2010 at 12:08 pm
Arrrgh, it’s april 1 and you still nearly had me! but the part about “retiring mootools more” was way too scary to be real ;)
April 1st, 2010 at 12:08 pm
almost believed it..
April 1st, 2010 at 12:25 pm
you almost got me, too… good one!
April 1st, 2010 at 12:32 pm
I remember when last year I read that you decided too change mootools’ name… and i wrote a lot of comments with my disagreement and hunger…. this year I use my experience too say: Great Job Mootools… why don’t you build a MooTAculos to be more crosslibrary???
April 1st, 2010 at 12:42 pm
Oh my sweet christ, now this is almost better than the post itself:
“Well er, that sure sucks and big surprise. Chasing the dollar at the expense of the community? I hope that works out for you guys, no-one would begrudge that, but seriously: :|
Time to switch over to jQuery after all, perhaps.”
April 1st, 2010 at 12:45 pm
What about Y-Ext-Pro-MooJ-Query-Taculous? it would be kind of like the combinor robots in transformers… when they connect there strong and unstoppable… well until OptimusPrimeJS Framework is created
April 1st, 2010 at 1:38 pm
Very funny. I almost had a heart attack. Took me a while to remember what day it was …
April 1st, 2010 at 2:12 pm
f#ckin’ lol
April 1st, 2010 at 2:20 pm
Just started using Mootools 1 month ago, spending day and night working on a project, so I nearly fell down the chair when I read the post! Fair enough about micropayments, but dont start merging with other frameworks please… you got me, nice one April Fools
April 1st, 2010 at 4:01 pm
MooJoJQeuryPrototype FTW !!! :P
April 2nd, 2010 at 2:22 pm
To hell with MooJoQueryPrototype what ever. I like Mootools just the way it is! It really does the job perfectly for me. I must say, I sometimes fancy the coding style jQuery offers, but it´s more a gfx-slut-lib for the untalented… It’s all plug and play, which kinda pushes the developer out of the picture. AND I NEED MY MONEY!
Good April Fools… ya really had me … fooled.
April 2nd, 2010 at 2:29 pm
This was a good one. You guys do a great job. Continue
April 2nd, 2010 at 3:29 pm
I nearly started crafting an email to ask about corporate rates for documentation when I got to the micro-payments bit. I feel extra ridiculous since my team posted an April Fools Facebook app yesterday that uses MooTools. Doh.
April 3rd, 2010 at 11:42 am
Alright, I admit it: you got me :) Well and truly April fooled - but that was very cruel!
April 3rd, 2010 at 1:38 pm
And I thought Mootools was finally getting namespacing & a proper module system. :(
April 6th, 2010 at 12:51 pm
Nearly died when I read this. Thankfully, it was a joke. whew!
April 8th, 2010 at 7:23 am
Wow guys… Fiuuuuu… I was believing it…