あのなぁ、一番大切なのは、基本思想 …… ポリシーなんだよ!

 

設計思想
1984年、Bob ScheiflerとJim GettysはXの基本原則を以下のように定めた[2][3]。

実際のアプリケーションでどうしても必要という場合以外は、新機能を追加するな。
機構が何でないのかを定義することは、何であるのかを定義するのと同じように重要である。あらゆる要求に答える必要はない。むしろ、互換性を維持した状態で拡張可能にしておけ。
1つでも例を挙げて一般化したほうが、全く例を挙げずに一般化するよりもマシである。
問題が完全に把握できないときは、解決策も提供しないのが最善の方法である。
10%の作業で望みの90%の効果が得られるときには、その解法を使え。
複雑さは可能な限り分離せよ。
方針よりも機構を提供せよ。特にユーザインタフェースについての方針はクライアント側に任せておけ。
先頭の原則は、X11の設計時に「具体的アプリケーションがそれを必要としていることを知っている場合に限って、新たな機能を追加せよ」に修正された。

Xはだいたいにおいてこれらの原則に従ってきた。参考実装は拡張性と改良を視野に入れて開発されており、1987年当時のプロトコルとほぼ完全な互換性を維持している。