LWN.net Logo

Advertisement

GStreamer, Embedded Linux, Android, VoD, Smooth Streaming, DRM, RTSP, HEVC, PulseAudio, OpenGL. Register now to attend.

Advertise here

ELC: Android and the community

By Jake Edge
April 14, 2010

Greg Kroah-Hartman delivered some "tough love" to Android in his keynote at this year's Embedded Linux Conference (ELC). He is very clearly excited about Android and what it can do—uses it daily as his regular phone—but is unhappy with Google's lack of community engagement. There is hope that things will change, he said; there has been a fair amount of "introspection" at Google that he hopes will lead it in a more community-oriented direction.

CE Linux Forum architecture group chair and ELC organizer Tim Bird introduced Kroah-Hartman by noting how many kernel subsystems he maintains: eight. The "amount of work that Greg does in the Linux kernel is really hard to comprehend", Bird said. In addition, he has a knack for "involving people in the community". Kroah-Hartman is "omnipresent" in kernel circles and "when he sees a problem, he just comes up with a solution for it". It would seem that the keynote was targeted at solving the "Android problem".

As part of his disclaimer, Kroah-Hartman noted that he comes at the problem as an experienced kernel developer who also has a background in the embedded space. While he works on MeeGo for Novell as his day job, "they don't even realize I'm here giving this talk". He also noted that he is only looking at the Android kernel, as the user space is "weird" and won't be part of his talk.

Five years ago, phone manufacturers approached the kernel developers because they wanted to use Linux on phones. They needed a stable kernel and X server, along with a free Java. The latter was the sticking point because, at that time, there was no free Java—and it isn't something that the kernel hackers could provide. But Android changed that, providing the third piece that the phone makers need.

He pointed out that all of the complaints he was about to make about Android could be fixed "tomorrow" and that the Android user-space applications wouldn't have to change at all. But it's not something that the kernel community can do alone, Google needs to be involved to change the libraries that make up the platform.

Right moves

There were several things that Google did right, Kroah-Hartman said, starting with its choice of Linux. In an aside, he noted that all phone manufacturers bring up their phones using Linux, including Apple with the iPhone; "a little-known fact". He also lauded Google for following the kernel license, which is something that Palm didn't initially do with WebOS, he said. He pointed to android.git.kernel.org as a "wonderful site" that contains all of the Android code in easily accessible Git repositories. But "that's all the good".

Wrong moves

The list of things that Google got "wrong" starts with android.git.kernel.org because it is so disorganized and chaotic. There are six different kernel trees available there with 33 separate branches. There are three branches of 2.6.34, which is "not even released yet". The trees go back to 2.6.25 and some of the older trees are still being updated. Some of the branches are for different hardware, but some aren't.

There are also things like an "old stale Linus tree" in the collection, along with two standalone drivers in a separate repository. One of those drivers has 13 branches, "not all for just one kernel version". There is also an empty repository—with four branches. "It's a mess", he said, and Google is "burying the code in public". That's a common thing for companies to do; "they are doing it well, and it's crap".

He looked at a branch based on 2.6.34-rc2, noting that there were 283 files changed, with 47,715 lines added and 363 lines removed. Half of that was driver code, 30% for filesystems, 15% for architecture-specific code, and the "really scary one" was the 5% that were changes to core kernel code. That "changes the kernel in ways that make it not Linux", he said.

Tons of drivers

Kroah-Hartman then went through a long list of drivers that were in Google's changes, but were not upstream. For most of them, there is "no reason this code needs to be out of the kernel". Some of the changes like the pmem driver, which the Google developers have publicly called "voodoo", and a logging infrastructure that should be done in user space, are not good candidates for the upstream kernel, but the vast majority is.

The big problem with all of this code is that it implements features and fixes bugs that others in the community need. Google rewrote the USB gadget code because the kernel version couldn't easily support multi-function gadgets in 2007, but never got it into the mainline. So, Samsung had to fix the mainline gadget code. The Android developers also fixed a "bunch of bugs" in the Bluetooth code, which is a "nasty protocol to get right", but they never pushed it upstream.

There are lots of small changes in various locations that make it much harder for those who want to port Android to new hardware, he said. Missing a three-line change in the inotify code will cause some applications to fail. There is also a special Android-specific /proc file type that needs to be ported into any kernel bound for Android. And on and on.

