<commit_before># Integrating proprietary components

[TOC]

One of the core principles of Jetpack is "Developed as open-source and
compatible with AOSP Android," but what does that mean in practice? This guide
provides specific, technical guidance on developing an open-source library and
interacting with proprietary or closed-source libraries and services.

## What do we mean by "open-source"?

Our definition of open-source includes products that provide publicly-available
source code that can be compiled by an end-user to generate a functional version
of the product, e.g. an `AAR`, that is equivalent to the one used by the
library.

### Exceptions

#### Android Open Source Project

The only unconditional exception to this definition is the Android Open Source
Project itself, which does not release sources publicly until well after its API
surface has been finalized.

Libraries which are developed against the pre-release Android platform SDK _may_
remain closed-source until the platform SDK's API surface is finalized, at which
they **must** move to open-source.

#### Closed-source dependencies

In specific cases, libraries *may* include closed-source dependencies. See the
[Open-source compatibility](api_guidelines.md#dependencies-aosp) section of the
API Guidelines for implementation details.

### Examples of products that are _not_ open-source

*   A bundled `.so` file with no publicly-available source code<commit_msg>Update broken link in open source documentation<commit_after># Integrating proprietary components

[TOC]

One of the core principles of Jetpack is "Developed as open-source and
compatible with AOSP Android," but what does that mean in practice? This guide
provides specific, technical guidance on developing an open-source library and
interacting with proprietary or closed-source libraries and services.

## What do we mean by "open-source"?

Our definition of open-source includes products that provide publicly-available
source code that can be compiled by an end-user to generate a functional version
of the product, e.g. an `AAR`, that is equivalent to the one used by the
library.

### Exceptions

#### Android Open Source Project

The only unconditional exception to this definition is the Android Open Source
Project itself, which does not release sources publicly until well after its API
surface has been finalized.

Libraries which are developed against the pre-release Android platform SDK _may_
remain closed-source until the platform SDK's API surface is finalized, at which
they **must** move to open-source.

#### Closed-source dependencies

In specific cases, libraries *may* include closed-source dependencies. See the
[Open-source compatibility](api_guidelines/dependencies.md#dependencies-aosp)
section of the API Guidelines for implementation details.

### Examples of products that are _not_ open-source

*   A bundled `.so` file with no publicly-available source code
{'fraction_non_alphanumeric': 0.053528810092055915, 'fraction_numerical': 0.0, 'mean_word_length': 5.06198347107438, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1733887', 'n_tokens_mistral': 710, 'n_tokens_neox': 682, 'n_words': 391}