1.3. Architectural Guidelines
Prev | Chapter 1. Introduction | Next

## 1.3. Architectural Guidelines

Our ideology can be described by the following guidelines

- Do not add new functionality unless an implementor cannot complete a real application without it.

- It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion.

- The only thing worse than generalizing from one example is generalizing from no examples at all.

- If a problem is not completely understood, it is probably best to provide no solution at all.

- If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution.

- Isolate complexity as much as possible.

- Provide mechanism, rather than policy. In particular, place user interface policy in the client's hands.

From Scheifler & Gettys: "X Window System"

Prev | Up | Next
1.2. The BSD Vision | Home | 1.4. The Layout of `/usr/src`

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.