Windows Phone Internals Opens the Custom ROM World for Lumia Phones
xda-developers.com
xda-developers.com
And even if the manufacturer publishes source trees for drivers, they're based on year-old kernel versions. Same goes for bootloaders.
And that's a problem for the entire embedded Linux ecosystem, not just phones.
I wonder what prevents the vendors from committing their drivers upstream? Can that be worked against, i.e. by the manufacturers or independent organisations financing people to integrate and maintain the drivers?
It 'd be a huge benefit for the entire embedded ecosystem if people could find and fix bugs in out-of-mainline drivers, there are a shitload of bugs in them.
edit: oh, and another thing, mainly concerning Android phones: the refusal of the Linux userland community to learn from Android and cut the craft accumulated in decades (x-server! the need for autotools which check for stuff that's been standardized for 10 years or longer without a way to cache certain tests systemwide! lack of really deep sleep, central to embedded systems! a shitload of "sound servers" resulting in 100+ms latencies!) to keep compatibility with even OLDER systems certainly does not help developers of alternative OSes.
Re: the reasons vendors never push code upstream, have you read http://lwn.net/Articles/662147/?
Only when the pain/cost of going out-of-tree is too high, vendors will be forced to listen to the FOSS community instead of their bonehead lawyers telling that "drivers are our IP!!!!!!!!!!!".
I'm shocked neither Heartbleed, Stagefright or that (iirc) Samsung kernel driver bug had enough of an effect. Or that Google does not require a (Github) published source tree for kernel+AOSP in order for certification.
Without a strong counterballacing party to that point of view, the default is always going to be closed with a collective shrug from developers that tacitly accept the "legal realities".
It will probly take a worm of sasser-like porportions on android to break this pattern of closed drivers that work on one 3 year old kernel that never get updated.
Even more, we need open OS's for mobile. There are no serious options beyond what the the market leader, Google, generously releases the code for: From what I can tell, almost all the 'custom ROMs' for Android phones are 99% AOSP [1] and do little to differentiate themselves from Android; by comparison, think of how different Linux is from Windows and MacOS. We need the BSDs, Linux distrbutions, GNUs, etc. for mobile.
[1] Android Open Source Project, the free/open source version of Android that Google generously releases for devs to hack on. (Maybe it would be better for the open source world if they had to develop their own.)
-----
EDIT: I might as well provide visibility to a few projects, though I know little about them; some might be defunct or dormant, for example. If someone can fill in details and gaps, it would help me (and others who are interested, I imagine) make sense of what's out there. Right now, I hardly know where to start.
* OpenPhoenux (http://openphoenux.org/): Several open hardware projects compatible with multiple OSes (imagine that - hardware on which you can install different OSes!), including the Neo900 discussed below and the GTA04.
* OpenMoko (http://openmoko.org): "a project dedicated to delivering mobile phones with an open source software stack. Openmoko was formerly associated with Openmoko Inc, but is nowadays simply a gathering of people with the shared goal of "Free The Phone"."
* Jolla and Sailfish OS (https://jolla.com): An open system thhat looks commercially designed. Decended from Meego?
* Meego and its many decendents: https://upload.wikimedia.org/wikipedia/commons/1/1b/Mer_and_...
* SHR (http://shr-project.org/): GNU/Linux based OS
* QTMoko (http://qtmoko.sourceforge.net/): "debian distribution for Openmoko Freerunner and Goldelico's GTA04 phone. Phone and user interface is based on QT Extendeded formerly known as Qtopia" defunct?
I agree completely that AOSP is a joke of an "open source" project and that it engenders complacency while not providing the benefits a truly open OS would.
We do have alternatives, but nobody is using them.
I've noticed that too. Imagine if Torvalds, GNU, or the Mozilla team (to name just a few) responded that way. However, it's possible that they faced just as many naysayers.
I'd love to see more open competition on mobile, but it's a tough market to crack.