Google changes its terms and conditions to stop Android fragmentation

November 16, 2012
10
180
57 41 82

Google has changed the terms and conditions for the Android Software Development Kit to include a clause about Android fragmentation. The new clause is probably a response to the collaboration between Acer and Alibaba to form a new mobile operating system derived from Android called Aliyun.

Although Android itself is released as open source the SDK isn’t. Under the SDK’s license Google¬†owns all the legal and intellectual property rights and it licenses developers to¬†use the SDK solely to develop applications that run on the Android platform.

In September Acer and Alibaba’s cloud computing unit planned to launch a new smartphone which used the Android based Aliyun OS. However, according to Alibaba, Acer were told in no uncertain terms by Google that if it went ahead with the launch then Google would terminate all Android product cooperation and related technical authorization.

Section 3.4¬†of the updated SDK terms says, “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.”

The key phrase here is “the fragmentation of Android” which of course isn’t a legal term and could be deemed to mean almost anything that Google doesn’t like. ¬†The clause also seems a bit¬†superfluous¬†as Section 3.3 says that developers are not allowed to “modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK.” It also says that developers may not “combine any part of the SDK with other software.”

There are two possible ways to look at this new clause. One is to hail Google as the great guardian of Android who is using its¬†benevolent¬†might to bring peace, order and unity to the Android cosmos. The other way is to remind Google that it got large chunks of¬†Android¬†for free from the open source¬†community¬†(including¬†Linux), that it uses Java and Java APIs which it didn’t invent and that the reason Apple started taking everyone to court was because it didn’t like others (allegedly) building on its work. Something Google is now crying about with Android.

Let’s look at option one.¬†Obviously a fragmented Android eco-sphere is bad for consumers. Having almost Android like phones where some apps work, some apps don’t work and some apps work if they have been tweaked, is bad news for consumers and developers. So any efforts by Google to keep Android together is laudable. Although Amazon’s Kindle Fire range of tablets doesn’t run stock Android (especially with regards to its user interface), to develop for the Kindle Fire you basically use Google’s SDK and create an Android app. The app will work on any compatible Android device. This is how Amazon stays within the usage term stating that the SDK can only be used to “develop applications to run on the Android platform.”

But since Android is open source, Google can’t stop anyone from developing modified or derived versions of it. Android is itself a¬†derived¬†version of Linux. And nobody in the Linux¬†community¬†moaned that Google was¬†fragmenting¬†Linux. So anyone and everyone is within their rights to take the Android code and make their own¬†version¬† That is what Cyanogenmod¬†do. But of course¬†Cyanogenmod is 100% compatible with Android.

What if someone took the Android source code and made a version that was only 95% compatible where some of the system calls where changed to behave differently or new calls were added that only derived version supported. Again they can do that. But to develop apps for that new derived version, developers need an SDK. And this is why Google has modified its terms.

Looking at option two, this means that Google is trying to force a closed source mentality on a open¬†source¬†project and what it has done certainly isn’t within the general spirit of open source software. But it is fully entitled to do it as the SDK isn’t open source. Google got large chunks of Android for free, but it did make the SDK itself. So now if someone wants to make an Android based OS that isn’t 100%¬†compatible¬†they will need to build their own SDK.

What do you think? Is Google being selfish? Is it protecting Android? Is it being evil?

Comments