Thoughts on Blink
Google forked WebKit into Blink. What does that mean?
First, why do I have an opinion?
I was an early contributor to WebKit. Enough to get commit rights but nothing significant.From the point of view of contributors, WebKit was OK. Not great but also not bad.
I also periodically check out the dev mailing list.
Let’s run the facts first.
Google is now contributing ~50% of the code to WebKit. Apple contributes most of the rest and there are much smaller, but in total not insignificant contributors.
Despite Google writing (I think) more code, the final control was Apple’s and the tension between the two was growing.
To give just 2 examples:
* Google wanted to add a way to integrate (as an option) Dart VM in WebKit. Apple more or less shut it down. It was political decision but justified on technical grounds (complexity!).
* Google implemented sophisticated multi-processing and sandboxing on top of WebKit. Apple wanted something similar but they started doing it in a completely different way (WebKit2) which would make Google’s life even harder.
The employees of both companies were treading lightly on the dev list but you could feel that WebKit wasn’t a love fest of like-minded engineers but 2 lions circling each other, always prepared for the battle.
What will happen next?
Well, no one really knows, but it’ll be interesting to watch how this plays out.
Apple is in a tight spot. Suddenly WebKit will be getting 50% less code.That’s a big drop.
Other contributors will have to pick: are they staying with WebKit or moving to Blink? Opera already made their choice (Blink) and I’m convinced rational actors will go with Google as well.
Blink will not get Apple’s contributions either but let’s not forget: web is the OS for Google. It’s no longer a priority for Apple. In fact, strategically Apple would be most happy to pull IE: stop advancing the web and put all resources into iOS and Mac OS.
For Google the viability of the web is life or death situation and as such they’ll pour as much resources as necessary to make Blink work. In contrast, Apple is rumored to be pulling engineers from other projects and making them work on iOS 7, because iOS is late and iOS is the priority for them.
For Google, there will hardly be a higher priority project than Blink. It’s a foundation of pretty much everything else they do.
Which is why Apple is in a tight spot: if WebKit suddenly looses non-Apple contributions, they’ll have a hard time catching up with Blink. And while they really don’t care if web technologies advance quickly, they’ll be forced to at least keep pace with Mozilla and Google, both of which are putting the foot on the pedal recently.
Now that Google isn’t slowed down by the need to negotiate with a powerful co-creator whose strategic goals are almost opposite of Google’s, they’ll be able to advance web technologies even faster.
Dart inside Blink? Why not. Nacl? Yes, please. Web components? I want them now.
In the past Apple was able to effectively block the technologies they didn’t like (like Dart) and as a result they were confined to Google’s corner of the world.
If Google makes them an integral part of Blink (or at least an optional, but easy to include part), they’ll trickle down to all other companies using Blink, making them more likely to succeed. (while some like to harp on how standards are good, the real way a web technology wins is by getting wide enough adoption that it cannot be ignored; see how Microsoft changed the tune on WebGL from “no! too insecure!” to “we can no longer not ship it” in IE 11).
I’m confident Blink will become a better engine than WebKit if only for one reason: it’s strategic for Google and for Apple it’s just an unwelcome competition for the walled garden they are so insistent on creating.