• On MP3.com: Free music videos
May 22, 2008 4:00 AM PDT

Google carves an Android path through open-source world

Posted by Stephen Shankland
  • Font size
  • Print

MOUNTAIN VIEW, Calif.--Google didn't invent open-source programming or pioneer the mobile-phone software market, but when it comes to its Android project, don't accuse Google of playing follow the leader.

Although the company has long used open-source software within its internal operations, Android is Google's highest-profile attempt so far to use the collaborative programming method to change how computing is done outside the company's walls.

Andy Rubin, head of Google's Android project.

Andy Rubin, head of Google's Android project.

(Credit: Stephen Shankland/CNET News.com)

Google is hardly the first company to try using open-source software to shake up the industry. What's notable is Google's willingness to ruffle feathers in the open-source world, including those of potential allies such as Red Hat, with its approach.

Google is bucking some open-source conventions by avoiding the fashionable General Public License (GPL) to govern the software and creating the software internally before involving outsiders. At the same time, though, it's been easing gradually into the mainstream open-source fold.

"Initially their approach was almost like a proprietary product approach," said John Bruggeman, chief marketing officer of Linux seller and Android partner Wind River. "I think they have adjusted all elements of that strategy as they go. It's much more open-source friendly, more developer friendly."

And though Google's path might be somewhat different, the company has a decidedly ordinary open-source destination in mind: building a broad, cooperative community to thwart a Microsoft hegemony.

Andy Rubin, the Google engineering director leading Android, likens today's chaotic hodge-podge of mobile phone software to the early days of personal computers. In mobile phones, though, Microsoft has begun offering integrated software ranging from office applications and a Web browser at the high level down through the operating system kernel at the low level, and that full suite has a powerful appeal to phone manufacturers.

"It's a repeat of what happened in the PC industry. We want to make sure there's an alternative," Rubin said. But Google doesn't want to be the sole gateway to its software. "We wanted to make sure there's not a single source, (so) if a carrier or user or third party encountered a problem, they could fix it themselves."

Android is massive open-source project--or at least it will become one when the first phones start shipping later this year. The recent version 2.6.24 of the Linux kernel has about 8 million lines of code, but about 8.6 million lines of Android's 11 million are open-source, Rubin said.

Android components that will emerge as open-source software include Nuance's speech-recognition software and PacketVideo's music and audio decoder. Google also has been working to obtain hardware specifications to support mobile-phone chips from Qualcomm, Broadcom, and Sirf, he said. "You'll see our stuff being the first Linux on Qualcomm," Rubin said.

Closed first, then open
But that open-source release will be complex. Depending on how it manages the task, Google could face praise or scorn later this year when it unleashes that code upon the world. The hardest part is not just sharing the code, but in integrating outside developers into a project that's been growing within a company's confines.

There's nothing technically wrong with an open-source project that's solely run by a single company, but it's rarely any company's open-source goal. It's not likely to attract outside coders who want to make a name for themselves by adding important new features or corporate allies that might fund their own contributions.

Google's closed start doesn't sit well with Red Hat Chief Technology Officer Brian Stevens, whose company is among the most aggressive advocates of open-source software.

"I think that decreases their chance of success more than it increases it," Stevens said. "It's preventing the participation of many smart developers who want to get involved in the development of the Android platform...The community comes at the early inception of a product, not when you decide you're ready to ship a product."

Mike Schroepfer, Mozilla's vice president of engineering, added that in general, corporate attempts to make open-source projects out of proprietary software are often hampered by an unwillingness to share control.

"People think publishing the source code is the hard part, but the harder thing by far is having open participation in the decision-making--distributing authority outside your four walls," Schroepfer said. "Where some of these really go wrong is when people aren't empowered and their voices don't matter, they're not going to do participate."

Google won't face the challenges of full-on proprietary software going open-source, though, said Redmonk analyst Stephen O'Grady: the open-source move is part of the Android plan, not a development that arrived years later.

The open-source hand-off
Google has its reasons for the closed start.

"We want to get to the point where it's stable enough," Rubin said. Then, after the open-source change, "We want it to be thriving."

The software components that constitute Android.

The software components that constitute Android.

(Credit: Google)

The company is working on the hand-off to the outside world. Android already is a project whose development is distributed among the Open Handset Alliance members collectively backing Android, for starts, as well as among multiple international Google offices. "We're learning how to do a large-scale distributed effort," Rubin said.

The company also has a team more 10 strong working on external developer relations for Android, Rubin said. That team that will grow larger once the code is released and absorbs the Google "maintainers" in charge of Android components, such as its Dalvik virtual-machine software for running applications written in Java.

Google's team under open-source project manager Chris DiBona, combined with some from the Android project, will work with outside programmers, Rubin said. "The developers I have on core development of this, when it gets open-sourced, will move over and will be coding for the open-source tree," or code base, he said.

Google also is taking a community-centric approach to defining what Android is. Project maintainers get to accept or reject contributions, as is common in the open-source realm. What's new is that Google will offer a certification test suite that's based on those maintainers' work in order to maintain compatibility among different versions of Android.

"If it passes, then they get to use the Open Handset Alliance Android trademark name," Rubin said. "We're not saying you can't branch. We're saying you don't want to branch."

Licensing choices
Google has been criticized for not working with existing open-source projects. In addition, Sun Microsystems has expressed concern that Google's development of Dalvik could fragment the Java world so that Java software for running Android applications wouldn't work on other Java phones and vice versa.

A sample Android application, AndroidGlobalTime

A sample Android application, AndroidGlobalTime

(Credit: Google)

But Google chose to go it alone with Dalvik and some other projects for one big reason, Rubin said: it wanted to avoid the GNU General Public License (GPL). The pioneering license that serves in effect as the manifesto of the Free Software movement requires that software projects derived from a GPL product also be released under GPL. That concept in effect requires reciprocity: if you use GPL code and distribute the resulting software, you must contribute your changes back to the GPL code base.

Google didn't want to raise that issue, uncharitably referred to as the GPL's "viral" nature, for phone makers that might want to add proprietary features as a way to differentiate, so it chose the less confining Apache License, Rubin said.

"The thing that worries me about GPL is this: suppose Samsung wants to build a phone that's different in features and functionality than (one from) LG. If everything on the phone was GPL, any applications or user interface enhancements that Samsung did, they would have to contribute back," Rubin said. "At the application layer, GPL doesn't work."

Of course, giving back is precisely one of the intents of the license, which Richard Stallman initially wrote to govern a clone of Unix that couldn't be made proprietary; many companies have embraced the GPL, including initial skeptics such as Wind River. And other embedded-computing efforts are using GPL software more widely.

"It's a pretty conservative interpretation," Bruggeman said of Google's GPL stance.

Open-source advocates long have wrestled over whether it's better to permit companies to make code proprietary, as the Apache License permits, or to compel them to keep it open, as the GPL requires. Even though Android uses the Linux kernel, which is governed by the GPL, don't expect Google's position to put an end to this debate.

For that matter, don't expect Rubin's present thoughts to be the final word. The company has shown itself willing to change.

"Here's what I think. No. 1, they're learning as they go," Bruggeman said. "No. 2, they learn really fast."

Stephen Shankland covers Google, Yahoo, search, online advertising, portals, digital photography, and related subjects. He joined CNET News in 1998 and since then also has covered servers, supercomputing, open-source software, and science. E-mail Stephen.
Recent posts from Underexposed
Canon fix looks good for SLR's 'black dot' glitch
iPhoto update helps show merits of geotagging
Google to release Picasa beta for Mac
Need an SLR for traveling? Props to Olympus E-3
A computer revolution through a child's eyes
iPhone claims high-ranking spot on Flickr
'Tis the season to Crave: Stephen Shankland's picks
FixMyMovie forsakes the cloud for PC software
Add a Comment (Log in or register) 11 comments
by rtuinenburg May 22, 2008 6:15 AM PDT
Google is wrong in this case concerning the GPL license. I can see their point about GPL not working on an application level. Android would not be an attractive platform if companies cannot compete based on features. Hardware manufactures are always going to follow the money, and if Android does not create a competitive environment to make money, then Android will not be a choice platform for these companies.

BUT

I believe cell phone hardware will become unambiguous one day (very soon), because all you really need is a small device with a touch screen, and some basic common chips (GPS, 3G capabilities). With the touch screens ability to change on the fly, the GPL license becomes a gateway to the open source community being able to foster great innovation on an application level.

I say, "Google release this unambiguous device so the open source community can create kick ass applications and share them with the world to enjoy"
Reply to this comment
by rtuinenburg May 22, 2008 6:16 AM PDT
Google is wrong in this case concerning the GPL license. I can see their point about GPL not working on an application level. Android would not be an attractive platform if companies cannot compete based on features. Hardware manufactures are always going to follow the money, and if Android does not create a competitive environment to make money, then Android will not be a choice platform for these companies.

BUT

I believe cell phone hardware will become unambiguous one day (very soon), because all you really need is a small device with a touch screen, and some basic common chips (GPS, 3G capabilities, etc). With the touch screens ability to change on the fly, the GPL license becomes a gateway to the open source community being able to foster great innovation on an application level.

I say, "Google release this unambiguous device so the open source community can create kick ass applications and share them with the world to enjoy"
Reply to this comment
by aqvarivs May 22, 2008 7:52 AM PDT
You can't have it both ways. Allow for independent addition/enhancement ownership and also have that effort returned to the general user core. I'd say Google is doing the right thing for the industry. Perhaps not the right thing to expand GPL community egotism but a good balance of both worlds that will encourage the total usability. One big issue I have with GPL is the lack of concise amalgamation concerning the end product for the end user. Each release requires consummate skill/understanding on the part of the end user and most corporate or personal users don't have the time or inclination to be that involved. In general people are looking for solutions not needy software core relationships. I think Google understands this. Microsoft software is plug and play. This software will be plug-tweak and play. Nicely done.
Reply to this comment
by The_Decider May 22, 2008 10:54 AM PDT
You total misunderstanding of OSS and its usability is laughable. Especially given the fact that Linux works straight out of the box in most cases, unlike Vista and even XP. End-users don't need to be involved at all, why would you think that?

Look at Office 2007, there is a steep learning curve for very little functionality, even for people knowledgeable of 2003. Open Office 2.4 added more than a few features, no new learning curve, OO 3.0 is shaping up in the same way.
by Mr. Dee May 22, 2008 11:13 AM PDT
Sounds like too much complexity, I would stick with Apple's iPhone OS for the iPhone and or Windows Mobile. Those projects seem more structured and guaranteed, in fact they have shipping products that are proven which is a plus for any developer. Android is looking more like vaporware and Google's dream of becoming the Microsoft of the future of trying to be all things without concentrating on something they are really good at already (Search). Microsoft took baby steps before they reached where they are, it has taken them 30 years, Google wants to do that in just 15! Ridiculous! Mark my words, Android will be a failure initially and perhaps a lesson to the Company to play it safe, I see Android itself being given away to the Open Source Community, not maintained and eventually killed.
Reply to this comment
by Stomfi May 22, 2008 11:49 PM PDT
Microsoft took a planned path. Development of its current offering was already completed by the likes of SGI with their Indy workstation in the 80s. Microsoft got the leg up by being IBM's OS supplier for the IBM PC intelligent terminal for the IBM mainframe also at the same time.
It was IBM marketing that put a PC in every home. Microsoft has made lots of money from the gullible public by selling incremental pieces of an 80's workstation. That's why it's taken 30 years. More money for Microsoft.

Now its definitely end of life for a product that was just another step on the way to a useful computer system in the 80's, and everyone in the industry with any technical know how, except Microsoft fans and shareholders, no this is true. So they obviously don't want Microsoft to control and hold up development in other parts of the computing network like they have with their anolomous desktop product.

Everyone competing with Microsoft dominance will support Android, just like they do with Linux. Some companies like SUN and Novell live by doing deals with Microsoft, so expect them to complain, but the rest are sick of the intelligent terminal approach behind the Windows platform, and want to see rapid forward movement in the industry.
by HealthyElijah May 26, 2008 5:51 AM PDT
You better have a big spoon to eat those words!!! Gulp
by t8 May 22, 2008 3:07 PM PDT
Mr. Dee, remember your words in 3 years.

"I think there is a world market for maybe five computers."
Thomas Watson, chairman of IBM, 1943

Android is looking more like vaporware...
Mr. Dee 2008
Reply to this comment
by t8 May 22, 2008 3:08 PM PDT
Mr. Dee, remember your words in 3 years.

"I think there is a world market for maybe five computers."
Thomas Watson, chairman of IBM, 1943

Android is looking more like vaporware...
Mr. Dee 2008
Reply to this comment
by HealthyElijah May 26, 2008 5:53 AM PDT
Microsoft is going DOWN!!!
Reply to this comment
by ptzkiler June 9, 2008 2:24 AM PDT
No I never think Microsoft never going down.Because the caught the market..Hey fnd look if we count there are many users here use windows xp or vista operating system so how do we expel microsoft going down????
Reply to this comment
advertisement
Click Here

In the news now

Apple: DRM-free tunes, unibody MacBook Pro

roundup At Macworld, Phil Schiller touts 10 million songs sans DRM, plus 69-cent songs, a unibody 17-inch notebook, iLife updates, and more.


Countdown to CES

special coverage The tech community descends on Las Vegas as the Consumer Electronics Show gets ready to kick off in all its gadgety glory.


About Underexposed

This blog sheds light on digital photography subjects such as cameras, photo editing, and Web sites. Shankland joined CNET News in 1998 after a five-year stint as a science writer. He's a lab rat who grew up in Los Alamos, N.M., and graduated from Harvard.

Contact Stephen at Stephen.Shankland@cnet.com

Add this feed to your online news reader

Underexposed topics

advertisement

Inside CNET News

Scroll Left Scroll Right