Skip to content

New Pattern: Add Centralised InnerSource Repository Governance pattern - #919

Open
amburi wants to merge 2 commits into
InnerSourceCommons:mainfrom
amburi:pattern-centralised-repository-governance
Open

New Pattern: Add Centralised InnerSource Repository Governance pattern#919
amburi wants to merge 2 commits into
InnerSourceCommons:mainfrom
amburi:pattern-centralised-repository-governance

Conversation

@amburi

@amburi amburi commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new InnerSource pattern for maintaining repository contributor readiness at scale through a central
governance repository, policy-as-code, and scheduled readiness audits.

Changes

  • Introduces the Centralised InnerSource Repository Governance pattern.
  • Frames governance around InnerSource readiness, discoverability, documentation, ownership, communication,
    and contribution paths.
  • Defines readiness policies for checks such as README.md, CONTRIBUTING.md, CODEOWNERS, issue/PR templates, labels, portal metadata, and trusted collaboration settings.
  • Adds guidance for repository inventory, policy profiles, exception handling, and source-of-truth
    boundaries.
  • Covers incremental, rate-aware audits to reduce GitHub API and CI infrastructure strain.
  • Clarifies roles for contributors, Trusted Committers, repository maintainers, ISPO/community stewards,
    platform/security partners, and Product Owners.
  • Includes governance repository protection, reporting principles, remediation guidance, and operating
    metrics.
  • Links related InnerSource patterns.

@amburi
amburi marked this pull request as draft July 20, 2026 11:10
@amburi
amburi force-pushed the pattern-centralised-repository-governance branch from 8c3a01e to 105d98c Compare July 20, 2026 11:19
@amburi
amburi marked this pull request as ready for review July 20, 2026 11:21
@amburi amburi changed the title Add Centralised InnerSource Repository Governance pattern New Pattern: Add Centralised InnerSource Repository Governance pattern Jul 20, 2026
@spier spier added 1-initial Donuts, Early pattern ideas, ... (Please see our contribution handbook for details) 📖 Type - Content Work Working on contents is the main focus of this issue / PR labels Aug 1, 2026

@spier spier left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@amburi this pattern looks great already! I left some minor comments.

Just curious:
The pattern sounds like you already have a reference implementation of this. If you want you could share more in the Solution section about the stack that you used to implement this.

Or if you have open sourced that work, you can of course also link to that (although I am assuming that this is an internal project at your org rather?).


## Solution

Create a **central InnerSource governance repository** that defines contributor-readiness expectations as policy-as-code and audits repositories in scope. Treat it as an internal product with clear roles, review rules, actionable reports, and an exception process.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Create a **central InnerSource governance repository** that defines contributor-readiness expectations as policy-as-code and audits repositories in scope. Treat it as an internal product with clear roles, review rules, actionable reports, and an exception process.
Create a **central InnerSource governance repository** that defines contributor-readiness expectations as policy-as-code. Run audits of these policies across all repositories in scope.
Treat it as an internal product with clear roles, review rules, actionable reports, and an exception process.


### Repository Inventory

Maintain the audit scope in `repository-inventory.yml`, or import it from an InnerSource Portal or source code inventory.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Maintain the audit scope in `repository-inventory.yml`, or import it from an InnerSource Portal or source code inventory.
Maintain the audit scope in `repository-inventory.yml`, or import it from an [InnerSource Portal](../2-structured/innersource-portal.md) or [Unified Source Code Inventory](../1-initial/source-code-inventory.md).

* [Assisted Compliance](assisted_compliance.md) — helps Trusted Committers and repository maintainers add missing contribution guidance.
* [Communication Tooling](../2-structured/communication-tooling.md) — describes communication channels that readiness checks can require.
* [Issue Tracker Use Cases](../2-structured/issue-tracker.md) — supports checks for issue templates and transparent planning.
* [Unified Source Code Inventory](source-code-inventory.md) — can provide audit scope and repository metadata.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* [Unified Source Code Inventory](source-code-inventory.md) — can provide audit scope and repository metadata.
* [Unified Source Code Inventory](../1-initial/source-code-inventory.md) — can provide audit scope and repository metadata.

Even if the files are in the same folder, I like to include the folder name in the link, as that clearly shows which maturity this pattern is at. This also makes it simple to copy the links to different patterns.

Comment on lines +189 to +205
## Use This Pattern When

* You have many InnerSource repositories owned by different teams.
* Contributors struggle to identify how to use or contribute to projects.
* InnerSource Portal quality depends on repository metadata and project hygiene.
* Manual readiness checks are too slow or incomplete.
* You want transparent policy-as-code instead of undocumented central checks.
* Poor contributor experience costs more than maintaining the governance process.

## Don’t Use This Pattern When

* Only a few InnerSource repositories exist and manual support is enough.
* You need hard enforcement at merge time rather than periodic guidance.
* You cannot maintain repository ownership or lifecycle metadata.
* You cannot protect the governance repository and its credentials.
* Most projects require unique contribution models that do not fit a small set of profiles.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am moving this content to Context, as the purpose of that section is to allow a reader to decide whether the pattern is applicable for them. So this context here fits that purpose perfectly.

Suggested change
## Use This Pattern When
* You have many InnerSource repositories owned by different teams.
* Contributors struggle to identify how to use or contribute to projects.
* InnerSource Portal quality depends on repository metadata and project hygiene.
* Manual readiness checks are too slow or incomplete.
* You want transparent policy-as-code instead of undocumented central checks.
* Poor contributor experience costs more than maintaining the governance process.
## Don’t Use This Pattern When
* Only a few InnerSource repositories exist and manual support is enough.
* You need hard enforcement at merge time rather than periodic guidance.
* You cannot maintain repository ownership or lifecycle metadata.
* You cannot protect the governance repository and its credentials.
* Most projects require unique contribution models that do not fit a small set of profiles.

* An InnerSource Program Office, platform team, or community group stewards shared readiness expectations.
* An InnerSource Portal, source code inventory, or repository catalogue may already exist.
* GitHub Actions, GitHub APIs, or similar automation tooling is available.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Use This Pattern When
* You have many InnerSource repositories owned by different teams.
* Contributors struggle to identify how to use or contribute to projects.
* InnerSource Portal quality depends on repository metadata and project hygiene.
* Manual readiness checks are too slow or incomplete.
* You want transparent policy-as-code instead of undocumented central checks.
* Poor contributor experience costs more than maintaining the governance process.
### Don’t Use This Pattern When
* Only a few InnerSource repositories exist and manual support is enough.
* You need hard enforcement at merge time rather than periodic guidance.
* You cannot maintain repository ownership or lifecycle metadata.
* You cannot protect the governance repository and its credentials.
* Most projects require unique contribution models that do not fit a small set of profiles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1-initial Donuts, Early pattern ideas, ... (Please see our contribution handbook for details) 📖 Type - Content Work Working on contents is the main focus of this issue / PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants