Enable read‑only collaborators to contribute code by forking a repository to their own project/org and opening a pull request back to the upstream repo—without requiring write access to the upstream. There are workarounds that offer a similar functionality, but we lose the PR UX and it makes policies and implementation more complex. Forks Allow a user to fork a repo into a chosen scope (account/org/project), preserving a fork linkage to the upstream (like GitHub). Provide Sync from upstream (UI and API) to update the fork’s default branch (equivalent to “Fetch upstream / Sync fork”). Cross‑Repository PRs (across forks): Allow creating a PR where base is an upstream repo/branch and compare is a branch in the user’s fork (“compare across forks” UX). Support the common flags: “Allow edits from maintainers,” status checks, merge strategies, and branch protections enforced by the destination repo’s rules. Governance & RBAC: Org/account setting to allow/disallow forks (private repos), mirroring GitHub’s forking policy toggles for private scopes. Clear visibility of the fork network, limits on fork depth, and audit events for fork/sync/PR actions