XCB
XCB の主な目的は以下の2つである。
ライブラリサイズを小さくし、単純化する。
Xプロトコルに直接アクセスする。
後者の目的には、C言語インタフェースを非同期にするという意味も含まれ、マルチスレッド化しやすくし、(XMLプロトコル記述により)拡張実装を容易にする。
コアプロトコルと拡張プロトコルはXML (xcb-proto) で記述され、CバインディングはPythonスクリプトによって生成される(以前のバージョンではXSLTあるいはm4を使っていた)。第三の目的は、このプロトコル記述をプロトコルに関する文書生成に再利用したり、C言語以外のバインディングやサーバサイドのスタブ生成に活用することである。
Massey らは XCB の主要部分の形式的検証をZ言語を使って行ってきた(Xlib にはマルチスレッドの同期処理にAPI仕様レベルで誤りがあることが以前から知られていた)。