The Android Open Source Project (AOSP) includes individuals working in a variety of roles. Google is responsible for Android product management and the engineering process for the core framework and platform; however, AOSP considers contributions from any source, not just Google. This page describes the kinds of roles that interested parties can take on.
Anyone who is interested in exploring and contributing to Android can use the AOSP resources. Anyone can join the mailing lists, ask questions, contribute patches, report bugs, look at submitted patches, and use the tools. To get started with the Android code, see Contributing.
Contributors make contributions to the AOSP source code. Contributors can be employees of Google or other companies, as well as individual developers with no company affiliation. There is no distinction between contributors; they all use the same tools (git, Repo, and Gerrit), follow the same code review process, are subject to the same requirements on code style, and so on.
Developers write the applications that run on Android devices. Developers and contributors often have similar skillsets, but developers use the platform rather than contributing to it, so AOSP considers developers to be customers. We talk about developers a lot, even though this isn't technically a separate role in the AOSP.
Verifiers can test change requests. After individuals have submitted a significant amount of high-quality code to the project, the project leads might invite them to become verifiers.
Approvers are experienced members of AOSP who have made significant technical and design contributions to the project. In the code-review process, an approver decides whether to include or exclude a change. Project leads (who are typically employed by Google) choose the approvers, sometimes promoting verifiers to leads when they demonstrate expertise on a specific project.
Android consists of a number of sub-projects; you can see these in the git repository as individual git files. Project leads are senior contributors who oversee the engineering for individual Android projects. Typically these project leads are Google employees. A project lead for an individual project is responsible for the following:
- Lead all technical aspects of the project, including the project roadmap, development, release cycles, versioning, and quality assurance (QA).
- Ensure that the project is tested by QA in time for scheduled Android platform releases.
- Designate verifiers and approvers for submitted patches.
- Be fair and unbiased while reviewing changes. Accept or reject patches based on technical merit and alignment with the Android strategy.
- Review changes in a timely manner and make best efforts to communicate when changes are not accepted.
- Optionally maintain a website for the project for information and documents specific to the project.
- Act as a facilitator in resolving technical conflicts.
- Be a public face for the project and the go-to person for questions related to the project.