Free Software Foundation Europe (FSFE) member Torsten Grote claims that Google's "Android SDK [Software Development Kit] is now non-free software."On Twitter, Grote summed up his position as "#Android SDK is no longer #FreeSoftware. Is #Google turning evil?"
Grote's solution is not to drop Android. Rather, he suggests developers use "the truly Free Software version of Android called Replicant."
The particular clauses that Grote seems to object to is the restrictions in the Android SDK license in section 3.3 and 3.4:
3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
This clause applies to the SDK binary, not the SDK source code files, and it has been around for years. The SDK source code, like almost all of Android, is covered by the Apache Software License 2 (ASLv2).
The new clause, introduced in November 2012 with the release of Android 4.2, was widely reported at the time. It reads:
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.
Again, this license only covers the binary code. You can download the SDK source code with the SDK Manager. For more on how to do this see Lars Vogel's Making the Android SDK source code available in Eclipse. You can also get to the SDK code directly over the Web via git.
Grote argues that since the Android SDK license starts with "In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement,” that “This sentence alone already violates freedom 0, the freedom to use the program for any purpose without restrictions." That clause, however, has been in the license since at least April 10, 2009.
I don't follow his logic. All licenses require you to agree to them. For example, the preeminent free software license, the GNU General Public License version 3 (GPLv3) begins, "Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed." Does that last phrase make it any less free? I don't think so.
Grote also argues, "Google made this step to prevent fragmentation of the ecosystem. What are they going to do next? This situation is far from perfect for software freedom. Developing Android Apps in freedom is only possible as soon as the Replicant developers catch up. Looks like Android stops being a Free Software friendly platform."
That is one heck of an over-statement. Developers have been creating their own Android spins for years. For example, Amazon, which runs its own version of Android in its Kindle devices, still requires programmers to start with Google's Android SDK.
An important point to remember is that the Android SDK is not Android. You can fork Android source code to your heart's content. You just can't call the result Android. And, if you can write a working Android app without the SDK, well good for you. No one's stopping you.
Android itself, or to be more exact, its user-space platform components, is licensed under the ASLv2. Its base operating system is Linux, which is licensed under the GPLv2. Google encourages developers to license their Android applications under ASLv2. True, Google's use of ASLv2 bothers some open-source developers but that's been true since the beginning.
Put it all together and what do you get? You get an Android that's about as open-source friendly as it ever was. If you don't like it, fine, you can use Replicant, which is compatible with Android 4.0. But there really hasn't been any significant change in Google's open-source Android policies. This is a tempest in a teapot.