Google’s Chrome OS, thanks to the growing popularity of Chromebooks, is being used by more and more people. Many people know that Chrome OS has a Linux foundation. But how Chrome OS developed from Linux, and exactly what is in Chrome OS today, has been something of a mystery — until now.
The actual origin of Chrome OS, even now, is unclear. Jeff Nelson, a former Google engineer, claimed that he created a “a new operating system” that “was originally code-named ‘Google OS‘ and since 2009 has been released to the public under the product names, Google Chrome OS, Chromebook, and Chromebox.” For proof, Nelson points to his patent, granted later, for network-based operating system across devices.
Nelson added that this “bare-bones Linux distribution,” created in 2006, “was initially rejected by Google management” because you couldn’t “use it on an airplane.” Its interface was also the Firefox Web browser instead of the yet-to-be-invented Chrome Web browser.
In Nelson’s take, the Chromebook was not intended to be another device for Web browsing, but a fully functional device for code development for a Google engineer. It was also not designed to be a Web-app-oriented operating system but “a super-fast operating system” that resided entirely in RAM.
In a Google posting, Antoine Labour, a Google software engineer, and as “one of the 3 original engineers on the project “and now “the most senior engineer currently working on the project,” disagreed with Nelson’s Chrome OS history. He doesn’t see a connection between Nelson’s project and today’s Chrome OS.
“I have never heard of this guy. He has certainly not given any input on the project, to the extent of my knowledge. For that matter, the Chrome OS project itself, the one that ended up growing and actually [leading to] shipped products, didn’t exist in 2006 when he claims he invented it. Reading his blog post, it sounds to me that what he’s really claiming [is] he put together bits and pieces of a Linux distribution based on the concept of running off of a ram disk. This has pretty much nothing to do with Chrome OS; I don’t see in what way his project could have morphed into what Chrome OS is today.”
In a latter note in the same thread, Peter Kasting, a Google Chrome user interface developer, said that “Chrome OS was never internally called ‘Google OS’ … and I quite literally watched that project be conceived and staffed from a starting ground of zero; whatever project you got staffed didn’t morph into it.”
“In 2007, I had meetings with Jeff Huber (VP of Google’s consumer products group), Larry Page (now CEO), several other directors and managers, and even presented a techtalk – all of these meetings on Chrome OS project. By the end of 2007, I was working with a product manager, and together we were able to convince management to launch the Chrome OS project and assign head count to the project by the end of 2007. In August 2007, my product manager and I even met with an external hardware vendor to have exploratory talks regarding their interest in distribution a Chrome OS laptop.”
This discussion ended with everyone quietly agreeing to disagree without changing their positions. While I have no doubt that Nelson did create an operating system, sources at Google tell me that Nelson’s operating system had no connection with Google’s Chrome OS. Specifically, one person close to the matter said, “While Jeff Nelson may have worked on a Linux distribution based on Firefox, he was not involved with the Chrome OS project at any point of time nor was Chrome OS inspired by his work.”
So if Nelson’s project wasn’t Chrome OS’s father, where did it come from? Originally, it seems to have started with Ubuntu Linux. Chrome OS was released in November 2009 and the news quickly came out that Canonical, Ubuntu’s parent company, had helped build Chrome OS.
In a Canonical blog posting, Chris Kenyon, then Canonical’s VP of OEM Services, wrote, “Canonical is contributing engineering to Google under contract. In our discussions, Sundar Pichai [Google's senior vice president of Chrome] and Linus Upson [Google's VP of engineering for Chrome] made it clear that they want, wherever feasible, to build on existing components and tools from the open-source community without unnecessary re-invention.”
So, Chrome OS today is based on Ubuntu? Well, no… it’s not. The first builds of Chrome OS had Ubuntu as its foundation, but it’s changed over the years. In February 2010, Chrome OS started switching its foundation Linux distribution from Ubuntu to the older, and more obscure, Gentoo Linux.
This was done, as recorded in a Chromium OS developer e-mail list discussion, because ”the need to support board specific builds and improve our tools has become more urgent. In order to get there more quickly we’ve been investigating several different build tools. We found that the Portage build tools suit our needs well and we will be transitioning 100% within the next week.”
Portage is Gentoo’s package management system. It’s most noteworthy because, instead of using prepared program packages, such as those used in Red Hat’s RPM or Debian’s DEB, for installing software, it compiles programs directly from source code.
That’s not the end of the story though. While Gentoo’s Portage is still used for package management in Chrome OS, sources say that today’s Chrome OS “kernel is a regular upstream kernel plus our own changes. We don’t pick up anything from Gentoo in that area.” So, today’s Chrome OS is based on Google’s own take on the vanilla Linux kernel while Portage is still used for software package management.
No matter how exactly Chrome OS got its start, today it’s becoming a popular Linux distribution. While it’s most often found pre-installed on Chromebooks, Chrome OS can also be installed on PCs.
Give it a try. No matter its origins, you might find you like this lightweight, cloud-based Linux desktop.