Internalizing maintenance cost into the system is often something that’s foregone in software since the cost to create can be so low