Why Are AOSP and ChromiumOS Forks Listed in chromium Git Repositories?
Updated
chromium.googlesource.com hosts the Chromium project's Git repositories, and its repository index includes many entries prefixed aosp/ because ChromiumOS (the OS layer built around Chromium) maintains its own forks of Android Open Source Project (AOSP) code there. The listing is a map of where ChromiumOS keeps third-party and upstream-derived components, not a claim that Chromium owns AOSP. You'll see these entries when browsing the repository list or looking for the source of a ChromiumOS component such as Bluetooth, libbrillo, or minijail.
What the aosp/ entries actually are
Most aosp/ repositories are described in the index as "ChromiumOS fork of https://android.googlesource.com/platform/…". That wording tells you three things:
- The upstream project lives in AOSP, mirrored at
android.googlesource.com. - ChromiumOS keeps a fork on the Chromium Git host so it can carry ChromiumOS-specific changes.
- The fork is the copy you should look at if you're tracing ChromiumOS behavior rather than upstream Android behavior.
Some entries are described as "Repos that are mirrored/forked directly from https://android.googlesource.com/" — a plain mirror with no ChromiumOS-specific divergence implied by the description.
Why forks live on the Chromium host
ChromiumOS builds on a mix of Chromium code and lower-level system components, several of which originate in AOSP (for example platform/system/bt for Bluetooth, platform/external/libbrillo, and platform/external/minijail). Keeping the fork on the same Git host as the rest of ChromiumOS lets the project pin, patch, and review those components alongside its own code, using the same code review and access tooling shown on the repository index page.
A practical consequence: when you search for a component's source, the Chromium-hosted fork is often the authoritative copy for ChromiumOS, while the AOSP URL in the description is the upstream reference point.
What "MOVED" means in the list
Several entries carry a (MOVED) marker, and the description explains where the code went. The pattern is consistent: a fork that was once separate has been merged back into a ChromiumOS platform repository. Examples from the index:
| Repository | What the description says |
|---|---|
aosp/platform/system/connectivity/shill |
Merged into src/platform2/shill/ again |
aosp/platform/system/connectivity/apmanager |
Merged into src/platform2/apmanager/ again |
aosp/platform/external/libbrillo |
Merged into src/platform2/libbrillo/ again |
aosp/platform/system/attestation |
Merged into aosp/platform/system/tpm/ |
aosp/platform/external/libchrome |
Moved to chromiumos/platform/libchrome |
aosp/platform/external/libchromeos |
Renamed to platform/external/libbrillo/ |
So a MOVED entry is a signpost, not a live location. If you need current code for shill, for instance, the description points you to src/platform2/shill/ rather than the old aosp/ path.
How to use the list to find code
- Open the repository index at
chromium.googlesource.comand locate the component by name (the list is alphabetical, grouped by prefix such asaosp/,chromiumos/,src/). - Read the description column before cloning. If it says
(MOVED), follow the destination it names instead of the repository you clicked. - If the description says "ChromiumOS fork of …", treat the Chromium-hosted repo as the ChromiumOS copy and the
android.googlesource.comURL as upstream. - Clone from the repository page's own clone instructions; the index page itself only lists names and descriptions.
The main pitfall is cloning a MOVED repository and working against stale code — always check the description first. The second is assuming an aosp/ fork is identical to upstream AOSP; the fork exists precisely because ChromiumOS changes it.