X Servers - Principles

Principles

In 1984, Bob Scheifler and Jim Gettys set out the early principles of X:

  • 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. (See also Worse is better.)
  • Isolate complexity as much as possible.
  • Provide mechanism rather than policy. In particular, place user interface policy in the clients' hands.

The first principle was modified during the design of X11 to: "Do not add new functionality unless you know of some real application that will require it."

X has largely kept to these principles. The sample implementation is developed with a view to extension and improvement of the implementation, while remaining compatible with the original 1987 protocol.

Read more about this topic:  X Servers

Famous quotes containing the word principles:

    The same principles which at first view lead to skepticism, pursued to a certain point, bring men back to common sense.
    George Berkeley (1685–1753)

    Struggle is the father of all things.... It is not by the principles of humanity that man lives or is able to preserve himself above the animal world, but solely by means of the most brutal struggle.
    Adolf Hitler (1889–1945)

    Unless democracy is to commit suicide by consenting to its own destruction, it will have to find some formidable answer to those who come to it saying: “I demand from you in the name of your principles the rights which I shall deny to you later in the name of my principles.”
    Walter Lippmann (1889–1974)