  Linear Software Models is a systematic effort to formulate a theory of
software systems neatly based upon standard mathematics, viz. linear algebra.
It has appeared in a series of papers dealing with various aspects of the
theory. But one was lacking a single source for its key ideas. This paper
concisely distills foundational ideas and results obtained within Linear
Software Models. First and foremost we claim that one must have a deep
comprehension of the theory of software - the aim of this effort - before
embarking into theory and practice of software engineering. The Modularity
Matrix is the central algebraic structure of the software theory: it is the
source of quantitative modularity criteria; it displays high cohesion, i.e.
high sparsity; a Standard Modularity Matrix is defined - square and
block-diagonal - enabling designs comparison for any software systems in a
Software Design Laboratory. It triggers formulation of novel open questions
waiting for resolution.
