Hypercritical


Fear of a WebKit Planet

I must confess, I was neither surprised nor disturbed by last month’s announcement that the Opera web browser was switching to the WebKit rendering engine. But perhaps I’m in the minority among geeks on this topic.

The anxiety about the possibility of a “WebKit monoculture” is based on past events that many of us remember all too well. Someday, starry-eyed young web developers may ask us, “You fought in the Web Standards Wars?” (Yes, I was once a Zeldi Knight, the same as your father.) In the end, we won.

As someone whose memory of perceived past technological betrayals and injustices is so keen that I still find myself unwilling to have a Microsoft game console in the house, my lack of anxiety about this move may seem incongruous, even hypocritical. I am open to the possibility that I’ll be proven wrong in time, but here’s how I see it today.

As much as I despised Internet Explorer for Windows, and what its simultaneous stagnation and dominance did to the web, I don’t think it’s the correct historical analog in this case. WebKit is not a web browser. It’s not even a product. It’s much more analogous to Linux, an open-source project that any company or individual is free to build on and enhance.

Linux, once a personal project created just for fun, now dominates the data center. It’s also in phones, tablets, game consoles, set-top boxes, and even (sometimes) PCs.

Is there a “Linux monoculture?” In some ways, yes. These days, it’s surprising if a startup creates a hardware product sophisticated enough to need an operating system and that operating system isn’t Linux. And let’s not forget that Linux has all but wiped out the proprietary Unix-based operating systems that once ruled the high-end.

Linux is the canonical open source success story. It succeeded for reasons that are now so boring they’re accepted as common sense. There’s still plenty of room for variation and innovation, but now all the significant achievements are shared with the world. If a company improves Linux, it’s not just improving its own products; it’s making Linux better for everyone. Linux let us “put all the wood behind one arrowhead” (to borrow one of Scott McNealy’s favorite sayings), but on a global—instead of merely a corporate—scale. (Funny how things turn out, eh, Scott?) Linux solved the Unix problem—for everyone.

WebKit fills a similar role. Thanks to WebKit, anyone who needs a world-class web rendering engine can get one—for free. And the products built with WebKit are as varied as those built with Linux. Even products in the same category vary wildly. Chrome and Safari, for example, have different features, different extension mechanisms, different JavaScript engines, different process models, and very different user interfaces. Opera adds yet more variation. And these are all just standalone web browsers. Consider all the embedded applications of WebKit, from game consoles to theme-park kiosks, and the idea of a homogenous, stagnating WebKit monoculture seems even more unlikely.

I haven’t forgotten the past. A single, crappy web browser coming to dominate the market would be just as terrible today as it was in the dark days of IE6. But WebKit is not a browser. Like Linux, it’s an enabling technology. Like Linux, it’s free, open-source, and therefore beyond the control of any single entity.

Web rendering engines are extremely complex. There are very few companies that have the expertise to create and maintain one on their own. (Again, the similarity to Linux is strong here.) I’m glad all those developers at Apple and Google are working on improving the same open-source web rendering engine, rather than dividing their efforts between two totally different, proprietary engines. Adding Opera’s developers can only make things better. The proliferation of WebKit will be a rising tide that lifts all boats.