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