At first I thought this is hyperbole, but there's an anti-forking clause in the license agreement:
> "3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK."
IANAL, but this seems to be designed to prevent projects like the Kindle Fire from building their own ecosystem on Google's code. Good for Google I guess, but no longer in the spirit of open source.
We have been through this many times before here. This is meant to prevent forks that break compatibility. Like that chinese company that made their "own" phone OS. That was just a fork of Android, but not perfectly compatible with the Android SDK. It causes fragmentation in the sense that it forces developers to rewrite apps for it because there are differences in the SDK.
The whole point of free software, though, is that you can fork it and customize and use it as you like. If someone wants to fork Android to run on stoves, and they have to break compatibility to do that, if it was free software it would support and allow that. Instead you aren't even allowed to use the SDK or let developers use the SDK if you do so. You can't really claim Android is open or free anymore now, just that it uses a few free pieces, which are being taken away wherever possible.
>The whole point of free software, though, is that you can fork it and customize and use it as you like.
No one is stopping you from writing your own SDK. Reverse engineer the API and off you go. Fork your own android. Make your own play store. Its not a violation of "freedom" because something is inconvenient.
Its like when people complain about Linus ignoring their patches. Sorry, but its still free software, its just done under terms you don't appreciate. Fork it if its such a huge problem for you.
Your argument doesn't make sense to me. You're replying to a post that says the SDK is not free. Writing your own SDK if you don't like it is agreeing that the SDK is not free.
The next bit about Linus makes no sense at all. We are not talking about Google ignoring your fork of Android or your fork of the SDK, we're talking about being prohibited from forking the SDK or using it to fork Android.
The SDK is not free. It is not inconvenient to fork it, it is prohibited. Android may be free by your definition, but the SDK is not.
The SDK sources are still Apache2, and you can build your own SDK with them if you wanted.
You just can't take the Google-built SDK binaries (except as allowed by a third party license, such as Apache 2), or non-open source pieces, and use them to do it.
What you say is somewhat true but irrelevant.
The EULA applies to the SDK binary download, not to the sources.
If you go grab the sources, there is no EULA on them. They are straight apache2/etc.
You can grab the sources, and build your own SDK, without ever involving this EULA. The binary SDK has a bunch of non-open source parts in it (they are clearly marked, AFAICT), so you'd have to deal with that, but otherwise ....
Even if you did agree to the EULA, again, the EULA applies to the binary download of the SDK.
If you want to try to claim that one of the clauses binds you otherwise, it's an interesting claim to make (though the clause is clearly written to talk about the SDK), but one i think is wrong.
FWIW: I'm an IP lawyer specializing in open source licensing
So it sounds like what we need isn't someone to reverse engineer or even fork the SDK, we just need someone to publish the binaries for download with an EULA, right?
I'm sure that's a good thing for the Android ecosystem. I'm not against that on priciple (that is to say, I'm not an open-source zealot). I'm just saying that a having single entity with the sole right to change the API is essentially the definition of a closed system.
I'm sure there are justifications for this clause, but that doesn't change the fact that you can no longer fork the code, and that API changes are under the control of a single entity.
This is almost the textbook definition of closed software.
> This is meant to prevent forks that break compatibility. Like that chinese company that made their "own" phone OS. That was just a fork of Android, but not perfectly compatible with the Android SDK.
I don't see a distinction between what Aliyun is doing and what Amazon, OPhone, and Cyanogen are doing. Aliyun was, after all, accused of making Android apps available for Aliyun without the developers' OK. So Aliyun is as compatible as Kindle Fire.
There might be some reason Aliyun is different, but, so far, nobody has actually shown such a difference.
What's bad about this is that Google is putting a fence around code they have made available under the Apache license.
"Google's code" is a little vague, though. You can use the code for Android (which the Fire indeed does), you just can't use Google's first-party apps.
Are you sure? This license covers the SDK, not the first-party apps. At the very least, this agreement could prevent them from adding any Kindle-specific extensions to the API.
(This point is a bit moot because the Fire codebase was presumably forked from an older version of Android without this license change.)
This point isn't moot at all. One of the first things Amazon tells Kindle Fire developers to do when setting up their development environment is download the Android SDK:
To me, the real issue I have with the SDK anti-fragmentation clause is that I have no idea what it means.
Does it mean you can't develop for the Kindle Fire, Nook, Nabi et al using it? Or is it OK if your apps still work on Google devices as well? Does that mean Amazon can't use the SDK when working on the Kindle Fire OS? Or is that fine too as long as the OS passes the associated compatibility tests (and, reportedly, Amazon has been very good with compatibility to date)? And so on.
And whatever the bizarre restrictions are how in the world is Google even dreaming of enforcing them? Or are they just planning to complete with Microsoft and Oracle for the "most pirated development tools ever" prize?
> "3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK."
IANAL, but this seems to be designed to prevent projects like the Kindle Fire from building their own ecosystem on Google's code. Good for Google I guess, but no longer in the spirit of open source.