page.title=Licenses @jd:body

In this document

The Android Open Source Project uses a few open source initiative approved open source licenses for our software.

Android Open Source Project License

The preferred license for the Android Open Source Project is the Apache Software License, Version 2.0 ("Apache 2.0"), and the majority of the Android software is licensed with Apache 2.0. While the project will strive to adhere to the preferred license, there may be exceptions that will be handled on a case-by-case basis. For example, the Linux kernel patches are under the GPLv2 license with system exceptions, which can be found on kernel.org.

Contributor License Grants

All individual contributors (that is, contributors making contributions only on their own behalf) of ideas, code, or documentation to the Android Open Source Project will be required to complete, sign, and submit an Individual Contributor License Grant. The grant can be executed online through the code review tool. The grant clearly defines the terms under which intellectual property has been contributed to the Android Open Source Project. This license is for your protection as a contributor as well as the protection of the project; it does not change your rights to use your own contributions for any other purpose.

For a corporation (or other entity) that has assigned employees to work on the Android Open Source Project, a Corporate Contributor License Grant is available. This version of the grant allows a corporation to authorize contributions submitted by its designated employees and to grant copyright and patent licenses. Note that a Corporate Contributor License Grant does not remove the need for any developer to sign their own Individual Contributor License Grant as an individual. The individual grant is needed to cover any of their contributions that are not owned by the corporation signing the Corporate Contributor License Grant.

Please note we based our grants on the ones the Apache Software Foundation uses, which can be found on the Apache web site.

Why Apache Software License?

We are sometimes asked why Apache Software License 2.0 is the preferred license for Android. For userspace (that is, non-kernel) software, we do in fact prefer ASL2.0 (and similar licenses like BSD, MIT, etc.) over other licenses such as LGPL.

Android is about freedom and choice. The purpose of Android is promote openness in the mobile world, and we don't believe it's possible to predict or dictate all the uses to which people will want to put our software. So, while we encourage everyone to make devices that are open and modifiable, we don't believe it is our place to force them to do so. Using LGPL libraries would often force them to do just that.

Here are some of our specific concerns:

The issues discussed above are our reasons for preferring ASL2.0 for our own code. They aren't criticisms of LGPL or other licenses. We are passionate about this topic, even to the point where we've gone out of our way to make sure as much code as possible is ASL2.0 licensed. However, we love all free and open source licenses, and respect others' opinions and preferences. We've simply decided ASL2.0 is the right license for our goals.