Brendan Eich has a post on the Mozilla roadmap blog entitled The Open Web and Its Adversaries which references one of my posts on whether AJAX will remain as the technology of choice for building Rich Internet Applications. He writes

open standards and open source both empower user-driven innovation. This is old news to the Mozilla user community, who have been building and feeding back innovations for the life of the project, increasing over time to include Firefox add-ons and GreaseMonkey user scripts. (BTW, I am pushing to make add-on installation not require a restart in Firefox 3, and I intend to help improve and promote GreaseMonkey security in the Firefox 3 timeframe too.) Without forking, even to make private-label Firefoxes or FlashPlayers, users can innovate ahead of the vendor's ability to understand, codify, and ship the needed innovations.

Consider just the open standards that make up the major web content languages: HTML, CSS, DOM, JS. These mix in powerful ways that do not have correspondences in something like a Flash SWF. There is no DOM built inside the FlashPlayer for a SWF; there's just a display list. There's no eval in ActionScript, and ActionScript features a strict mode that implements a static type checker (with a few big loopholes for explicit dynamic typing). You can't override default methods or mutate state as freely as you can in the browser content model. Making a SWF is more like making an ASIC -- it's "hardware", as Steve Yegge argues.

This is not necessarily a bad thing; it's certainly different from the Open Web.
Dare Obasanjo argues that developers crave single-vendor control because it yields interoperation and compatibility, even forced single-version support. Yet this is obviously not the case for anyone who has wasted time getting a moderately complex .ppt or .doc file working on both Mac and Windows. It's true for some Adobe and Microsoft products, but not all, so something else is going on. And HTML, CSS, DOM and JS interoperation is better over time, not worse. TCP/IP, NFS, and SMB interoperation is great by now. The assertion fails, and the question becomes: why are some single-vendor solutions more attractive to some developers? The answers are particular, not general and implied simply by the single-vendor condition.

I'm surprised to see Brendan Eich conflating "openness" with the features of a particular technology. I'll start with Brendan's assertion that open standards and open source enable user-driven innovation. Open source allows people to modify the software they've been distributed however they like. Open standards like HTTP, FTP and NNTP allow people to build applications that utilize these technologies without being beholden to any corporate or government entity. It's hard for me to see how open standards enable user-driven innovation in the same way that open source does. I guess the argument could be made that open source applications built on proprietary technologies aren't as "free" as open source applications that implement open standards. I can buy that. I guess.

The examples of Firefox add-ons and GreaseMonkey user scripts don't seem to be an example of open source and open standards enabling user-driven innovation. They seem to be examples of why building an application as a platform with a well-designed plugin model works. After all, we have plugins for Internet Explorer, Gadgets for Google Personalized Homepage and Add-ins for Visual Studio which are all examples of user-driven innovation as plugins for an application which are built on a proprietary platform often using proprietary technologies. My point is  

open_source + open_standards != user_driven_innovations;

Being open helps, but it doesn't necessary lead to user driven innovations or vice versa. The rest of Brendan's post is even weirder because he presents the features of Flash's ActionScript versus AJAX (i.e. [X]HTML/CSS/Javascript/DOM/XML/XmlHttpRequest) as the conflict between properietary versus open technologies. Separating content from presentation, dynamic programming languages and rich object models are not exclusively the purvey of "open" technologies and it is disingenious for Brendan to suggest that. 

After all, what happens when Adobe and Microsoft make their RIA platforms more "Web-like"? Will the debate devolve into the kind of semantic hairsplitting we've seen with the OpenXML vs. ODF debate where Microsoft detractors are now attacking Microsoft for opening up and standardizing its XML file formats when their original arguments against the file formats where that they weren't open?

Personally, I'd like to see technical discussions on the best way to move the Web forward instead of the red herring of "openness" being thrown into the discussion. For instance, what are the considerations Web developers should make when they come to the crossroads where Adobe is offering Flash/Flex, Microsoft is offering WPF/E and the Mozilla & co are offering their extensions to the AJAX model (i.e. HTML 5) as the one true way? I've already stated what I think in my post What Comes After AJAX? and so far Adobe looks like they have the most compelling offering for developers but it is still early in the game and neither Microsoft nor Mozilla have fully shown their hands.


Categories: Web Development
Tracked by: [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback] [Pingback]

Wednesday, March 14, 2007 5:51:14 PM (GMT Standard Time, UTC+00:00)
Hey Dare,

One at a time:

1. I did not conflate open anything with features of particular technology. User innovation effects in open source are well-researched, but they aren't the only case of user innovation effects.

2. You don't respond to the counter-examples I gave against your argument that single-vendor makes life better for developers. Here's another counter-example: IE. Absolutely, IE had great DHTML support from 4.0 on for years, compared to Netscape in that era. It is way behind now, and Ajax developers curse it daily.

3. My post was explicit in citing Eric von Hippel, who has researched user-innovation effects extensively. Nowhere did I advance anything like

open source + open standards == user innovation

That's silly, a straw man. Open source is no silver bullet (Brooks reminded us that there aren't any such bullets). But it often beats having to wait for the closed-source vendor to release a patch.

4. Open standards and open source are independent and I said so (see also my last comment at
Open standards do imply multi-vendor support (a closed standard is one not specified publicly, encrusted with IP hazards, etc.). As Miguel and Ted Leung pointed out re: your earlier post, Java has been open by this measure.

The argument about Flash that I was making is more subtle than the reductions being thrown around today. But it's not that subtle. IE had many fine platform features, most of which were open standards (all browsers support innerHTML, e.g. -- this should have been standardized in the w3c; I blame Netscape). These features helped spawn Ajax. Flash as a platform lacks many such features.

I picked on Flash's "hardware" nature as frustrating user innovation, in favor of reduced tooling costs and greater "control" by both Adobe and its big-company customers. As I wrote, that's not *necessarily* a bad thing, but it is different in kind from the open web standards.

Perhaps the open web standards suck by being too hackable and extensible, but I don't think you can dismiss this distinction as merely a diminishing matter of degree. I do fully expect Microsoft to make its offerings quite "web-like", which to the extent that they are well-designed, support extensions at many levels, and do not contain patent hazards, is great. Go strong! (Yeah, I'm egging you and Adobe on, I admit it.)

Your closing paragraph restates my point: Adobe and Microsoft are advancing web-like, single-vendor-controlled proprietary runtimes against "Mozilla & co" (meaning every major browser vendor except Microsoft) and the hordes of web developers who target the browser.

It's nice to call for more technical discussion of the best way to move the Web forward, but we've been having that discussion for years via Your employer will not let you join us there, but if the W3C does the right thing, and does not press the reset button on the WHATWG's work, perhaps we can continue the discussion in the HTML working group.

Wednesday, March 14, 2007 6:01:15 PM (GMT Standard Time, UTC+00:00)
Thanks for the response. I was going to comment on your reference to my blog post but it seems I forgot to do so.

I didn't intend to argue in my post that single vendor platforms are better than non-proprietary platforms. I was trying to pooint out that "openness" although being Mom and Apple Pie, isn't what dictates whether a developer platform will be popular or not.

PS: You're right that I can't joing the WHATWG for a variety of reasons. However you guys have my appreciation for what you are doing for the Web and hundreds of millions of people who use it daily.
Wednesday, March 14, 2007 6:31:34 PM (GMT Standard Time, UTC+00:00)
Re-reading my point 2, I see that I was unclear. I wasn't busting on IE (I praise its platform features, in IE4 and 5, later). I was identifying it as single-vendor in period of "the great freeze": 2000-2004, where it grew to >95% share and stagnated; the resulting monoculture along with lack of vigilant maintenance led to bad security holes. But bygones (I hope!).

Comments are closed.