01 — Purpose

Who maintains shared UI

Component ownership improves maintainability and accountability — teams should understand who maintains shared systems.

Design systems and shared component libraries rot without owners. Nobody fixes bugs, nobody reviews breaking changes, and teams fork duplicates rather than contribute back.

See CSS architecture and JS module architecture for technical structure that ownership protects.

02 — Principles

Shared systems need clear ownership

Documented ownership, review responsibility, and shared standards.

  • documented ownership — named team or maintainer per component area
  • review responsibility — shared PRs require owner approval
  • shared standards — one place for API, accessibility, and styling rules

03 — Practice

Good component governance

Make contribution paths clear and abandonment visible.

  • maintain a component catalogue — purpose, owner, status, and usage examples
  • define lifecycle — experimental, stable, deprecated — with sunset dates
  • require accessibility and performance review for shared components
  • align with naming and state conventions — see CSS naming conventions and state classes
  • track adoption — unused components get deprecated, not duplicated

04 — Avoid

Ownership failures

Unclear governance creates parallel systems and drift.

  • abandoned components — no maintainer, open issues, no roadmap
  • unclear governance — “everyone owns it” means nobody does
  • duplicated systems — Button2, CardNew, NavLegacy in different folders
  • breaking changes without migration path or comms
  • shared components that bypass design tokens and architecture rules

05 — Close

Name an owner

If no team is accountable, the component is already legacy.

Assign owners before scaling a design system. Review ownership quarterly — teams change, products pivot, components need new maintainers.

See design tokens, frontend QA checklist, and CSS standard.