Replicant 4.0 SDK release

It was brought to our attention that the Android SDK is now being released under an overall proprietary software license. In the past, we already had to release a free software SDK, back in Replicant 2.2 times, because the Android SDK was shipping with the non-free Google APIs. More recent SDK updates made these APIs only plug-ins that weren’t shipped with the SDK and it was made clear that these components were non-free while all the license files we could find on the Android SDK package were free software licenses.

However now Google decided to put an overall non-free license for the SDK, which brings back the need of having a fully free Replicant SDK. Since our only SDK release is getting old (it was API level 8), we built an SDK package from Replicant 4.0 sources, that is API level 15.

You can download the SDK from the ReplicantSDK page, find an installation and usage guide as well as the build instructions on the wiki.

46 thoughts on “Replicant 4.0 SDK release

  1. I have been trying to understand the exact meaning of the anti-fragmentation clause for a long time and I think that I understand it now somewhat (but IANAL):

    “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.”

    This passage is not very clear (to say it gently), the word “fragmentation” which is key here isn’t defined anywhere in the license text (and doesn’t occur anywhere else in the license). Please note that the license was written in (or before) 2010:

    http://blog.replicant.us/2013/01/replicant-4-0-sdk-release/comment-page-1/#comment-99519

    so it should not be interpreted as a reaction to the development of Aliyun (which was founded in 2011: http://en.wikipedia.org/wiki/Aliyun) or Kindle Fire (which also was released in 2011), as some people claim: http://www.androidpolice.com/2012/11/16/google-forbids-actions-that-result-in-fragmentation-in-updated-sdk-license-what-it-means/ .

    Please also note that the license text forbids anything that “may cause or result” in the “fragmentation” of Android – this suggests very strongly that “fragmentation” was not widespread when the license text was written (as something may “cause or result” in it, not “increase” it). It may be possible that Google was trying not to publicly acknowledge that problem – but any public statements from Google from that time may counter such an argument.

    An example of such a forbidden action given in the clause is “distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK”. For a long time I thought that it refers to trying to work around this clause by creating a different SDK without this clause. But in such a case the whole phrase “distributing, participating in the creation of, or promoting in any way” would be unnecessary, “creating” would be enough.

    So that paragraph ***probably*** refers to creation of derivative versions of Android that would be incompatible with Android SDK (i.e. they would not run Android apps correctly or that would support Android-like apps that Google’s Android does not). It probably refers most importantly to such an incompatibility that would be made by purpose.

    Another key word in that clause is “may”, possibly it suggests another interpretations of this clause.

    On the other hand, Google officially accepts distribution of applications in markets other then Google Play:
    http://developer.android.com/distribute/tools/open-distribution.html
    ” Usually, to reach the broadest possible audience, you’d distribute your apps through a marketplace, such as Google Play.

    Google Play is the premier marketplace for Android apps and is particularly useful if you want to distribute your apps to a large global audience. However, you can distribute your apps through any app marketplace you want or use multiple marketplaces.”
    So at least, it cannot *probably* argue now that FDroid breaks that clause by doing activity that may “result in fragmentation of Android” (i.e. by being used by Cyanogenmod).

    The very important question here is if that “agreement” was bounding also outside of the distribution of the SDK: if someone has downloaded the SDK in the past and agreed to the license, is he now legally obliged to refrain from any activity that “may cause or result in the fragmentation of Android” even if that activity does not involve use of the SDK in any way?

    Probably a lawyer would be better suited to answer such a question.

  2. It’d be nice if this SDK got an update to at least android 4.2. I need some stuff that’s inside it, and I want to use a fully free SDK if possible.
    Switching to the official SDK for now…

  3. Hi Paul,

    Thanks for your time.

    Am using a Redhat linux VM. The links you have provided seem to work for ubuntu or other variants of linux.

    I just downloaded the zip file, extracted it and ran the emulator.

    I am stuck with SDL init failure, reason is: No available video device.

    I tried the same on another instance of RHEL, it launched the application, but it was really slow and hung. When I terminated it and launched again, there too it is complaining about No available video device.

    Linux sahara 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

    Any help would be appreciated!

    PS: I dont need to do any development. All I need is to run the emulator to send SMS for performing demo of our application (which does some processing on incoming SMS etc).

    This works perfectly fine if I run Android Emulator in desktop with our applications running inside a VM.

  4. Does anyone have binaries for this Replicant SDK (build version ) ? Planning to run in a linux VM.

    Am awfully running short of time and I am afraid I do not have all the prequisites to perform a build.

  5. Pingback: Android SDK is now proprietary, Replicant to the rescue | Torsten Grote

  6. Pingback: No, Google is not making the Android SDK proprietary. What’s the fuss about? | nano Geek

  7. Pingback: El SDK de Android ya no es software libre | Portal CTI

  8. This open source code and permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Additionally, Android has a large community of developers writing applications (” apps “) that extend the functionality of devices, written primarily in a customized version of the Java programming language.

  9. Pingback: CyanogenMod 10.1 als Alternative zu Jelly Bean -silicon.de

  10. Pingback: The Android SDK has never been free | iFonAndroid

  11. See https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/KUK4ZC2b94o for a discussion of these issues at Google’s site for developers working with Google on SDK tool enhancements. Google has not responded.

    My take on these license terms is that they have long been out of sync with the actual practices of Google’s SDK engineering team and outside partners; these terms were rarely noticed and never enforced; the terms became more onerous and impractical recently; the new terms are not yet in the current aosp sources, only in Google’s internal fork of those sources; and SDK users encounter these terms only when downloading an already-built SDK or SDK add-on packages directly from Google.

    When you build the SDK yourself from aosp sources, you never encounter the old or new license when acquiring or building from the sources, and so never agree to them or are bound by them. An app developer using an SDK that you build from aosp or replicant sources does not encounter the old or new license during normal use of the SDK. This license shows up only when the SDK user chooses to download optional add-on packages or update existing packages via the SDK Manager window. An SDK built from aosp sources sources has ARM, X86, and MIPS emulators already included, and includes a single instance of an Android system image for one combination of Android API level and ARM/X86/MIPS target cpu. This SDK build is complete enough for most app developers, without needing any of the optional packages from Google’s SDK repo.

    The sources for Replicant 4.0 SDK differ from the aosp ics-mr1-release branch on android.googlesource.com by a single 1-line change. In sdk/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepoConstants.java, the string constant
    URL_GOOGLE_SDK_SITE = “https://dl-ssl.google.com/android/repository/”
    is replaced by “http://ftp.osuosl.org/pub/replicant/sdk/repository/”.

    There is no such repository hosted at http://ftp.osuosl.org, yet. This change has the current effect of turning off the SDK Manager’s mechanisms for finding and downloading optional packages or update packages from Google’s repository. It guards against SDK users being confronted with the choice of using licensed stuff or not. This change is technically and legally not needed, but makes it easier for Replicant users to automatically stay with non-licensed software only.

    There has been a substantial amount of new development in Google’s SDK since the ICS release, with additional goodies (all open source in normal aosp fashion) and additional tool layers. There is much more to come. The source interactions between the SDK portion of Android sources and the rest of Android sources have been altered significantly since ICS, to make it easier for Google to release SDK changes on its own rhythm, separate from major Android releases. But those recent changes have made it unlikely that the replicant project can take any of the other recent SDK enhancements, until the rest of Replicant catches up to Jelly Bean and beyond.

    Some people suggest that all of the SDK sources are somehow affected by the license terms. I think they only apply to Google’s own SDK add-on packages when no sources are published elsewhere, and to Google’s binaries download sites, and to Google’s unpublished scripts for building and maintaining //dl-ssl.google.com/android/repository/ from its pieces.

    Replicant’s fork from the ics sources does not include SDK support for MIPS cpus; that was folded into aosp between the ics and jb releases.

  12. Pingback: What's up with the Android SDK? - Paul Kocialkowski's coding blog

  13. Pingback: Le SDK d'Android n'a jamais été libre - FrAndroid

  14. May I ask for a copy of NDK as well? To download it I have also to accept license terms.

  15. I think you’re missing a few key facts there. There is actually an issue. The fact that we didn’t know about it before doesn’t make it any less real. Let me just copy some of my /. comment here, that’ll save me some time:

    I’d like to point out some misunderstandings that would need to be corrected:
    * The Android SDK has apparently always been covered by this restrictive overall license. We just learned about it a couple days ago.
    The main changes that has actually been added recently (as far as we remember) are:
    * That the user is now requested to accept these terms before downloading the SDK and by refusing them, it isn’t possible to get the Android SDK. Since these terms are very restrictive, we believe that anyone should be free to develop software for the Android platform without having to comply with such restrictions and that’s why we decided to release a Replicant SDK.
    * That all the individual plug-ins from Google are covered by these terms, removing any clear distinction between what’s free and what’s not among these plug-ins. The Replicant SDK won’t check for software updates or plug-ins from Google and already comes with an usable emulator.

    As for the files in the Android SDK itself, you can check their license in the various NOTICE files. For what we’ve seen, all the software mentioned in those files is released under a free software license, thus they are still free software. However, it remains possible that non-free software is present in the Android SDK package (we haven’t checked each file particularly) and we thought it would be safer to release a Replicant SDK package. Moreover, if Google added that license, it is likely that it covers some of the files in it (or it would just have been a waste of time and energy to write that up), so we have good reasons to be suspicious that the Android SDK actually contains non-free software and thus, releasing a Replicant SDK sounds like a safe reaction.

    Our Replicant SDK package was built from the Replicant 4.0 source tree and contains free software only (if you find any non-free piece in it, please let us know), it is not released under any particular license: check each component’s license from the NOTICE files. Replicant uses the same codebase as CyanogenMod with some little modifications that are specific to our free system. The Replicant SDK is thus fully compatibly with any other Android distribution: you can use the Replicant SDK to develop software for another Android distribution.

  16. The Replicant SDK is pretty much a clone at the same API level of the original thing. We’ve just rebuilt it from source. Since we are based on CyanogenMod, some of CM’s improvements are likely to be found on the emulator.

  17. Canonical didn’t release any details yet to make us have a clear opinion about it. However, given the path Canonical and Ubuntu have taken, it seems that it’s not going to be much of a free-software system, but rather an Open Source one, with all the glorious non-free blobs that will be required to have the best user experience. Maybe it’ll be possible to get something fully free out of it, we’ll need to see when more details are available.
    About Tizen, I only overlooked their software release and can’t really give you much of a concrete answer, but it may be promising.

  18. Pingback: Fully Free ReplicantSDK Released After Google Made Android SDK 'Proprietary' | The Tech Journal

  19. Heartfelt thanks to everyone involved with this release & project in general. Keep fighting for the user.

  20. Pingback: telepong » Android SDK перестал быть свободным программным обеспечением

  21. Pingback: Android SDK перестал быть свободным программным обеспечением | TV Elem

  22. Pingback: No, Google is not making the Android SDK proprietary. What's the fuss about? - Information security & technology news

  23. Pingback: Old Click » No, Google is not making the Android SDK proprietary. What’s the fuss about?

  24. Pingback: Old Click » No, Google is not making the Android SDK proprietary. What’s the fuss about?

  25. Pingback: No, Google is not making the Android SDK proprietary. What’s the fuss about? | Ezspk Tech

  26. Pingback: No, Google is not making the Android SDK proprietary. What’s the fuss about?

  27. Pingback: Old Click » Shocker: Android SDK binaries still proprietary

  28. Do I have to run a replicant rom in my phone to run an app developed with this sdk? Is it a clone at API level of the original android?

  29. Thank you for releasing more freedom :-)

    What’s your opinion on the new “Ubuntu for phones” o.s.? Is it 100% free (like in “freedom”)? I have just read that it uses Android’s drivers, so probably it won’t be 100% free.

    And what’s your opinion on the new “Tizen” o.s.? It promises to be free software, but it is still alpha software.

  30. Good looking out buddy! I was considering writing some Android stuff for academic purposes, and just started reading up on the SDK a couple days ago. I would rather not pull proprietary code into my work if possible.

  31. We just discovered about these terms. On the other hand, it wasn’t required to accept these to download the SDK before AFAIK. Also, this license covering free software seems like a problem to us.

  32. Pingback: Android SDK被批评是私有软件 | 爱WP7 - 爱WinPhone爱WP7 – 爱WinPhone

  33. Pingback: Does Android Still Qualify as Free Software? | PHP World

  34. Pingback: <° Linux | El SDK de Android ya NO es Software Libre

  35. Pingback: Android SDK被批评是私有软件 - Yours苹果网((IPHONE4 IPAD2 MAcBOOK ios IPOD ITOUCH 苹果公司 乔布斯)

  36. Pingback: Google fights Android fragmentation with new proprietary SDK terms « Tim Anderson's ITWriting

  37. Why would that be a problem? We need to do fragmentation in order to provide our fully free version of Android. That’s one of the freedoms guaranteed by free software: we are free to distribute modified versions of the software, whether Google likes it nor not!

  38. You’re still taking an action “that may cause or result in the fragmentation of Android”

  39. Pingback: Android SDK被批评是私有软件 | 帮你资源

  40. Pingback: Android SDK被批评是私有软件

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.