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