"Make or Take" Decisions in Andrew

Morris, J.H.

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.