This page has general information on X development, including how to get started.
A common misconception is that developers need to understand all of X to get started. This is not true, and even of the "core" developers, only few actually know all the pieces that put X together. The best way to get started is to simply pick a problem and give it a try.
There is also a new book in the Amazon Kindle format, Hands-on Projects for the Linux Graphics Subsystem. This includes a number of original projects on the X.Org implementation of the Linux graphics subsystem. The book is aimed for instructors, students and any other OS internals enthusiasts.