"Make or Take" Decisions in Andrew
In creating a software system on top of a rich system like Berkeley UNIX,
one has many choices of where to start building a particular facility.
In creating the Andrew system we generally chose to maximize our use of
existing things in the beginning and gradually replaced components as our
understanding increased. In this paper we analyze several examples of this
process. Some of the areas discussed are: the programming environment,
the file system, protocols, window systems, document editors, the shell,
printing, and mail.