About the Foundation for Public Code

Components can be shared

This resource


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.