Wakelocks

One of the big problems with much of the Android code is wakelocks, which are an Android-specific power-management feature. There are wakelocks in "every Android driver", but wakelocks are not in the mainline. Kernel developers have tried tearing the wakelocks out of the drivers, but then the code diverges quickly. The right solution is to get wakelocks upstream, which has gotten close to happening, but hasn't.

Wakelocks are a good example of how Google is ignoring the community, Kroah-Hartman said. The wakelock code would be submitted for inclusion, there would be some discussion and then the Android developers would "disappear for six months". When they returned, the process would start over. The solution is to "submit and be persistent", to answer the questions, and participate in the discussion. Wakelocks were "one patch submission away from being accepted", he said, but the developers disappeared again.

Ignoring the community

Google is allowed to ignore the community, but "it's sad". He took the Android drivers into the staging tree and Google said it would help get them into mainline shape, but they didn't. So Kroah-Hartman had to remove them, which means that no one else gets the benefit of those drivers. When the drivers were in the staging tree, Fujitsu was working on fixing bugs in the Android low memory killer to use on their "big supercomputer stuff", but now that work has been dropped.

The community wants the code, but Google thinks that it's unique and doesn't need to work with the community. "Don't think you are unique, you aren't", he said. He was not picking on Google, because "this applies to everyone". Ironically, the Google server folks would like to use some of the changes that are in the Android tree, but they aren't upstream.

It's just a fork

Google's response has been that "it's just a fork, no big deal". Every embedded shop has done a fork and it is abiding by the license, "so who cares?". But Kroah-Hartman wants to see the Android platform succeed and Google is making its partners' jobs harder by making them depend on extra code that needs to be ported to their hardware. In order for the platform to succeed, Google needs to work with the community. If it wants to do it alone, "that's fine", but "they don't and we don't want them to". He noted that Qualcomm, a company not noted for community engagement, had approached the kernel developers complaining about the Android situation, which is a glaring indicator of a problem.

That was the end of the "fire and brimstone" portion of Kroah-Hartman's talk. Looking to the future, he said there is "hope" (accompanied by a slide of the Android logo in the style of Shephard Fairey's iconic Barack Obama "Hope" poster). There will be a meeting very soon where the kernel hackers and Android developers are going to "lock themselves in a room and hash this all out", he said.

For vendors using Android, Kroah-Hartman recommended that they "push on Google to make these changes", and that he will be "pushing as hard as I can on the kernel side". He pointed out that it takes less time to get the code upstream than will be spent maintaining it moving forward. Android is "not an end-of-life project", with 50 new handsets announced at the last trade show. "It's not that much work, truly", he said, and there are plenty of consultants that would be willing to help if the Open Handset Alliance wanted to fund this work.

It was noted that no one from Google attended the talk, and an audience member asked how that could be. Kroah-Hartman seemed a bit disappointed that there were no Google representatives, and did say that they had been invited. Perhaps it was the "long drive from the South Bay" that kept them away, he noted wryly. It may also be that memories of his Canonical bashing from the 2008 Linux Plumbers Conference linger; Google folks may not have wanted to sit through something like that.

The Android user space is "divergent from everything you ever thought about Linux user space", which is "great", he said. The idea that you can run something entirely different on top of the kernel makes it very interesting. Google could replace Linux with BSD or something else and all of the applications would still run. But Kroah-Hartman would like to see "Linux succeed for this market" and Google has followed the kernel license as they should; "I want to reward them for that". He has offered to help before and reiterated that offer. It's clear that he is a big fan of the platform, and is just trying to help fix the problems that he sees.


(Log in to post comments)

ELC: Android and the community

