
For the past few years, Google has been quietly working on a new operating system called Fuchsia which many believe could replace Android. Details remain thin, but the available information hints at some interesting possibilities.
Like many of you, I’ve been curious about Fuchsia since the project silently showed up on Git in August 2016. Those examining the available source code quickly found that it was a Google OS platform that would span a variety of device types, from “dash infotainment systems for cars, to embedded devices like traffic lights and digital watches, all the way up to smartphones, tablets, and PCs.”
If you think that sounds like Android—or, more aptly, Linux—you’re not alone. But here’s the thing: Fuchsia is not based on Linux. It’s based on a new kernel called Zircon. Previously codenamed Magenta (which was no doubt the inspiration for the Fuchsia name), this kernel uses a microkernel architecture that differs from the monolithic kernel in Linux.
Why on earth would Google be creating a new platform that seems to offer the same scale as the Linux kernel does today? After all, Linux has already eaten the world. Even Microsoft has adopted Linux for its Azure Sphere OS because Windows is simply too big.
I’m beginning to wonder if Google’s push past Linux doesn’t mirror Microsoft’s own push to Linux. That is, it’s possible that even Linux doesn’t scale enough to meet Google’s needs. And Fuchsia is its attempt to go beyond what’s possible with that platform.
I’m not a hardware expert, of course, let alone a kernel expert. But as part of a new round of Linux research, I’ve been reading a book called For Fun and Profit: A History of the Free and Open Source Software Revolution that touches on this topic. Linus Torvalds’ decision to create Linux was triggered by a number of factors, but one of them was that Minix, the inspiration for Linux, was built on a microkernel architecture that Mr. Torvalds found to be technically inferior. And so he designed Linux with a monolithic kernel.
Put simply, monolithic kernels keep all kernel services in the kernel address space. But microkernels are more componentized, with some core services running outside the kernel address space (in user space) and using messages to communicate across that barrier. Apple’s macOS (formerly OS X) uses a microkernel architecture. So does Windows. In fact, one of the earlier controversies in Windows, back in the NT days, involved Microsoft’s decision to move key kernel activities like graphics outside of the kernel for performance reasons.
The monolithic kernel/microkernel debate is one for the ages, I guess, but it is notable, I think, that Fuchsia uses a microkernel. I have to believe that Google saw the benefits of such an architecture, and that it provides some benefit over Linux.
At a higher level, Fuchsia’s user interface and apps are written with Flutter. You may recall that I wrote about Flutter in February: This is Google’s new mobile UI framework that’s designed to help developers “craft high-quality native interfaces for both iOS and Android.”
The ability to develop a single app that will run across two or more platforms is pretty much the holy grail in the software development space. This idea was the inspiration behind Java over 20 years ago and a host of other environments ever since. But the key to Flutter, I think, is that the resulting apps are native to each platform. They’re not “nativish.” They are truly native.
For Fuchsia, then, Flutter is a way forward. It’s a way to ensure that apps created today will run on the world’s most popular platforms—Android and iOS—and that they will likewise run on Fuchsia in the future.
This past week, we discovered that Fuchsia will likely run Android apps, too. (Not just Android apps written with Flutter, but Android apps generally.) This kind of puts Google’s efforts to port Android apps to Chrome OS in perspective. That effort bears fruit today, because running Android apps on Chromebooks is truly useful. But it also informs a future presumed push to Fuchsia. The success of Android on Chrome makes the Fuchsia transition seem more possible.
Looking at this admittedly sparse set of information, I get the idea that Google views Android apps—or perhaps Flutter apps—as its own universal apps platform, a set of apps that will run on whatever platforms today and in the future. And that by essentially separating the apps platform from the OS, it can make the actual OS less important. Because the apps will always work. Perhaps Fuchsia and Android will coexist.
Microsoft tried a similar effort with UWP, its own universal apps platform. But because Windows Mobile failed, the reach of UWP is limited today, mostly to PCs, the Xbox One video game console, and some esoteric other devices.
And to put this in perspective, the Linux-based Azure Sphere OS will not run UWP apps. It’s something completely new. Developers can bring their skills to Azure Sphere, but not their apps.
Google’s ability to bring its apps forward across platform generations is a skill that Microsoft had used to great effect: Windows 10 today runs a wide body of legacy code dating back decades. But its current apps platform, UWP, has hit a dead-end, and it’s not clear what the path forward might be. Andromeda, some will claim. But I see that being quite limited. Fuchsia, by comparison, will run the world’s biggest software library. It’s night and day.
It’s also just a project on Git right now.
And as was the case last year—and, I think, the year before that—we will now look toward Google’s annual I/O developer show to see whether the search giant is ready to share its Fuchsia plans with the world. I’m hopeful but won’t be surprised if it is, once again, silent.
If you are interested in Fuchsia, be sure to check out Ars Technica’s peek at the system running on a Google Pixelbook. It’s still early days, of course. But it looks interesting, and very much like a more sophisticated Chrome OS on that hardware.
With technology shaping our everyday lives, how could we not dig deeper?
Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.