A little late on the share due to travel.
To those bashing Qualcomm here - I would advise you to read the followon post from +Jean-Baptiste Quéru
. Qualcomm's rules for redistribution of binaries are arcane and absurd, but the other SoC companies in the industry are no angels either. I'm guessing that this one incident alone was not responsible for JBQ's burnout, but just the straw that broke the camel's back. If you're going to boycott Qualcomm over this, you'd better sell all of your cell phones and just live in a cabin in the woods with no electrity, cell service, etc.
It is really disappointing the direction that the ARM SoC industry is taking - all of the manufacturers have done very unfriendly things in relation to open source mobile operating systems. Qualcomm is, with the exception of TI (who are exiting the industry), probably one of the more friendly manufacturers. (Edit: From initial looks at Freescale and the i.MX6 - they are very promising, but so far they've primarily focused on set-top-box type stuff, I don't think a single i.MX6 phone or tablet exists anywhere. I'll know more on this as I find more time to play with the Wandboard I bought two weeks ago.)
Qualcomm provides robust reference source code at CodeAurora, that is frequently pretty close to what is actually running on OEM handsets. It's always close enough that with some effort, you can figure out which tag from https://www.codeaurora.org/xwiki/bin/QAEP/release
an OEM started, and usually that's a great starting point for a bringup of a community project such as +CyanogenMod
. The negatives, of course, are arcane binary redistribution licensing agreements that are idiotic and absurd.
Contrast this to, for example Samsung Exynos4 - Samsung's reference source, in addition to being vastly outdated, is not even remotely architecturally similar to what ships on handsets and tablets. Exynos5 is similarly poorly documented, with the exception of the 5250 present in the Nexus 10 - but Samsung seems to almost have gone out of their way to avoid using this chip in any other device than the ARM Chromebook (this could partly be due to power management issues that are plaguing most Cortex-A15 designs, but - the 5410 is on the market and last I checked, had zero platform reference source of any kind.) In fact it seems to be a continuing pattern that Samsung Mobile avoids sharing chipsets between Nexus devices and the rest of their lineup wherever they can - such as with the Galaxy Nexus being OMAP4-based.
Such agreements are a nightmare for people like JBQ, for whom they cannot consider their job to be done until everything required to build a device is available in a 100% legal above-the-board manner with no grey areas, but remember, if you're using a community derivative like +CyanogenMod
, the team has been working around braindead idiocy like this for years. (Look at extract-files.sh in almost any device's device tree. Which is WHY Qualcomm's policies are so idiotic - the files in question can be obtained using 'adb pull' from any device, even without root privileges, as they're all world readable.)
As to bitching about lack of factory images, from a user standpoint (all of those calling for Qualcomm boycotts) - Samsung doesn't provide factory images for any of their devices. HTC doesn't and in fact it seems like every year they're suing someone who does provide images for the community. Sony does not provide factory images for download - you can only do a factory restore using their flashtool, which will only download a firmware image when a compatible device is detected (Qualcomm lawyerisms strike again...)
That said, it obviously isn't good for community projects like CM if idiot lawyers make upstream burn out. :( It's not hard for the community to route around braindamage like the factory image mess, but it's extremely difficult to replace someone like JBQ. :(