Set up for Android Development

Android is an open source software stack created for a wide array of devices with different form factors. Android's primary purpose is to create an open software platform available for carriers, OEMs, and developers to make their innovative ideas a reality and to introduce a successful, real-world product that improves the mobile experience for users.

Android is designed so that there's no central point of failure, where one industry player restricts or controls the innovations of another. The result is a full, production-quality consumer product with source code open for customization and porting.

AOSP software stack architecture.
Figure 1. AOSP software stack architecture.

Governance philosophy

A group of companies known as the Open Handset Alliance (OHA), led by Google, originated Android. Today, many companies—both original members of the OHA and others—have invested heavily in Android. These companies have allocated significant engineering resources to improve Android and bring Android devices to market.

The companies that have invested in Android have done so because we believe an open platform is necessary. Android is intentionally and explicitly an open source effort (as opposed to free software); a group of organizations with shared needs has pooled resources to collaborate on a single implementation of a shared product. First and foremost, the Android philosophy is pragmatic. The objective is a shared product that each contributor can tailor and customize.

Of course, uncontrolled customization can lead to incompatible implementations. To prevent this, the Android Open Source Project (AOSP) maintains the Android Compatibility Program, which spells out what it means to be Android compatible and what's required of device builders to achieve that status. Anyone can use the Android source code for any purpose, and we welcome all legitimate uses. However, in order to take part in the shared ecosystem of applications we are building around Android, device builders must participate in the Android Compatibility Program.

AOSP is led by Google, who maintains and further develops Android. Although Android consists of multiple subprojects, AOSP is strictly project management. We view and manage Android as a single, holistic software product, not a distribution, specification, or collection of replaceable parts. Our intent is that device builders port Android to a device; they don't implement a specification or curate a distribution.