Pourquoi une arborescence à plat plutôt qu'en profondeur ?

Dans CVS, le code PEAR est organisé par paquets plutôt que de façon hiérarchique. Par exemple, si vous souhaitez utiliser la classe XML_RPC vous devez inclure le fichier "XML/RPC.php". Logiquement, on pourrait penser que dans le cvs ce fichier se trouve dans pear/XML/RPC.php, mais ce n'est pas le cas. XML_RPC est un paquetage indépendant qui dispose de sa structure propre dans le CVS. Dans ce cas précis, le fichier est localisé dans pear/XML_RPC/RPC.php. Le fichier de description du paquetage (package.xml) est utilisé pour dire où les fichiers seront finalement installés.

La raison pour laquelle le CVS est organisé de cette façon est que cela rend l'administration des paquetages plus facile.