Google’s phone struggles but wins convert in Linus Torvalds
Feb 8, 2010 — by Eric Brown — from the LinuxDevices Archive — 5 viewsGoogle's Nexus One Android phone is selling at a much slower rate than the Droid, according to a research firm — but happy customers include Linux creator Linus Torvalds, who endorsed the phone. Last week, meanwhile, the Torvalds-directed Kernel.org announced that Android code has been deleted from the Linux kernel.
Research firm Flurry is reporting that sales of Google's HTC-manufactured Nexus One Android phone (pictured at right) remain slow, says PCWorld. In January, Flurry had reported that the highly touted phone sold only 20,000 units in its first week. Now Flurry is reporting that the company sold 80,000 units during the entire month of January, compared to 575,000 units for the Motorola Droid in its first month, says PCWorld.
Google has only recently released a fix for the phone's 3G access problems, delivered in an over-the-air update that also featured multi-touch capability and a new version of Google Maps.
Linus loves him some Android
The recent addition of multi-touch was the lure that led Linux creator Linus Torvalds (pictured below at left) to the point where he "broke down and bought a Nexus One last week," according to his blog. Torvalds, who still oversees development of the mainline Linux kernel via Kernel.org, rarely comments on shipping product, especially in the embedded realm, so the Nexus One endorsement was something of a surprise.
It was also surprising that he endorsed a phone. Torvalds admits that, "I generally hate phones — they are irritating and disturb you as you work or read or whatever — and a cellphone to me is just an opportunity to be irritated wherever you are. Which is not a good thing."
Torvalds goes on to say that he bought the original HTC G1 Android phone, as well as earlier Motorola Linux phones, but rarely used them. He's already getting a lot more use out of his Nexus One, however, which he pronounces "a winner."
According to the open source developer, who was the primary force behind developing Linux in the early '90s, the pinch-to-zoom multi-touch feature and Google Maps Navigation features were the main draw for buying the Nexus One. "The day it was reported that it finally had the pinch-to-zoom thing enabled, I decided to take the plunge," he writes. "I've wanted to have a GPS unit for my car anyway."
Torvalds, who typically announces new Linux releases with wry, understated comments and a general absence of fanfare, goes on to enthuse, "What a difference! I no longer feel like I'm dragging a phone with me 'just in case' I would need to get in touch with somebody — now I'm having a useful (and admittedly pretty good-looking) gadget instead. The fact that you can use it as a phone too is kind of secondary."
Android forks from Linux
Torvalds' glowing endorsement of the Nexus One comes only a few days after Novell Fellow and kernel developer Greg Kroah-Hartman announced that he had removed Google's Android driver code from the open source Linux kernel (kernel 2.6.33) back on Dec. 11. As Kroah-Hartman explains in a recent blog posting, the code was excised because the Linux-based Android platform has become incompatible with the project's main tree.
"No one cared about the code, so it was removed," stated Kroah-Hartman (pictured at right), who heads up the Linux Driver Project, and often goes by the name Greg KH. "As I've stated before, code in the staging tree needs to be worked on to be merged to the main kernel tree, or it will be deleted."
The kernel developer goes on to say that "there's a much bigger problem here." In order to get a working Android system, he explains, developers require a new lock type that the Google-backed Android project has created, as well as hooks in the core system for Google's "bizarre" security model. The framebuffer driver infrastructure is also "totally different," explains Kroah-Hartman.
He then explains that as a result of these divergent paths, any drivers written for Android hardware cannot get merged into the main kernel tree. This is because Google has created "dependencies on code that only lives in Google's kernel tree, causing it to fail to build in the kernel.org tree," writes Kroah-Hartman. In his view, "Google has now prevented a large chunk of hardware drivers and platform code from ever getting merged into the main kernel tree."
The necessity to banish Android from the kernel "is much worse" than the typical project fork, he continues. "Because Google doesn't have their code merged into the mainline, these companies creating drivers and platform code are locked out from ever contributing it back to the kernel community," writes Kroah-Hartman. Later, he continues, "Now they are stuck. Companies with Android-specific platform and drivers can not contribute upstream, which causes these companies a much larger maintenance and development cycle."
A story in The Register about the development quotes posts on LWN.net from Android developer Chris DiBona, saying that the fork is a good thing. In the blog post, DiBona throws the responsibility for the fork back on Kernel.org, but says that Android developers aren't especially bothered by it.
"I think if the Android kernel were important enough to the mainline, then this wouldn't be a problem," writes DiBona. "The reality is that the mainline doesn't want the code, so a fork is a normal response to this. If you don't like how we architected Android, don't complain that the code isn't being mainlined. You can't have your cake and eat it too. We get it, you don't like how we put together the kernel for android. We're okay with that."
Availability
The PCWorld story on Flurry's estimation of Nexus One sales may be found here.
The Linus Torvalds blog on his Nexus One may be found here.
The original Kernel.org announcement that Android code had been deleted from the Linux kernel may be found here, and the Greg KH blog post on the fork may be found here.
The story in The Register about the fork should be here, and the debate on LWN.net, including DiBona's comments should be here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.