5

Are you allowed to redistribute the Android ADB to the end users?

Is there a distributive / package that might be included in the installer?

We are considering to use it in order to provide a USB connectivity between our Android app and a desktop app. Is there any better ways you can suggest to easily establish a USB bridge in this situation?

Michael Aronzon
  • 107
  • 1
  • 7
  • 4
    I'm voting to close this question as off-topic because it is about licensing or legal issues, not programming or software development. [See here](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) and [here](http://meta.stackexchange.com/questions/139804/can-licensing-questions-ever-be-on-topic) for details, and the [help] for more. – JasonMArcher Jun 19 '15 at 05:29

3 Answers3

6

I believe that distributing the Android adb executable is perfectly legal. The SDK license agreement for android sdk at http://developer.android.com/sdk/terms.html has the following clause:

3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.

And since the adb client, which is located under the android tree at platform/system/core/adb is licensed under the http://www.apache.org/licenses/LICENSE-2.0, it should be perfectly legal.

But I'm not a lawyer, so don't take my word for granted and look for professional advice.

HFSDev
  • 417
  • 8
  • 15
4

Just to close this issue and probably help somebody else with similar questions in the future:

It seems that the Android SDK (which includes ADB) is not allowed for redistribution. Quoting from Android’s T&C:

“3.3 Except to the extent required by applicable third party licenses, you may not 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. Except to the extent required by applicable third party licenses, you may not 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.”

Robert
  • 39,162
  • 17
  • 99
  • 152
Michael Aronzon
  • 107
  • 1
  • 7
  • 2
    This is talking about the compiled, binary package of the SDK. What about compiling adb from sources and then redistributing it ? – m_vitaly Aug 26 '12 at 06:54
  • 1
    adb source code (latest from the AOSP master branch as of 1/7/2013) came with a NOTICE file which states that it's under Apache License Version 2.0. – ytw Jan 09 '13 at 03:26
  • You might be ok with compiling your own version of ADB and attributing the rights to the original source code somewhere in the documentation. Since the Android OS itself is covered with the same Apache License, technically building a derivative should be legal. – Michael Aronzon Feb 26 '13 at 22:18
  • I really don't understand why you guys talk about the binary version. Apache license 2.0 states: "2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form." Where object form means: compiled version too. – HFSDev Apr 04 '13 at 13:03
  • I was wondering if adb.exe and its dependency AdbWinApi.dll can't be redistributed, then how come it's also coming with Necessitas project? http://necessitas.kde.org/ . Once i install necessitas, adb and other platform-tools appear under C:\necessitas\android-sdk\platform-tools. Am i missing something?? – Manmohan Singh Nov 18 '13 at 09:36
  • so ... any conclusions? – Unknown123 Feb 25 '20 at 08:01
0

AOSP includes ADB source and has fairly liberal licensing terms, so if you were to determine that those were compatible with your needs you could build ADB yourself. It's a bit tricky to build it without building the rest, but it can be done if you carefully construct a Makefile and move some of the includes and dependencies from a utilities folder around.

Chris Stratton
  • 39,853
  • 6
  • 84
  • 117