Skyler Kaufman | 4443691 | 2011-04-07 15:11:52 -0700 | [diff] [blame] | 1 | <!-- |
| 2 | Copyright 2010 The Android Open Source Project |
| 3 | |
| 4 | Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | you may not use this file except in compliance with the License. |
| 6 | You may obtain a copy of the License at |
| 7 | |
| 8 | http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | |
| 10 | Unless required by applicable law or agreed to in writing, software |
| 11 | distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | See the License for the specific language governing permissions and |
| 14 | limitations under the License. |
| 15 | --> |
| 16 | |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 17 | # Licenses # |
| 18 | |
| 19 | The Android Open Source Project uses a few [open source initiative](http://www.opensource.org/) |
| 20 | approved open source licenses for our software. |
| 21 | |
| 22 | ## Android Open Source Project license ## |
| 23 | |
| 24 | The preferred license for the Android Open Source Project is the [Apache |
| 25 | Software License, 2.0](http://www.apache.org/licenses/LICENSE-2.0) ("Apache 2.0"), |
| 26 | and the majority of the Android software is licensed |
| 27 | with Apache 2.0. While the project will strive to adhere to the preferred |
| 28 | license, there may be exceptions which will be handled on a case-by-case |
| 29 | basis. For example, the Linux kernel patches are under the GPLv2 license with |
| 30 | system exceptions, which can be found on [kernel.org](http://www.kernel.org/pub/linux/kernel/COPYING). |
| 31 | |
| 32 | ## Contributor License Grants ## |
| 33 | |
| 34 | All *individual* contributors (that is, contributors making contributions |
| 35 | only on their own behalf) of ideas, code, or documentation to the Android Open |
| 36 | Source Project will be required to complete, sign, and submit an [Individual |
| 37 | Contributor License Grant](cla-individual.html). The grant can be executed online through the |
Jean-Baptiste Queru | 0e3ee32 | 2012-01-11 05:42:17 -0800 | [diff] [blame] | 38 | [code review tool](https://android-review.googlesource.com/#/settings/agreements). |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 39 | The grant clearly defines the terms under which intellectual |
| 40 | property has been contributed to the Android Open Source Project. This license |
| 41 | is for your protection as a contributor as well as the protection of the |
| 42 | project; it does not change your rights to use your own contributions for any |
| 43 | other purpose. |
| 44 | |
| 45 | For a *corporation* (or other entity) that has assigned employees to |
| 46 | work on the Android Open Source Project, a [Corporate |
Dan Morrill | 1cbb5ed | 2012-03-16 13:45:31 -0700 | [diff] [blame] | 47 | Contributor License Grant](cla-corporate.pdf) is available. |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 48 | This version of the grant allows a |
| 49 | corporation to authorize contributions submitted by its designated employees |
| 50 | and to grant copyright and patent licenses. Note that a Corporate Contributor |
| 51 | License Grant does not remove the need for any developer to sign their own |
| 52 | Individual Contributor License Grant as an individual, to cover any of their |
| 53 | contributions which are *not* owned by the corporation signing the |
| 54 | Corporate Contributor License Grant. |
| 55 | |
| 56 | Please note that we based our grants on the ones that the |
| 57 | [Apache Software Foundation](http://www.apache.org) uses, which can |
| 58 | be found on [the Apache web site](http://www.apache.org/licenses/). |
| 59 | |
| 60 | ## Why Apache Software License? ## |
| 61 | |
| 62 | We are sometimes asked why Apache Software License 2.0 is the preferred |
| 63 | license for Android. For userspace (that is, non-kernel) software, we do in |
| 64 | fact prefer ASL2.0 (and similar licenses like BSD, MIT, etc.) over other |
| 65 | licenses such as LGPL. |
| 66 | |
| 67 | Android is about freedom and choice. The purpose of Android is promote |
| 68 | openness in the mobile world, but we don't believe it's possible to predict or |
| 69 | dictate all the uses to which people will want to put our software. So, while |
| 70 | we encourage everyone to make devices that are open and modifiable, we don't |
| 71 | believe it is our place to force them to do so. Using LGPL libraries would |
| 72 | often force them to do so. |
| 73 | |
| 74 | Here are some of our specific concerns: |
| 75 | |
| 76 | - LGPL (in simplified terms) requires either: shipping of source to the |
| 77 | application; a written offer for source; or linking the LGPL-ed library |
| 78 | dynamically and allowing users to manually upgrade or replace the library. |
| 79 | Since Android software is typically shipped in the form of a static system |
| 80 | image, complying with these requirements ends up restricting OEMs' designs. |
| 81 | (For instance, it's difficult for a user to replace a library on read-only |
| 82 | flash storage.) |
| 83 | |
| 84 | - LGPL requires allowance of customer modification and reverse |
| 85 | engineering for debugging those modifications. Most device makers do |
| 86 | not want to have to be bound by these terms, so to minimize the burden on |
| 87 | these companies we minimize usage of LGPL software in userspace.</li> |
| 88 | |
| 89 | - Historically, LGPL libraries have been the source of a large number |
| 90 | of compliance problems for downstream device makers and application |
| 91 | developers. Educating engineers on these issues is difficult and slow-going, |
| 92 | unfortunately. It's critical to Android's success that it be as easy as |
| 93 | possible for device makers to comply with the licenses. Given the |
| 94 | difficulties with complying with LGPL in the past, it is most prudent to |
| 95 | simply not use LGPL libraries if we can avoid it. |
| 96 | |
| 97 | The issues discussed above are our reasons for preferring ASL2.0 for |
| 98 | our own code. They aren't criticisms of LGPL or other licenses. We do |
| 99 | feel strongly on this topic, even to the point where we've gone out of our |
| 100 | way to make sure as much code as possible is ASL2.0. However, we love all free |
| 101 | and open source licenses, and respect others' opinions and preferences. We've |
| 102 | simply decided that ASL2.0 is the right license for our goals. |
| 103 | |