Dojo and MooTools

Written By Aaron Newton, on Thursday, April 1st 2010, 11:02am

Over 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.

42 Responses to “Dojo and MooTools”

  1. Toine says:

    MooJoQuery please.

  2. cnlinkin says:

    awesome! this is cool!

  3. NKjoep says:

    FooolTools!

  4. emilime says:

    questa notizia mi rende un po’ mogio

  5. Fábio M. Costa says:

    This is HUGE! moojo FTW!

  6. Matthias says:

    Too good to be true! ;-D

  7. Tetsuo says:

    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.

  8. Alexander says:

    jTools, MooJo..What’s the next? :)

  9. Monkeytail says:
  10. Rodrigo says:

    April Fools’ ??

  11. Enrico Carlesso says:

    You wont trap me in another april fool! The last year I was so sad for the name change!!! :D

  12. mimeArtist says:

    White rabbit!

  13. Jake says:

    Agreed, MooJoJQuery would be best. It might have to wait for Nikebok and Coca-Pepsi are finalized.

  14. Johny Goerend says:

    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 ?

  15. Mike says:

    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. :)

  16. Eraserhead says:

    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 ;)

  17. Erken says:

    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.

  18. Skylar says:

    Moojo? Dojools? April fools?

  19. Mr Bean says:

    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?

  20. gonchuki says:

    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

  21. Carlos says:

    Did somebody say jQuery? I hope it’s still free…

  22. Rico says:

    I think it’s a great move.

    But isn’t April 1st just the worst date for this kind of announcement ?

  23. Si says:

    I LOL’s and LOL’d

  24. njy says:

    @Tetsuo: c’mon, think about it… i mean, really: think about TODAY ;-) before leaving MooTools

  25. Coffein says:

    You almost got me ;)

  26. Brade says:

    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 ;)

  27. andrei009 says:

    almost believed it..

  28. philip says:

    you almost got me, too… good one!

  29. MooG says:

    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???

  30. Daniel Buchner says:

    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.”

  31. Greg D says:

    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

  32. Marat Denenberg says:

    Very funny. I almost had a heart attack. Took me a while to remember what day it was …

  33. Rolf says:

    f#ckin’ lol

  34. JGG says:

    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

  35. stowned says:

    MooJoJQeuryPrototype FTW !!! :P

  36. Mark Ernst says:

    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.

  37. briandkid says:

    This was a good one. You guys do a great job. Continue

  38. brian bobek says:

    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.

  39. Tetsuo says:

    Alright, I admit it: you got me :) Well and truly April fooled - but that was very cruel!

  40. Eric Clemmons says:

    And I thought Mootools was finally getting namespacing & a proper module system. :(

  41. Jason Beaudoin says:

    Nearly died when I read this. Thankfully, it was a joke. whew!

  42. Luca says:

    Wow guys… Fiuuuuu… I was believing it…