Android AOSP maintainer quits
plus.google.com
plus.google.com
As part of the Nexus device support, Google releases factory images. These images contain all the blobs and whatnot necessary to restore your device's OS even in the event of a soft-brick. In the case of the new Nexus 7, it appears Google won't be releasing factory images and the cause is almost certainly the fact that Qualcomm doesn't want to release it's proprietary blobs for the Adreno GPU.
JBQ is pissed about this, this isn't the first time a vendor hasn't allowed release of certain blobs or the first time a vendor has refused to release the code necessary to even boot the device.
What you describe also occurred/occurs in Cuba, and that's not a capitalistic regime.
"When the competition starts using your own improvements/innovations against your products, and they are not moving a single finger to push innovation, you are obliged to keep the secret."
I don't mind if the competition improves my work, this is more than enough incentive to push innovation forward, but when the competition stalls and makes a verbatim implementation of my work, or worse enough, depends solely on my improvements to stay relevant, I honestly prefer to keep the secret to myself. I don't want parasite competitors, I want talented competitors.
I think it's pretty tricky to consider that a real 'effect', as if the alternative companies kept secrets then it would be just as bad.
Not saying I've got a better idea than capitalism, but I wouldn't consider it ideal.
Patents are a good idea, it's the current implementation that sucks
But they would be thwarted by license agreements making the drivers generally nonredistributable?
Do you morally and ethically agree with the position that Qualcomm should get paid a licence fee for the firmware for each and every resale of a particular chip? (vs the spirit of the first sale doctrine)
At the moment, it seems that you're giving tacit approval to this position.
I think it's reasonable to sell the chips under a restricted license - you don't expect people to use the chip in a product you don't know about. Consider a metaphor using a collection of short stories. You include your story in an anthology, which lets the buyer re-sell it at will. However, it would be questionable for the buyer to remove your story, and re-bind it as part of another book, which they then sell.
These actions are not restricting the actions of customers in any way (as far as I know), so they seem ok to me.
Edit: sorry about the delay in reply!
I suspect there are a lot of professional Engineers working on products that will ship fewer than 10M units. Sometimes these Engineers then go on to design products that ship more than 10M units and prefer to keep working with the chips they know. Sometimes those Engineers are 'hobbyists' too.
Modern SoCs demand thousands of pages to cover all available features and possible applications, and putting together that documentation in a self-consistent way is a challenge. Some vendors have decided that supporting low-revenue clients is not worth the cost of putting together said general-purpose documentation and providing support to each and every buyer. They'd rather not sell you the product in the first place than sell you something and stiff you on documentation & support, which is a reasonable position.
Often when you're a low-quantity company you deal with low-quantity vendors who are willing to support you. When you move to high volume you might prefer to keep working with the chips you know. But when your operations guy comes back to you and says that the Big Co (who wouldn't talk to you in the past) can sell you chips for $5 less, that's $50M you just saved (given your 10M unit quantity). So you switch. In this example you have two different vendors: high cost / high support, low cost / "exclusive" support. Both have markets, just different ones.
TI is an example of a vendor that is very hobbyist / small quantity friendly. Even that wasn't enough to save them - they've pulled out of the phone SoC business.
But most of the population is uneducated in that regard. Blame the lack of enthusiasm for FOSS.
(This is why, for example, when I hear that Ubuntu edge, which can't even sell 45,000 phones, will "try" to come with free drivers, i laugh)
That said, one of the interesting "advantages" that Samsung and Apple get here is that they are their own SoC vendors. Google will have to get into this game eventually.
Both Apple and Samsung heavily use Qualcomm products. The Samsung S4 is powered by a Qualcomm Snapdragon 600. It should say something when Samsung isn't using it's own Exynos for it's premiere flagship device. The S4 also features a Qualcomm 4G LTE modem. And a Qualcomm power management chip. And audio codec.
The iPhone5 is almost as Qualcomm heavy itself, too.
I think Samsung and Apple would have equally as difficult of a time trying to release binaries (or source) as well, regardless of who is designing or assembling the SoC!
Google could certainly tell LG/Samsung/HTC that a condition of getting the next Nexus deal is that all binaries must be able to be freely distributed by Google and let them put pressure on the SoC vendors, but I doubt the Nexus line sells enough or drives enough profit for anyone to take such a threat seriously.
The same thing would be true if it sold a million units.
Google could always use chips only from vendors that allow redistribution of the blobs, make it a contractual requirement when commissioning Nexus devices.
Mark Shuttleworth said this in his AMA: "In future generations, it would be great to see if we can do an all-open device, for example." -- http://www.reddit.com/r/IAmA/comments/1j166z/hi_im_mark_shut...
"So in this first generation Edge, no, we didn't look for open hardware specifically. We can choose silicon with more open drivers as we finalise the spec"
If you assume that they're doing something that they haven't claimed to, then you can continue laughing at nothing, I suppose.
Sure sounds like "we'll try" to me
The problem, to me, is more of a logistics problem, because once you get more than ~100 people in an organization, you start losing the immediate connection with them, which means you care less about their well being, because you don't know them. The issue is managing people, and meaningfully punishing ne'er-do-wells.
Leninism worked, we know for a fact that it worked, at least until Stalin took over and made it something worse that ultimately didn't work.
I don't think that [nor am I inclined to think did Marx]. I think capitalism exacerbates it drastically to a markedly negative effect (though not so negative as say malevolent dictatorship). Moreover I don't perceive inequality as detrimental, it's a truism that none are equal after all.
However I do certainly have communist beliefs about the best forms for society to adopt.
http://en.wikipedia.org/wiki/Millennium_Development_Goals#Pr...
In fact, imagine how far we'd be if great minds weren't restrained by having to pay rent, or work around mainstream stupidity, or having to use cheap equipment, or facing patents and other laws created to protect the captalists.
Just because we've never seen a working communist country, it doesn't mean it could never work - to think otherwise would be luddite and ignorant.
Capitalism would get along just fine without patents and copyrights. No one likes to admit that though.
But capitalism works based not just on what you can produce, but what you can withhold. It's a "tragedy of the commons" problem: if anyone can hit a "clone chair" button for zero cost, few would pay to sustain enough professional chair makers. Perhaps spare-time activity or alternative business models would supply the necessary labor, but it's iffy: see the never-ending battle between open-source and propietary software, which I expect will persist long into the future.
Believe me, I'm in favor of a free global library of all intellectual and creative human output, which algorithmically rewards all creators proportional to their results (or alternately, a society wealthy enough to subsidize its creators such that incentives aren't as necessary). But that represents an enourmous technical and political challenge, to say the least.
You contradict yourself once here. You say capitalism is based on what can be withheld. Another word for that might be scarcity. In 1932 Lionel Robbins said "Economics is the science which studies human behaviour as a relationship between ends and scarce means which have alternative uses." This is still the modern mainstram definition of capitalism.
Then you say: > if anyone can hit a 'clone chair' button for zero cost, few would pay to sustain enough professional chair makers
The idea that value comes from the labor of chair makers is a Marxist idea. You are making a Marxist argument here. It also contradicts your first argument. You say value comes from scarcity (modern mainstream economists agree), then you say value comes from labor (which is what Marx said) which contradicts the first argument.
You're trying to make a Marxist argument for capitalism (Actually Marx did make an argument for capitalism - he said it was better than feudalism and slavery, but that's not what I mean here).
You should go on the web and read about the subjective theory of value, and then about the labor theory of value. You argue STV in the first sentence and then LTV in the second. They can not both be right, their definition of value is contradictory.
I should note you're not the first person I see making this error. As things become digital they lose their scarcity. I see all kinds of odd statements come out of this. You're not alone in this. But across the entire political spectrum, from far left to far right, all serious students of the economy agree only one side can be right, value comes from either subjective marginal/scarce/utility reasons or from a certain type of labor, but it is either one or the other. You flip back and forth between a capitalist-supporting argument and a Marxist argument. A Marxist argument for capitalism. I see this more and more, and I find it odd.
The quote there appears to be defining "Economics", not "capitalism".
I'm curious about this: when did Capitalism stop meaning "the opposite of cottage industry" and start meaning "a market with limited regulation"? Was it Marx that introduced this?
We in the west are overfed pigs standing on the backs of billions.
But what Google needs is a license to redistribute this software in a form where it can be used by an AOSP build, not just as part of a finished device. Apparently the couldn't get it.
I make apps for children and I would very much appreciate information on the subject of OLPC and Marvell
(I was working at OLPC at the time.)
http://www.androidpolice.com/2013/08/07/legal-issues-with-qu...
This means that the Nexus 7 is, practically, no more open than the iPad/MS Surface/etc.. That would definitely be upsetting to me if the gig had been sold as a way to strongly impact an open source piece of software, and Jean-Baptiste's decision seems very reasonable.
Can android users/developers weigh in? I'm sure I'm getting some part of it wrong.
But I can tell you that multiple, multiple times people have cried wolf on this. There's always a gap between when Google releases a device and when they release the accompanying source.
Certainly the new N7 isn't a "free" device in any meaningful sense. But Android as a whole remains vastly more open than iOS or Windows.
As with many questions of openness, it's a question of pragmatism. It might be fair if some Kickstarted device did this or something, but this is Google's flagship tablet. Google uses the "Open" moniker as a marketing tool to both sell the devices to like-minded supporters as well as to bash others (Apple, MS, etc) pretty much whenever they can, as do many of their affiliates/partners. As such, it's completely fair to hold them accountable when that ends up not being the case.
Yet I can go to www.cyanogenmod.com and pull and build a tree for the One and boot it, with access to the source code for virtually all of the system (sans things like the GPU blob in question).
That you would argue this is no more open than iOS or Windows is weird, and sounds more like a stand on vain principle and not "pragmatism".
Is it bad? Yes. Is it equally bad? Hell no.
A lot of the theory of optimization can be reduced to speeding up parts of code actually being executed and paging out parts of the code never actually touched, which works because the source is not uniformly useful. A kernel would be useless without a scheduler, a GUI program would be useless without an event loop, no matter how "open" the code surrounding those are.
Wasn't hard to find... :)
This is not about the apache or gnu license. This is not about binary blobs. This is about a huge company that is playing games with "open source" for strategic reasons, full stop.
Google could put in licensing conditions that would resolve this driver situation for any company that implements GED services, but they choose not to. It always comes back to the fact that their primary product is you the user, and they only are interested in selling advertising services. Google executives are behaving unethically with this platform.
Source code licensing is a different topic.
"Before Apple's app store most software was distributed directly to customers."
Most discussions I see on the net these days are about free markets vs privately regulated markets. Windows and Android and Mac OS X belong to the former, while iOS and the XBox to the latter.
Should people provide products and services to other people, maybe with some government regulation? Or should a few private companies control and regulate the distribution? Would the world be a better or worse place when Microsoft had the power to prevent the distribution of Web Browsers?
the definition of open: "mkdir android ; cd android ;
repo init -u git://android.git.kernel.org/platform
/manifest.git ; repo sync ; make"
https://twitter.com/Arubin/status/27808662429Well, I suppose if you define "open" as being able to build the software, but don't promise you can actually use the result, that makes it acceptable.
The other important thing to note here is that Jean-Baptiste Quéru is not just some random Android developer. He is the the point person for what everyone previously believed was "open" development on Android.
You can still use the result, but not with all devices (same thing as any linux distro, despite being open source, you need driver supports for your particular hardware). There are still many devices who can boot aosp (from the nexus line, from sony, etc.).
...can't boot to the home screen on its flagship device for lack of GPU support...
That sort of makes it useless. I'd only be willing to buy the device argument if we were talking about a microphone or webcam, but when you lack the most basic of support (video), I think that's not a useful argument to have.No, because you can get other laptops without this problem. Likewise, you can get other Android devices such as the Nexus 10 or Galaxy Nexus which are capable of using the result.
This sucks as it means you now need to choose between a device that's sufficiently open or a device that's up to date, and it's certainly worth criticising Google for, but it's not enough to claim that Android is as closed as iOS or Windows (yet - if they do the same to the next Nexus 10 and continue releasing Nexus devices that can't boot AOSP, then it's concerning, or if they drop support for the devices that are currently able to use the open source code)
no video device support (which means you can't even boot to the Android home screen) for the new Nexus 7
Google was aware of all of these issues and still made the hardware choices they did. They could have chosen differently.
These are flagship Google devices; my expectations are (I think rightfully) different for those than some random device.
JBQ says he's very frustrated with the "lawyers", for what exact reasons- I don't know. Maybe he feels like they are not exerting enough pressure, or maybe it's Qualcomm's lawyers he's pissed at. You cannot say Google (or at least JBQ) knew how this would turn out.
"; make install"Seriously, "make install" is:
adb -s $DEVICE reboot-bootloader
#wait for a while
fastboot -s $DEVICE flash system $IMAGE_FILENAMEAnd, I mean, the Linux kernel makefile has a "make install" target, but it
a) produces a partially-functional or completely useless kernel on a wide array of hardware unless the linux-firmware package is present
b) even if linux-firmware is present or not required, it won't actually work on the majority of people's systems as it (IIRC) doesn't update initrds, or update the GRUB bootloader menu to point to the newly installed kernel
Both Freedom and Openness are more complicated than an install target. That's the point that I was making. :)
Vendors suck (some more than others) and it's not Google's fault that they can't convince the vendor to open source their device drivers. This sort of thing is extremely common in the embedded world and when you're making a device to a price point often times you have to put up with this sort of nonsense because only one vendor makes a chip with your feature set at a given price point.
Someone with more knowledge about this please correct me if I'm wrong.
Yeah thats the problem.
There exists a patent troll who owns patents for using pink unicorns to render pixels. Vendor ships a chip that uses red horses to render pixels... close enough for a legal patent battle? Who knows. But if they try to keep it a secret, maybe it'll all work out.
Edit: Fixed typo.
There will be a dozen other Nexus devices within the next year and hopefully Google will learn from their mistakes, and will partner with suppliers who won't prevent source code from being published.
Does Google benefit monetarily from not releasing source code? Nope, it likely decreases their profit and tarnishes their reputation, so I would like to believe that they are doing everything in their power to keep Android and the Nexus brand as open as possible.
http://androidandme.com/2013/08/devices/new-nexus-7-may-not-...
Indirectly, yes — choice of Qualcomm as a supplier (under condition of not releasing source code) must have been beneficial for Google.
http://www.fudzilla.com/home/item/32057-why-google-went-qual...
If Google insisted on shipping stock images it would have cost them. Either by picking an inferior chip, or by upsetting Qualcomm, or by Qualcomm charging them a higher price. Therefore they chose a position of some benefit to them when they decided not to ship stock images.
The best way to counter this benefit is a public shaming, so that in the end it's costlier than the other options would have been. But Google's not stupid; they wouldn't have made such an anti-openness move if they expected it to cost them.
Android is still open-source and the AOSP is still very alive and will live on.
It's not the lack of a factory image for a single device. It's the lack of a factory image for Google's flagship device when they've made so much hay about it in the mists of time (oh, about three months ago).
I'm not particularly sympathetic to most "open" argumentation when it comes to devices, but Google should walk their talk.
It's their goal to do whatever it takes to compete aggressively and if openness can win them PR, they'll do it, but it isn't a goal in itself.
Well, sort of. Keeping GPU drivers closed is a charade. There is no secret sauce of any great value in these drivers. There might be embarrassing coding horrors. But there is no good reason to keep these drivers closed.
In this case, not even the binary blobs are available. That's gratuitous pig-headedness from the GPU licensor and SoC maker. Google could have extracted at least that concession. When someone with as much integrity as JBQ quits, it's not just the run of the mill SoC vendor crap that caused it.
For example, NVIDIA vs SGI on Texture Mapping, or NVIDIA vs 3dfx on stochastic mipmapping. (NV lost both of these cases, but managed to get what they wanted in the settlement...).
One thing that I think does cause problems for opening up hardware though is that many graphics implementations use the same or similar chips (to save on asic costs) and the drivers enable options based on the product the customer bought, but the underlying chip will actually still implement the higher end functionality. This is a common enough technique and to avoid people getting 500 dollar parts for 99 they can't open up the drivers. I don't understand why they don't push this sort of thing exclusively to device microcode (many do this or at least partially) rather than having software components that do some of this logic.
Discovering the secret sauce is the very embodiment of my job for my employer, and I make a great and exciting living figuring out our competitors' myriad secrets, a lot of which is controlled entirely by the driver.
I could write an entire book about why there's potentially very valuable competitive data enshrined in GPU driver code. Some obvious examples: execution resources and scheduler details (including full software schedulers in many cases), register allocation strategies, optimising shader compilers, hardware bug workarounds, power management limitations, clocking schemes, API compliance workarounds; all highly valuable competitive data that would be plain as day if GPU driver source were available.
Clearly they did not.
Someone who "tries to make their devices as open as possible" chooses components that can be made open. Someone who intentionally chooses a component and does not ask/licence it's driver to be open - hasn't even tried.
Should they have put out a worse device in order to stand up to this stuff though? Difficult choice.
This is a pain - It's nice being able to download the factory images direct from Google for quickly restoring the device to stock or applying an update before the OTA is out, having to try to find them on XDA is annoying for a Nexus device. Kudos to JBQ for standing up to this, hopefully the fallout will cause something to change.
However, the Nexus 4 and new Nexus 7 are the flagships for AOSP, and the maintainer was upset at the fact that the open bit is useless on newer devices without parts that can't be distributed.
[1] https://groups.google.com/forum/#!msg/android-building/OvPkV...
The controversy is that there is no factory image available for the new Nexus 7, and therefore, the only way to boot a new Nexus 7 from AOSP source is to pull the blobs from the device, incurring in a legal gray area.
You'd think that Google would have the foresight to listen to the maintainer of the project; perhaps they did and this is just the way it is now?
I'll give you a hint, it starts with Q and rhymes with "Wallcomm".
Actually, this is not true. The CDMA/LTE Galaxy Nexus, Droid Charge, and Stratosphere (all made by Samsung) actually used VIA Telecom's CBP 7.1 baseband for EVDO/1XRTT (and a Samsung LTE radio for that). I'm not sure how/why VIA Telecom was able to license QCOM's patents covering CDMA2000, but they did.
http://www.anandtech.com/show/4465/samsung-droid-charge-revi...
To my knowledge, these are the first non-QCOM CDMA2000 phones shipped (at least in the US) since Nokia's ill-fated CDMA S30 phones made for Verizon/Sprint from ~2003-2005, the 3589i, 6235i, and maybe others. I believe TI/ST/Nokia teamed up to make that baseband, but it all ended in lawsuits from Qualcomm a few years later.
It's too bad, the 3589i was a great phone.
Today, AOSP (contrary to what its name suggests) is mostly just a code-dump project. They've forked Linux and have stripped out the GNU (GPL) userland. Broadly speaking, there are two ways to stay in power. 1. release minimal source code, and don't let other parties get in (aka. the Apple/Microsoft strategy). 2. simply assign all copyright to a neckbeard foundation with no money and nothing to lose (aka. FSF/GNU). Provided there's a big enough market (unlike nVidia being virtually the only manufacturer of decent GPUs back in the day), people will simply stop buying your hardware because their software doesn't run on it.
Google is pretty much on its own here, because there is no "open source project": various vendors fork the code and make their own modifications on top and distribute it happily. I run a CM nightly myself, because I get updates in the form of commit SHA-1s every night: _that_ is how you involve users and build a community. Can anyone threaten CM? Now, Qualcomm is attacking Google: Google can't give them the finger because they're powerless.
Fragmentation (aka. forks) are part and parcel of any uncontrolled development. GNOME is one very famous example: not everyone is happy with the same thing (GNOME Shell, Cinnamon, Unity etc.). For another example, look at mplayer: mplayer, mplayer2, and (now) mpv. The forks compete against each other, and the competent communities eventually achieve dominance. Contrast that with how many times Torvalds' tree has been forked: the forks don't survive because the community and leadership is strong and won't bend to anyone's demands (you're probably seen the media reporting how Linus gives nVidia the finger, or bashes patches that further Microsoft's UEFI agenda). Emacs has also had various forks in the past (remember XEmacs?), but all of them died off because of weak leadership.
AOSP should think about these issues seriously, and figure out how to keep the project running. I don't know what they should specifically change, because nobody has any idea about what problems they are facing.
There's no point being the maintainer of an Operating System that can't boot to the home screen on its flagship device for lack of GPU support, especially when I'm getting the blame for something that I don't have authority to fix myself and that I had anticipated and escalated more than 6 months ahead.
So much for all that noise from Google about 'openness'. The detractors were right.
The non-Atom chips usually have real Open GPU drivers that work the same as the desktop ones; the Atom chips [AFAIK] are the ones that primarily suffer from being PowerVR-licensed things with badly half-working "open" drivers.
All of us that buy, or let relatives buy Android devices that use restrictive and closed blobs.
Customers and only customers have the power to make the change.
Every time we encourage someone else to buy a non-Android device make sure to publicise the fact on open social media like Farcebook or Twatter on the corporate tags and pages to raise awareness in the less technology literate and make some voices heard.
It is one thing for companies to see bottom-lines get affected, but they also need to understand why. Don't just boycott, let the world know why too!
As it is, a few places sell the old Nexus 7, and that's it. The only Nexus phone ever to get sold here was the Nexus One, and there's no Nexus 10 either, no new Nexus 7.
[0] http://developer.sonymobile.com/2013/07/25/android-open-sour...
Given Google's close relationship with the NSA, the reason seems fairly obvious...