blob: 9c64c717b49731c65c2c8a961df45a40841ae6c2 [file] [log] [blame]
Dan Morrill3cd199f2009-11-06 14:04:16 -08001page.title=People and Roles
2doc.type=source
3@jd:body
4<div>
5<p>The Android Open Source Project (AOSP) includes individuals working in a variety
6of roles. As noted in <a href="{@docRoot}about/philosophy.html">Our
7Philosophy</a>, the core AOSP members operate the Android product management
8and engineering process. This page describes these roles in a bit more
9detail.</p>
10<p>Anyone who is interested in exploring and contributing to Android can use the
11Android Open Source Project resources. Anyone can join the mailing lists, ask
12questions, contribute patches, report bugs, look at submitted patches, and use
13the tools. To get started with the Android code, see <a
14href="{@docRoot}source/index.html">Get Involved</a>.</p>
15
16<h2>AOSP Member</h2>
17<p>"AOSP Member" is a somewhat loose term, but generally refers to
18those organizations who are key contributors to Android, and who are managing
19the product requirements process and core engineering. You can think of this
20group as the Android "core team" responsible for Android's overall success in
21the marketplace. One of the most prominent AOSP members is Google.</p>
22<p/>
23
24<h2>Contributor</h2>
25<p>A "Contributor" is anyone making contributions to the AOSP source code,
26including both employees or other affiliates of an AOSP Member, as well as
27external developers who are contributing to Android on their own behalf.
28There is no distinction between Contributors who are affiliated with an AOSP
29Member, and those who are not: all engineers use the same git/gerrit tools,
30follow the same code review process, and are subject to the same requirements
31on code style and so on.</p>
32<p/>
33
34<h2>Developer</h2>
35<p>A "Developer" is an engineer writing applications that run on Android
36devices. There is, of course, no difference in skillset between a "Developer"
37and a "Contributor"; we simply use "Developer" to help identify our audience.
38Since the key purpose of Android is to cultivate an open development platform,
39"Developers" are one of the key customers of the Android project. As such, we
40talk about them a lot, though this isn't technically a separate role in the
41AOSP <i>per se.</i></p>
42<p/>
43
44<h2>Verifier</h2>
45<p>"Verifiers" are responsible for testing change requests. After individuals
46have submitted a significant amount of high-quality code to the project, the
47Project Leads might invite them to become Verifiers.</p><p><i>Note: at this
48time, generally Verifiers are the same as Approvers.</i></p>
49<p/>
50
51<h2>Approver</h2>
52"Approvers" are experienced members of the project who have demonstrated their
53design skills and have made significant technical contributions to the
54project. In the code-review process, an Approver decides whether to include or
55exclude a change. Project Leads (typically employed by an AOSP Member) choose
56the Approvers, sometimes promoting to this position Verifiers who have
57demonstrated their expertise within a specific project.</p>
58<p/>
59
60<h2>Project Leads</h2>
61<p>Android consists of a number of sub-projects; you can see these in the git
62repository, as individual .git files. The AOSP Members generally assign tech
63leads or product leads who oversee the engineering for individual Android
64projects. Typically these tech leads will be employees of an AOSP Member
65company. A Project Lead for an individual project is responsible for the
66following:</p>
67<ul>
68 <li>Lead all technical aspects of the project; for example, the project
69 roadmap, development, release cycles, versioning, and QA.</li>
70 <li>Ensure that the project is QA-ed in time for scheduled Android platform
71 releases.</li>
72 <li>Designate Verifiers and Approvers for submitted patches.</li>
73 <li>Be fair and unbiased while reviewing changes. Accept or reject patches
74 based on technical merit and alignment with the Android platform.</li>
75 <li>Review changes in a timely manner and make best efforts to communicate
76 when changes are not accepted.</li>
77 <li>Optionally maintain a web site for the project for information and
78 documents specific to the project.</li>
79 <li>Act as a facilitator in resolving technical conflicts.</li>
80 <li>Be the public face for the project and the go-to person for questions
81 related to the project.</li>
82</ul>
83</div>