Android; Why Closed Open Source Can Be Bad

In a G+ post comment I made a statement about how the closed-source components are detrimental to those OEMs who don’t sign up to the Google agreement for the GApps, and here’s an example;

In JellyBean Google has starting giving approved OEMs Chrome as the default browser, but only gives it to OEMs who sign up to the GApps agreement. From what I’ve been told part of what you get is the GApps version of Chrome being used to back WebViews. This isn’t the open source version of Chrome (i.e. Chromium), this is a closed source version of Chrome where the source code is not available to the public.

So when an OEM uses the AOSP without the GApps they get a version of WebView which is backed by the AOSP renderer, and the WebKit repository for that currently has a note saying;

Currently we track the Chromium 12.0.742 release branch

The last release tagged version of Chromium was 32.0.1670.1, so the stock tree is tracking something which is 20-ish major revisions out of date, and so stock AOSP OEMs end up with users seeing poorer rendering in WebViews.

This isn’t something app developers can do anything about, and most will point the blame the device OEM (after all, they’re using a WebView, and if you have two devices on the same version of Android they should behave the same, right?), when in actual fact the issue has been created by Google not keeping the AOSP rendering engine on a par with the GApps provided Chromium one.