While we are doing projects, we are evolving. We are developing and improving our knowledge and abilities to reuse in the next project.
Source code is the way to store imperative knowledge for later reuse. It is not the code itself (for computer to execute) it is encoded ideas within (for people to understand) what matters.
We are doing it for ourselves to keep evolving. With money we can do it more efficiently, with improved communication, advanced automation, several tasks in parallel.
Developing and applying an innovative, much more efficient technologies is the way of return of investments. We do not sell our source code, we solve problems with it.
The outcome is in being a partner in highly successful projects we were involved. When we solve a problem we become a provider of our solution. It is that simple.