blob: f1f646b95e20e6c2d4886daa0a64a7cc83973588 [file] [log] [blame]
Dan Morrill3cd199f2009-11-06 14:04:16 -08001page.title=Licenses
2doc.type=source
3@jd:body
4<div>
5<p>The Android Open Source Project uses a few <a
6href="http://www.opensource.org/">open source initiative</a> approved open
7source licenses to enable availability of source code and to accept
8contributions from individuals and corporations.</p>
9<h2>Android Open Source Project license</h2>
10<p>The preferred license for the Android Open Source Project is <a
11href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. Apache 2.0
12is a commercial and open source friendly open source license. The majority of
13the Android platform is licensed under the<a
14href="http://www.apache.org/licenses/">Apache 2.0 license</a>. While the
15project will strive to adhere to the preferred license, there may be
16exceptions which will be handled on a case-by-case basis. For example, the
17Linux kernel patches are under the GPLv2 license with system exceptions, which
18can be found on <a
19href="http://www.kernel.org/pub/linux/kernel/COPYING">kernel.org</a>.
20</p>
21<h2>Contributor License Grants</h2>
22<p>All <b>individual</b> contributors (that is, contributors making contributions
23only on their own behalf) of ideas, code, or documentation to the Android Open
24Source Project will be required to complete, sign, and submit an <a
25href="{@docRoot}source/cla-individual.html">Individual
26Contributor License Grant</a>. The grant can be executed online through the <a
27href="http://review.source.android.com/Gerrit#settings,agreements">code review
28tool</a>. The agreement clearly defines the terms under which intellectual
29property has been contributed to the Android Open Source Project.This license
30is for your protection as a contributor as well as the protection of the
31project; it does not change your rights to use your own contributions for any
32other purpose.</p>
33<p>For a <b>corporation</b> (or other entity) that has assigned employees to
34work on the Android Open Source Project, a <a
35href="{@docRoot}source/cla-corporate.html">Corporate
36Contributor License Grant</a> is available. This version of the Grant allows a
37corporation to authorize contributions submitted by its designated employees
38and to grant copyright and patent licenses. Note that a Corporate Contributor
39License Grant does not remove the need for any developer to sign their own
40Individual Contributor License Grant as an individual, to cover any of their
41contributions which are <b><i>not</i></b> owned by the corporation signing the
42Corporate Contributor License Grant.
43</p>
44<p>Please note that we based our grants on the ones that the <a
45href="http://www.apache.org/">Apache Software Foundation</a> uses, which can
46be found on <a href="http://www.apache.org/licenses/">the Apache web site</a>.</p>
47<h2>Why Apache Software License?</h2>
48<p>We are sometimes asked why Apache Software License 2.0 is the preferred
49license for Android. For userspace (that is, non-kernel) software, we do in
50fact prefer ASL2.0 (and similar licenses like BSD, MIT, etc.) over other
51licenses such as LGPL.</p>
52<p>Android is about freedom and choice. The purpose of Android is promote
53openness in the mobile world, but we don't believe it's possible to predict or
54dictate all the uses to which people will want to put our software. So, while
55we encourage everyone to make devices that are open and modifiable, we don't
56believe it is our place to force them to do so. Using LGPL libraries would
57often force them to do so.</p>
58<p>Here are some of our specific concerns:</p>
59<ol>
60<li>LGPL (in simplified terms) requires either: shipping of source to the
61application; a written offer for source; or linking the LGPL-ed library
62dynamically and allowing users to manually upgrade or replace the library.
63Since Android software is typically shipped in the form of a static system
64image, complying with these requirements ends up restricting OEMs' designs.
65(For instance, it's difficult for a user to replace a library on read-only
66flash storage.)</li>
67<li>LGPL requires allowance of customer modification and reverse
68engineering for debugging those modifications. Most app producers do
69want to have to be bound by these terms, and the more userspace libs
70that are LGPL, the more they would have to be to use Android
71userspace.</li>
72<li>Historically, LGPL libraries have been the source of a large number
73of compliance problems for downstream device makers and application
74developers (due to ignorance and disbelief, usually). Education is
75slow going, sadly. Part of android being successful as a platform is
76that we want to make it easy for our device makers to comply with the
77licenses in Android. Given the difficulties with complying with LGPL
78in the past, it is easiest to simply not use LGPL libraries if we can
79avoid it.</li>
80</ol>
81<p>The issues discussed above are our reasons for preferring ASL2.0 for
82our own code. They aren't criticisms of LGPL or other licenses. We do
83feel strongly on this topic, even to the point where we've gone out of our
84way to make sure as much code as possible is ASL2.0. However, we love all free
85and open source licenses, and respect others' opinions and preferences. We've
86simply decided that ASL2.0 is the right license for our goals.</p>
87</div>