Thoughts on YUI vs. jQuery

There have been several discussions about how YUI can better compete in the JavaScript Framework space. The biggest discussion has been held on quora in a thread entitled How could YUI improve its image compared to jQuery, MooTools, etc.. The question garnered enough attention that John Resig, creator of jQuery, the de facto leader in this space, felt inclined to respond.

John’s comments begin fairly reasonably. The YUI project does need to centralize on a single location. Currently, the forums, gallery and bug trackers are on YUI Library, while the core documentation still lives on the [Yahoo! Developer Network (http://developer.yahoo.com/yui/). However, this is already something that is being addressed, as demoed by Allen Rabinovich at YUI Open Hours from September 29th (video), and it’s an issue I know I raised back when YUI Library was launched.

More than that, the redesign of YUI Library really seems to be centered around highlighting the gallery, in effect trying to show off gallery modules as nearly on par with the core library (though still filterable and clearly marked). Which goes a long way to address the issue of making community contributions clear. Plus, the core team has been getting better at looking at external submissions, though there are a few places I’d still like to see them improve in that respect, and no, I’m not talking about my builder agenda.

Now, for the rest, I’m going to try hard to to parrot Nicholas Zakas’ comments, though I agree with pretty much everything he has to say. The very idea that YUI’s association with Yahoo! is a weakness is simply ridiculous.

Admittedly, there are a lot of open source projects which are corporately sponsored that are hampered by that association. MySQL’s development didn’t seem as rich after Sun bought it, and now Oracle is reducing what the open source edition is capable of. Microsoft has a lot of MS-PL code that they can’t take external contributions for, making their code drops nearly useless. Google’s Android is much the same way, since the work being done by Google Engineers only seems to be made public in periodic large code drops.

Particularly through Gallery, YUI has gotten more and more open to external contributions. Personally, I’ve even gotten a few small changes in the core of 3. What makes an Open Source project is not it’s sponsors, but it’s community. It’s why Canonical has been receiving so much flak lately from the GNOME Community. They aren’t playing nice with the rest of the community, in part because they seem to think that innovation can’t happen quickly enough in that environment. I’m split on the issue, but that’s not the subject of this post.

Yahoo! has built a solid community around YUI. And that community has gotten a lot stronger in the last year. Just looking at the gallery shows a healthy number of contributions, most from outside of Yahoo! While the core is mainly commits from inside, they aren’t all, but that’s the way of most Open Source projects. Most commits come from a small core of developers. And Nicholas is right, having YUI inside of Yahoo! drives some pretty awesome development. The core modules for the Rich Text Editor and Autocomplete for YUI3 were driven by internal needs, that will now benefit all of us.

Personally, I don’t view YUI and jQuery in the same space. jQuery has always felt to me like a DSL for the DOM. A person could use it just fine without knowing any JavaScript. And the people I know who love it most, seem to fall into that mold. YUI3 requires at least basic skill with the language, and more if you really want to exploit it well and extend it. There are some serious web sites built with YUI, and it’s excelled at that. I suspect that more people will begin to take note of that sooner rather than later, especially if we can improve the documentation that introduces a user to the library.

It’s not an us versus them argument, and couching it in those terms is going to do us a lot more harm than good.