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