Hacker News new | ask | show | jobs
by nas 3488 days ago
The Android open source community is deeply unhealthy, IMHO. Compare the pile of shit that is XDA vs a well run open source project. Most of the stuff posted there has no way to verify the source code, binaries download from sketchy sites, no issue tracker. If you have the stomach to wade through the cesspool of XDA threads, you will find the majorly of posters parroting cargo cult ideas (e.g. wiping battery stats to improve battery life). This is not the way to advance technology.

Personally, I think Google is a lot to blame. They really don't care if Android is an open source platform and they don't foster an open source community building on it. So we have basically a mod scene that hacks binaries and passes around dirty hacks that break on every new release. I don't think the work done by the modders end up going back into the official source repo. So much waste of developer time for no long-term progress.

1 comments

The biggest problem I see is (and there may be other biggies, but this is the one that has bitten me), is that device support in Android kernels never gets upstreamed to Linux. Not necessarily due to GPL violations, but because even though the device source tree is published, there's no one willing to shepherd the changes upstream (and many vendor changes are low quality, so it would be a lot of work). Typically even a Nexus device is stuck on the specific kernel version that it was released with.

Google is a little better on the kernel side, but in other ways, AOSP is even worse. There's lots of good stuff done in Cyanogen and OmniROM, for example, but there's no way to get stuff into upstream AOSP. Google just pitches something over the wall once a year and ROM developers have to rebase or re-implement their ROM features.

The problem is that Linux's kernel interface isn't stable, so a module written for one kernel release won't work on another, and (AFAIK) they don't do major-minor releases (like PHP,Apache) where, say, the 4.0 kernel is stable and will stay stable for a few years. Rather, 4.1 could introduce braking changes as far as modules go.

And, unlike PCs, most phones don't have standard hardware, so someone kernel modules tend to be closed source and don't have "basic" mode.

As a result, to upgrade to a new Android release someone has to backport all new (kernel) features to old kernels.

If you upstream your drivers then the people who change interfaces also fix the modules that use those interfaces.

The problem is SoC manufacturers that don't want to put in the work to upstream drivers.

>The problem is SoC manufacturers that don't want to put in the work to upstream drivers.

They don't _open source_ their drivers.

Many (most?) of them do open source their drivers. But even then, no one is willing to do the work to upstream them.
They sometimes release the driver blobs so you don't have to rip them off the device, but rarely have I heard of drivers being open sourced outside of a few scattered instances.
Really? Where is the full Samsung blobless kernel?