Posted Apr 14, 2010 20:57 UTC (Wed) by yanfali (subscriber, #2949) [Link]

Even more puzzling, kernel hacker and author of a book on Linux Kernel Development, Robert Love, works on Android.

ELC: Android and the community

Posted Apr 14, 2010 21:47 UTC (Wed) by Trelane (guest, #56877) [Link]

This has also puzzled me. From what I can tell, Google's been kind of a black hole of linux folks: they go in and then they're never heard from (on a collaborative role) again. :(

ELC: Android and the community

Posted Apr 15, 2010 4:11 UTC (Thu) by leiz (subscriber, #46265) [Link]

Counter examples: Andrew Morton, Ted Tso. Plenty of Googlers are active in the Linux (and open source) community. I.e. http://google-opensource.blogspot.com/2010/04/google-at-l...

ELC: Android and the community

Posted Apr 15, 2010 15:42 UTC (Thu) by zooko (subscriber, #2589) [Link]

I suspect Andrew Morton and Ted T'so have unique arrangements with Google. In fact, is OSDL actually still *funding* Andrew Morton? This article -- http://www.linuxtoday.com/developer/2006080303126NWCYKN -- says that OSDL was funding him and Digeo was just providing him an office to work in so that he didn't have to work from home, and that once he joined Google "His relationship with OSDL is unchanged.".

I know a couple of Free/Open Source hackers who have disappeared into the google black hole. It makes me sad. Not only do they stop contributing patches to open source projects, they also stop blogging and otherwise just disappear from the Net.

ELC: Android and the community

Posted Apr 15, 2010 16:14 UTC (Thu) by lutchann (subscriber, #8872) [Link]

Many of the people I know who work for Google disappeared from their social circles as soon as they joined the company. It seems Google is exceptionally good at getting their people to trade their personal lives for their jobs. It's sad; otherwise I would be a lot more interested in working for them.

ELC: Android and the community

Posted Apr 15, 2010 17:17 UTC (Thu) by bronson (subscriber, #4806) [Link]

This would make an awesome LWN article. "Google and the Mystery of the Disappearing Open Source Hackers."

Hoping someone with a keen sense of humor could write it.

ELC: Android and the community

Posted Apr 15, 2010 17:34 UTC (Thu) by cry_regarder (subscriber, #50545) [Link]

Also look at "Google and the Mystery of the Disappearing AI Researcher"

ELC: Android and the community

Posted Apr 15, 2010 19:16 UTC (Thu) by cdibona (subscriber, #13739) [Link]

Which shows someone has let his journal subscriptions lapse. Similarly, we've released upwards of 17m lines of code over the last 5 years. YEs, developers ebb and flow out of open source when they work here. I don't think that matters.

also:

AKPM is a google employee and osdl isn't paying his salary anymore.
Robert Love isn't on the android team.

If you actually are interested in reading further, Brad Fitz wrote the following on the topic:

http://brad.livejournal.com/2409049.html

It's pretty insightful.

ELC: Android and the community

Posted Apr 15, 2010 23:00 UTC (Thu) by bronson (subscriber, #4806) [Link]

Oh, this was meant in good fun. Google's been an outstanding contributor to the industry and open source. (now if we could just get the Android team to avoid source drops...)

A new section?

Front page
Security
Kernel development
Assimilated hackers

ELC: Android and the community

Posted Apr 16, 2010 0:00 UTC (Fri) by cdibona (subscriber, #13739) [Link]

Other sections:

Antisocial Hackers (password required)
Introverts (0 comments)

ELC: Android and the community

Posted Apr 19, 2010 12:01 UTC (Mon) by lmb (subscriber, #39048) [Link]

The link to Brad's journal is indeed very interesting; thanks for that. It is not without irony to correlate his remedy for why people prefer the Google internal development environment with the discussion here - his request for making Open Source projects more accessible is exactly what people complain about with regard to Android. Foot -> mouth, I think. ;-)

Something like this

Posted Apr 15, 2010 21:24 UTC (Thu) by man_ls (guest, #15091) [Link]

The grumpy editor's guide to disappearing inside Goog

Something like this

Posted Apr 17, 2010 6:29 UTC (Sat) by speedster1 (subscriber, #8143) [Link]

That was classic!

ELC: Android and the community - a Userspace perspective

Posted Apr 14, 2010 22:52 UTC (Wed) by jhhaller (subscriber, #56103) [Link]

While Greg wasn't talking about the userspace, there are a different set of issues there. The primary issue is that while the pieces are there, the userspace does not seem to be run with community input in mind. There is a bug tracking system, and a GIT repository, but there the similarities end. Perhaps the phone manufacturers have a closer pipeline, but that's not even clear.

The bug tracking system uses "starring" issues as a way of showing the most popularly requested changes. Unfortunately, it seems to mix feature requests with bugs, and the way either get assigned to people is obscure at best.

The GIT repository seems to be a periodic dump of some other repository - whenever there is a release, there is a big changeset introduced. Little or none of the intermediate changes from the previous releases are visible, which makes it hard to understand why certain changes were made.

One bug I found in the calendar program had been reported by other people. I looked at the source, found someone added a bunch of code which seems to be the source of the problem, and added that information to the bug. But, without changelogs, it was not clear why that section of apparently completely unnecessary code was added. I can understand that Google may not want to expose the email addresses of their developers to the outside world, nor flood them with complaints of inadequate copy-paste support. But there needs to be some compromise way of screening the "yeah, I have that problem too" type of email from getting to Google developers, while still allowing the pearls to flow through.

ELC: Android and the community - a Userspace perspective

Posted Apr 14, 2010 23:58 UTC (Wed) by alvieboy (subscriber, #51617) [Link]

I'd say this relates to complete lack of processes. Sometimes people just have to sit down and decide how things are supposed to flow, and how to overcome difficulties, and have a simple but clever plan. Apparently there's no such plan in Android. I think this is because it has gotten to much visibility in quite a short time. Not sure. What I do know is we (the gta-02 core people, OpenMoko GTA02 owners) never got android working well on our platform. Also most patches I believe never made to the main line (Koolu did most of the "port", I have not followed developments on that so I might be biased here).

They however managed to design and implement repo/gerrit. I see those projects as nice, but again not quite ready for production use.

Álvaro

ELC: Android and the community

Posted Apr 15, 2010 7:09 UTC (Thu) by djc (subscriber, #56880) [Link]

I hate the lack of community around Android. It's open source without the open source.

ELC: Android and the community

Posted Apr 15, 2010 7:37 UTC (Thu) by svkelley (guest, #37299) [Link]

Agree, Android's user space is a dead zone of code drops out of some black hole inside Google through Perforce...

ELC: Android and the community

Posted Apr 15, 2010 16:56 UTC (Thu) by cdibona (subscriber, #13739) [Link]

That's kind of bs. Open source software is software released under open source licenses. You may not like the way we interact with people who are not at google or the chipset vendors/carriers/handset makers, but it doesn't mean that the work isn't overwhelmingly opensource under real licences that encourage reuse.

ELC: Android and the community

Posted Apr 15, 2010 18:11 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link]

Technically what you claim is true but there are community norms and expectations around how open source projects generally work and the culture surrounding that processes. Those are not necessarily written in stone but if you steer away from them, you will continue to be criticized for it. Hardly unexpected.

ELC: Android and the community

Posted Apr 15, 2010 19:09 UTC (Thu) by cdibona (subscriber, #13739) [Link]

No, you're right not unexpected, but disappointing. Android is the closest we as a group (a movement?) have come to a truly free, currently viable, handset under real and permissive licenses, that has brought Linux and open source software into the hands of millions.

ELC: Android and the community

Posted Apr 16, 2010 0:54 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

I don't think popularity is enough to avoid criticism. On the contrary, look at Apple and the practices with iPhone. Sure, they are damn popular but there are strong critics as well. The Android effort would be ignored rather than criticized if it was not popular. You can be quite happy that so many people care enough about Android to want it to succeed and act as a community well integrated into Linux and working as any other regular open source project rather than it's own world.

ELC: Android and the community

Posted Apr 20, 2010 0:15 UTC (Tue) by akumria (subscriber, #7773) [Link]

Oh, please.

Google's Android was not the first attempt at this, nor will it be the last.

Linux is too compelling for any embedded developer to NOT use.

There is even a question about whether Android is/will be more successful than Nokia/Intel MeeGo.

Both Nokia and Google (indeed any company) will always draw complaints about not handling things as best as they can when dealing with Free Software.

What matters is the response they tend to take -- and are perceived to take.

The perception of Google is:
- ignorance; of the problem
- annoyance; that this is an issue
- defensiveness; why can the engineers directly defend their actions rather than having a "name" (like yourself) wade into the fray.
- defensiveness; other Google people pointing out how they are excellent in some other area. That is fantastic but distracts from this problem area.

The perception of Nokia is:
- acknowledgement; they see the criticism and write up how they perceive they were critisied
- action; they take action in the face of that critisim - not all good - but intended to address the highlighted problem
- feedback; they willingly solicit feedback on their acknowledgement and actions
- review; they do their own review on their actions and feedback

The only way you are going to evolve from one perceived style to another is via active engagement. It will take time, obviously, but a good review point would be six months.

Let's see how things have changed then.

ELC: Android and the community

Posted Apr 15, 2010 18:15 UTC (Thu) by djc (subscriber, #56880) [Link]

It just seems sad that the value of all that code is diminished significantly by the lack of a community around it (or actual reviewable changesets, or a bug tracker that gets used by the developers).

And I don't really understand why this is. Sure, one part of it is that you can't disclose things you're doing with secretive hardware partners, but that doesn't mean that there shouldn't be public code owners for each Android app that I can have a honest discussion with, at least (or ask how they would like me to implement my pet feature).

ELC: Android and the community

Posted Apr 15, 2010 18:26 UTC (Thu) by Trelane (guest, #56877) [Link]

You may not like the way we interact with people who are not at google or the chipset vendors/carriers/handset makers, but it doesn't mean that the work isn't overwhelmingly opensource under real licences that encourage reuse.
Well, it seems pretty clear from the comments here, referenced from here, and the lack of community around Android internals that "you may not like how we do things," when true of a large enough portion of the population, creates a lack of community, which is what's being discussed. I could also make millions of small commits (perhaps changing one letter at a time) or I could strip out all the comments and use arcane symbol names (or use an extremely minority dialect such as Plattdeutsch) but yet have it GPL and your argument above would still apply. The license is a critical piece of the overall picture, but it's only a piece.

ELC: Android and the community

Posted Apr 15, 2010 19:04 UTC (Thu) by cdibona (subscriber, #13739) [Link]

You mean "Creates a lack of community" that you identify with. I don't want to sound ...well..un friendly, but android may not necessarily want to grow a community like that which you might be used to.

Also, I might ask, which communities of -developers- do you admire that you think that android should model on? A standard distribution?

The word community is nearly totally meaningless without describing what you mean, and more importantly in this context, why you think Android should have that kind of community.

From an intake persepctive, they've worked with, solicited and taken a variety of patches from a community of developers outside of google, but most of these come from developers within the handset, carrier and chipset 'community' more so than some unicorn developer community that everyone seems to have a flavor of in their head.

ELC: Android and the community

Posted Apr 15, 2010 20:41 UTC (Thu) by Trelane (guest, #56877) [Link]

some unicorn developer community that everyone seems to have a flavor of in their head.
Is this Official Google Position, that those outside Google and their official partners are a "unicorn developer community"?!

ELC: Android and the community

Posted Apr 15, 2010 22:05 UTC (Thu) by cdibona (subscriber, #13739) [Link]

Nope, but it is hard to address the concerns of people about the lack of community when in fact there is one. It is difficult to even converse about it when one persons community looks like drupal, while another like samba, while still another like the kernel.

ELC: Android and the community

Posted Apr 15, 2010 22:25 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

the common thing about all those communities is that they do more than just code dumps at every release.

they allow people who are not yet part of the project to see what they are doing, including how and why something is done.

if you only do one checkin per release, then you may as well just publish tarballs, a VCS is of limited help.

This is one huge portion of the problem that is being called out.

ELC: Android and the community

Posted Apr 16, 2010 2:44 UTC (Fri) by Trelane (guest, #56877) [Link]

Plus, it's hard to winnow out which particular commit broke something; you're stuck with a ginormous monolithic patch. And sadly, not the 2001 type.

It's not quite as bad as tarballs (in the kernel, you'd have to first generate the patch) but it's not far off.

And then the other thing of there are people interested in using the tech in other places (the supercomputing thing in the article above) but are stopped by Google's foot-dragging. This is hardly ideal.

It may be the minimum required, but do you want to just have the minimum pieces of flair?

ELC: Android and the community

Posted Apr 20, 2010 19:31 UTC (Tue) by Epicanis (guest, #62805) [Link]

Reminds me of the "what is it with Linux people?" comment from the "Android Open Source and Compatilibility Lead" in the last thread on this topic. There definitely SEEMS to be a firm cultural attitude at Google that they not entangle themselves with "Linux" more than absolutely necessary.

It sounds an awful lot like Google would rather have android be "not Linux" in some fashion, perhaps instead "based on" Linux in the same way that some Disney movies can be said to be "based on a True Story". I hope this is just me being cynical, though.

ELC: Android and the community

Posted Apr 15, 2010 20:42 UTC (Thu) by Trelane (guest, #56877) [Link]

android may not necessarily want to grow a community like that which you might be used to.
What kind of community are you trying to grow?

ELC: Android and the community

Posted Apr 15, 2010 21:36 UTC (Thu) by Trelane (guest, #56877) [Link]

(to be clear to you here, I'm not a Google hater. I think GOOG is under a smear campaign from MSFT (e.g. on the privacy front) and I try to defend it when I see it come up.

I really want to love Android and Google; lots of good things have come from Google. But it seems to me that in <i>this particular case</i> you don't want anyone from the "outside" (i.e. outside Google and handset OEMs and carriers) to be let in to the party. From the article, it is clear that this is leading to additional work on your end and generally isolation of Google from the rest of, well, everybody who's not in your list of People Google Cares About. I'm apparently in the group of People Google Doesn't Care About (unless you want money from me). I kind of take offense at that.

Please be clear: what kind of community do you wish to foster with Android? This seems like the key point here.

ELC: Android and the community

Posted Apr 15, 2010 22:16 UTC (Thu) by cdibona (subscriber, #13739) [Link]

Honestly, I'm not sure you can plan your community like that (you can try, but I don't think that's how it works). I consider certain minima to be important:

1) the technical interaction with people outside the project (which we do in spades, but not for every part of the stack)

2) Proper, real, oss licensing so others can even consider taking part without having to contort.

3) An eng staff on the google side that knows that they can work with people outside the company.

What I don't think is my role is to tell the Android team 'you must take a patch' or set some minimum number of patches that must come from 'outside'. They're simply under enough pressure that they don't need me to do that, nor do I think it would be ipso facto reason enough to change what isn't fundamentally broken.

Also, I'm not sure I actually believe in an outside/inside distinction. How is it possible that someone 'outside' can be part of the community? So...."what do you mean by community" is the existential crisis that we must think about, and we should think about it while also making shipping deadlines...

Anyhow, thanks for the kind words regardless. I've tried to not sugar coat this, android and its developers probably are what people want -technically- from a handset project, but there is a clear desire for 'more' that I don't think google will be able to satisfy in the short term. Our priorities are on iterating the os and stack first and everything else second, third and so on.

With hiring and some tweaks of internal processes we might be able to make a few more people happy, so I think that the only thing that will 'fix' this is time. That said, I suspect in 2 years I'll be talking about some practice someone has glommed onto on some google project that they disagree with. But, so long as code is releasing, I'm pretty happy :-)

ELC: Android and the community

Posted Apr 15, 2010 22:32 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

in this case 'outside' means people like the linux kernel developers who don't work for google or the companies that you have decided that you care about enough to consider 'inside'.

a community is not a collection of people and companies that you (google) decide should be part of the community. A community is those people _plus_ others from outside that group who have enough interest in the project to participate (and participate may be testing, documentation, and even bikeshedding as well as submitting code)

in the case of the android kernel modifications, there is lots of evidence that people are interested in being part of the android community, but google appears to be saying that you are not interested in allowing those people to be part of what you have defined as the android community.

ELC: Android and the community

Posted Apr 16, 2010 15:28 UTC (Fri) by mdz@debian.org (subscriber, #14112) [Link]

In talking with a number of organizations about what's involved in running an open project (hint: more than just licensing), I wrote a blurb at http://mdzlog.alcor.net/2009/10/26/open-vs-open-vs-open-a... to use as a reference.

I think what you're seeing here is people wanting to see Google move more toward the latter end of this continuum.

ELC: Android and the community

Posted Apr 19, 2010 11:56 UTC (Mon) by lmb (subscriber, #39048) [Link]

I very recently moved away from a Symbian phone to a Nexus One, partly because (with the exception of MeeGoo, where I didn't find a handset I liked) Android is the closest we currently have to an Open Source environment. I'm throughly impressed with the platform.

It was strange to be paying for applications again after 15 years on Linux! ;-)

I also understand there may be some things like regulatory requirements that make fully open code out of the box a bit difficult in some areas. That's fine, but there are quite a number of areas that shouldn't be affected.

In any case, I encountered a few small bugs - in areas like contact syncing or the mail client, that I thought I could fix. Finding out that the Android code repositories were a few months out of date (and documentation seems to be something that happens to other people) quite put a dent into that.

I could see that, maybe, Google is not actually interested in community contributions; licensing reasons come to mind, or whatever. (Perish the thought that it might be a desire to push people towards paid apps for which Google receives a cut of the transaction.) But, why then make the code fully available at all? What kind of goals are being pursued here?

Sure, for kernel changes, it's a compliance thing. But the whole platform, even code written from scratch, is GPL'ed. I like that, but what's the point? Who benefits from not having a feature-rich calendar or bug-free mailer as part of the base? (Note that the replacement applications I installed for these needs turned out to be free, even without the AdMob crap, so the paid app argument doesn't apply.)

It looks as if Google's position on this platform is somewhat inconsistent, and this creates an expectation mismatch.

ELC: Android and the community

Posted Apr 19, 2010 16:12 UTC (Mon) by jeremiah (subscriber, #1221) [Link]

Reading between the lines here, it looks like you're all just sling code as fast as you can to meet deadlines and what not. Where as the OSS community generally deals with deadlines a little differently than commercial organizations. There seems to be a little more flexibility in OSS timelines. It can make working with outside people difficult, because you've got problems to solve as opposed to focusing on cleanup, refactoring, and documentation. I'd imagine that a large amount of your communications are offline and in real-space etc. One of the ways we've tried to deal with the internal/external problem is to put someone in charge of it, and only it. Their job is to run around, and figure out WTF is going on, and to make sure that patches and information hit the street faster, without making your over-stressed deep-coders have to worry about it. I'm not saying this is an ideal solution, but might be some food for thought.

ELC: Android and the community

Posted Apr 15, 2010 8:04 UTC (Thu) by juriise (guest, #38305) [Link]

"In an aside, he noted that all phone manufacturers bring up their phones using Linux, including Apple with the iPhone; "a little-known fact". "

How can this be correct?

ELC: Android and the community

Posted Apr 15, 2010 8:12 UTC (Thu) by morganr (subscriber, #43385) [Link]

Well I imagine the engineers at apple compile a linux kernel for their ARM-based system-on-chip that allows them access to all of its in-built devices. Starting with a known-good kernel/toolchain when debugging the hardware is a good idea! In the future they may well be able to use the iPhone OS to do this, if the HW stays close enough to previous versions.

ELC: Android and the community

Posted Apr 15, 2010 12:02 UTC (Thu) by mcon147 (subscriber, #56569) [Link]

what does it mean specifically to "bring up their phones" ?
From those words it sounded like booting

ELC: Android and the community

Posted Apr 15, 2010 12:34 UTC (Thu) by wookey (subscriber, #5501) [Link]

It means initial bringup, when the new hardware arrives and you're not sure what works and what doesn't. You sit a hardware engineer down with a kernel hacker and they try to work out who's fault it is that things are broken. Hours of fun...

ELC: Android and the community

Posted Apr 15, 2010 12:48 UTC (Thu) by tialaramex (subscriber, #21167) [Link]

When you've designed a complicated piece of consumer electronics you send off for the first boards to be made, and at that point what you have is a non-functional object.

You know it should be able to display an animating clock, play a movie, read SD cards, etc. but it just sits there.

The process of getting it so that it'll do something is "bringing it up". This is where you find out any hardware problems that weren't in the simulation. If you're very good or very lucky there won't be too many, but there will be a few. Your objective is to check that all the intended features are there, and any problems can be worked around, or else you re-design and go around the loop again. A command line app that can detect the touch sensor raw output proves that's wired up correctly for example, no need to wait for the whizzy UI that'll use it.

Usually the software that's eventually supposed to run on this device does not yet exist. Probably the schedule says it will be available "next week" but it said that last month too. Even when it does exist, it is untested, and the combination of untested hardware and untested software is a recipe for frustration. So using Linux for "bring up" even when you intend to develop something in-house for the finished consumer product could make sense.

ELC: Android and the community

Posted Apr 15, 2010 18:28 UTC (Thu) by Trelane (guest, #56877) [Link]

This is a very interesting discussion, particularly in light of the WePad demo debacle.

ELC: Android and the community

Posted Apr 17, 2010 18:30 UTC (Sat) by mgedmin (subscriber, #34497) [Link]

> the WePad demo debacle.

Link?

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds