Freeing the Grid


Recently, Mozilla had the opportunity to help do something quite new and free a piece of JavaScript software, namely the TurboAjax TurboGrid. The code has been freed under the auspices of the Dojo Foundation, becoming a new Dojo Grid component.

From a technological perspective, the grid is quite robust, offering a number of features, including support for large datasets, column manipulation, data independence, and editing of cell data.

What I find to be most interesting about this announcement, however, is the situation upon which it arrived. Mozilla and a number of Dojo users (SitePen, Nexaweb, Redfin and SnapLogic) all pooled their resources together in order to purchase, and subsequently, free the widget to the general public. I find it interesting that the companies chose to take this course of action, as they could’ve left it as commercial software, paying a licensing fee whenever needed. Instead, they decided that this component was so important to JavaScript and web development, in general, that the source be made open for all to use.

The position of the corporations using Dojo is obvious: They want to see Dojo succeed, and having a unified Grid component will ease their development costs significantly. However, for Mozilla, the goal is slightly more esoteric: We want to see the Open Web succeed (and by which, we mean the advancement of open software, standards, and development practices). Thus, by sponsoring the freeing of a critical piece of JavaScript development infrastructure, Open Web development becomes that much more feasible.

With this event taking place, I feel like a significant corner is being turned in JavaScript development. If you look at what was required to come up to this point:

  1. JavaScript libraries congeal to a point to warrant standardization (in this case, in the form of Dojo) and Open Source development.
  2. Developers begin using, and adopting, the libraries as their development platform of choice.
  3. Commercial widgets are built on top of the platform.
  4. A commercial widget is freed, and becomes Open Source.

That means that the JavaScript community has had the opportunity to mature to the point at which it can make a full cycle (having closed source software being built on open source software, becoming open again). A rather exciting time.


Now, obviously, the assumed effect on Open Web development that this particular widget has will vary greatly depending on whose asked. In the opinions of the Dojo Foundation (and the sponsors), it’s very important. Asking users of another library, however, and you’ll get a significantly different story. That’s the one piece of this equation that particularly grates with me, especially coming from a vendor-neutral organization like Mozilla. The support of this widget is actually saying three things: 1) This is a high quality piece of code 2) Having this code open for all to use will better the web and 3) That you should be using the Dojo Toolkit for your development (since it’s required in order for the widget to work).

I think an optimal approach would’ve been one with an extra stipulation: The widget would be freed both ownership-wise and dependency-wise. It’s definitely possible, and the recent work that the Ext library has done proves that it can happen.

That’s a rather minor point however as this feels like it’s really just Mozilla starting to test the waters for funding Open Web JavaScript development. It wouldn’t surprise me if we saw more of these “jailbreaks,” or even sponsorships, in the future.

Side discussion: Apparently dojo 1.0 has dropped support for Safari 2? Bwahh? How is it even possible to drop support for a browser release that is still its current version? Trust me, once Safari 3 goes gold, I’m dropping Safari 2 support from jQuery like there’s no tomorrow, I hate that browser with the fury of a thousand angry web developers, but until that time – too soon?

Update: I was asked to clarify a couple things: I’m not expecting Dojo to go out of their way to port the widget to other platforms (or even to free it from their own), I’d just think that Mozilla should make a strong attempt to generate codebase-neutral code. Granted, that may not be always possible – in the case of the Dojo Grid there’s a significant amount of functionality tying it back to Dojo core.

Also, as far as the dropping of Safari 2 support goes, it was clarified to me that the Dojo 1.0 release will be at about the same time as OS X Leopard, thus, Safari 2 will already be by the wayside at that point. Noted – and approved of!

Posted: September 19th, 2007


If you particularly enjoy my work, I appreciate donations given with Gittip.

16 Comments (Show Comments)



Comments are closed.
Comments are automatically turned off two weeks after the original post. If you have a question concerning the content of this post, please feel free to contact me.


Secrets of the JavaScript Ninja

Secrets of the JS Ninja

Secret techniques of top JavaScript programmers. Published by Manning.

Ukiyo-e Database and Search

Ukiyo-e.org

Japanese woodblock print database and search engine.


John Resig Twitter Updates

@jeresig

Infrequent, short, updates and links.