Google Forks WebKit And Launches Blink, A New Rendering Engine That Will Soon Power Chrome And Chrome OS

Google just announced that it is forking WebKit and launching this fork as Blink. As Google describes it, Blink is “an inclusive open source community” and “a new rendering engine based on WebKit” that will, over time, “naturally evolve in different directions.” Blink, Google says, will be all about speed and simplicity. It will soon make its way from Chromium to the various Chrome release channels, so users will see the first Blink-powered version of Chrome appear on their desktops, phones and tablets in the near future.

The “Collaboration Has Been Fantastic”

As Google’s VP of Engineering Linus Upson and Alex Komoroske, Google Product Manager for the Open Web Platform team, told me yesterday, the decision to fork WebKit was entirely driven by the engineering teams and solely based on the fact that the engineers felt constrained by the technical complexity of working within the WebKit ecosystem. Komoroske noted that when it comes to working with the other companies involved in the WebKit project, the “collaboration has been fantastic.”

This decision clearly wasn’t made lightly. Indeed, as Upson stressed when I talked to him yesterday, “management asked a lot of hard questions” about this move, but in the end, the decision was made in order to reduce the technical complexity of evolving Google’s rendering engine in the direction the team wanted to go in.

Blink: Speed And Simplicity

Specifically, Komoroske noted, Chromium’s multi-process architecture is very different from the rest of WebKit (Chromium is the open-source project behind Chrome and Chrome OS). Having to integrate Google’s way of doing things with WebKit and what the rest of the WebKit partners were doing was “slowing everybody down,” Komoroske said.

As an open-source project, both Chromium and Blink are open to outside committers, though as is typical for these kinds of projects, they’ll have to be nominated to become project members.

For now, WebKit and Blink pretty much look the same, but Google expects that they will evolve in very different directions over time. Komoroske, for example, would like to run iframes in different processes, but that’s something that’s very difficult to do with WebKit right now.

For now, though, developers won’t notice too much of a difference as most of the work will focus on internal architectural improvements. Google says, for example, that it will be able to “remove 7 build systems and delete more than 7,000 files—comprising more than 4.5 million lines—right off the bat.” Over time, Google says, this will results in a “healthier codebase” and lead “to more stability and fewer bugs.”

The WebKit project was started by Apple after it forked the KDE project’s open-source KHTML engine for its Safari browser. In an unusual move – and after a lot of back and forth between the KHTML team and Apple – Apple announced in 2005 that it would open source WebKit, and Google then adapted it for its Chrome browser. Interestingly, Google actually used a forked version of WebKit in the early days of Chromium but later reconciled its fork with the rest of the project.

In this context, it’s worth remembering that all of the different vendors who currenly build WebKit-based browsers already implement it very differently (and often use their own JavaScript engine, too).

Google’s Role In Developing WebKit Today

Currently, the majority of WebKit reviewers are from Google (95), with Apple coming in second (59), followed by a number of other companies, including Blackberry, Intel, Nokia, Samsung, Adobe and Netflix. Google is also currently responsible for the vast majority of commits to the WebKit repository, so it’ll be interesting to see how the Google exit from this project will affect WebKit as a whole. As a Google spokesperson told me today, the Blink team members can still contribute to WebKit “if they desire,” though it’s probably a safe bet that few of them will have the time and energy to do so.

What About Opera, Which Just Switched To WebKit?

A few weeks ago, Opera announced that it would stop developing its own engine and switch to WebKit, too, by adopting Chromium as the basis for its browsers. It’s not clear what ramification today’s announcement will have for Opera, but we’ve reached out to the company and asked for a statement.

When Opera made this move, many developers feared that we’d soon face a WebKit monoculture (especially on the mobile web). Now that Google is developing Blink, we can probably expect the pace of innovation to pick up again. Indeed, Komoroske told me that Google expects that its move away from WebKit will also help other vendors to develop WebKit faster, given that Google’s own implementation of the engine was very different from that of other vendors.

Update: Opera just sent us the following statement: “”We are happy to see that the web is becoming ever more open and accessible for developers. It is a fast moving platform that needs continuous and rapid updating. After some discussions with our counterparts at Google, we are looking forward to contribute back to the open source project that is Blink, just as we would to any other open source project we feel could use our input.”

Why “Blink?”

Why did Google call the new rendering engine Blink? Upson told me it’s obviously supposed to signify how the focus here is on speed and simplicity. Browser developers, however, also tend to have a tendency to have a bit of fun with their names. Chrome, for example, is all about making the “chrome” disappear as much as possible and Blink, he told me, is meant to remind people of the good old (and annoying) blink tag the Netscape Navigator introduced in the 90s.