About the Foundation for Public Code

Components can be shared

This resource


  1. Diagram
  2. Points to get across
  3. Examples
    1. Digital
    2. Metaphorical


graphical representation of two stacks of components with a shared component

Points to get across

  • A single component can simultaneously be used for multiple purposes, and in combination with other components
  • A component can be used for something new that didn’t exist when it was created
  • A component can be swapped out for a new component
  • A component can be shared by multiple organizations, for the same or different purposes



A database component can store data collected by different people, and can be queried by different people for different reasons. This component can be replaced with a new database component without an overhaul of how the data was collected, or the process enabled by the data.


A public water tap can be used by different people to drink water, have a water fight or wash a car, and can be replaced with a new tap, without an overhaul of the water mains or how you consume water.