About the Foundation for Public Code

Software as components

This resource


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


graphical representation of a stack of components

Points to get across

  • Modern software is not a single monolithic application
  • Modern software is made up of components
  • Components can be made up of other components



A website is made up of a component that lets you write the content, a component for the database to store the content, a component for the front end that shows the content, and a component for the software that links these components together.


A municipal water system functions like a single system, but every district and house have their own hook ups, water tanks, boilers, pipes, taps and so forth. These pipes and taps are generic components that make up the whole - they are interchangable and can be used in different contexts - from houses to streets to gardens.