blob: 1badf26ae9806bc2b6cb46cff737b44b79d7ccdc [file] [log] [blame] [view]
Skyler Kaufman991ae4d2011-04-07 12:30:41 -07001# People and Roles #
2
3The Android Open Source Project (AOSP) includes individuals working in a variety
4of roles. As noted in [Our Philosophy](about/philosophy.html), Google is responsible for Android product management
5and the engineering process for the core framework and platform; however,
6the project considers contributions from any source, not just Google. This
7page describes the kinds of roles that interested parties can take on.
8
9Anyone who is interested in exploring and contributing to Android can use the
10Android Open Source Project resources. Anyone can join the mailing lists, ask
11questions, contribute patches, report bugs, look at submitted patches, and use
12the tools. To get started with the Android code, see [Get Involved](source/index.html).
13
14## Contributor ##
15
16A "Contributor" is anyone making contributions to the AOSP source code,
17including both employees of Google or other companies, as well as external
18developers who are contributing to Android on their own behalf. There is no
19distinction between Contributors who are employed by Google, and those who are
20not: all engineers use the same tools (git, repo, and gerrit),
21follow the same code review process, and are subject
22to the same requirements on code style and so on.
23
24## Developer ##
25
26A "Developer" is an engineer writing applications that run on Android
27devices. There is, of course, no difference in skillset between a "Developer"
28and a "Contributor", but AOSP uses "Developer" to distinguish between
29engineers using the platform and those contributing to it. Developers are
30(along with end users) the "customers" of the platform that the Contributors
31create. As such, we talk about Developers a lot, though this isn't technically
32a separate role in the AOSP per se.
33
34## Verifier ##
35
36"Verifiers" are responsible for testing change requests. After individuals
37have submitted a significant amount of high-quality code to the project, the
38Project Leads might invite them to become Verifiers. *Note: at this
39time, generally Verifiers are the same as Approvers.*
40
41## Approver ##
42
43"Approvers" are experienced members of the project who have demonstrated their
44design skills and have made significant technical contributions to the
45project. In the code-review process, an Approver decides whether to include or
46exclude a change. Project Leads (who are typically employed by Google) choose
47the Approvers, sometimes promoting to this position Verifiers who have
48demonstrated their expertise within a specific project.
49
50## Project Leads ##
51
52Android consists of a number of sub-projects; you can see these in the git
53repository, as individual .git files. Tech Leads are senior Contributors who
54oversee the engineering for individual Android projects. Typically these tech
55leads will be Google employees. A Project Lead for an individual project is
56responsible for the following:
57
58- Lead all technical aspects of the project; for example, the project roadmap,
59 development, release cycles, versioning, and QA.
60
61- Ensure that the project is QA-ed in time for scheduled Android platform
62 releases.
63
64- Designate Verifiers and Approvers for submitted patches.
65
66- Be fair and unbiased while reviewing changes. Accept or reject patches
67 based on technical merit and alignment with the Android strategy.
68
69- Review changes in a timely manner and make best efforts to communicate
70 when changes are not accepted.
71
72- Optionally maintain a web site for the project for information and
73 documents specific to the project.
74
75- Act as a facilitator in resolving technical conflicts.
76
77- Be a public face for the project and the go-to person for questions
78 related to the project.
79