Documentation is great in that it can elaborate in much more detail, especially with actual pictures and graphs.
However, unlike source code, documentation cannot be machine tested for correctness.
Honestly, they're both important, and for different reasons. In this instance, Cydrak and I were able to pass revisions of the ARM core back and forth to fully debug it.
No doubt books are very useful learning tools. However, depending on the code, source code can be equally if not more useful. For example, years ago I learned a lot about C by reading (and later writing) Linux kernel source code.
It's also true that code being open source doesn't mean the code is useful, but a book being published doesn't mean the material is presented well, either.
Maybe it's just my pro-open source bias, but it feels like you've got an axe to grind against open source. If so, would you mind sharing why (maybe you know something I don't)?
I'm sure you weren't implying me in particular, but to clarify, I certainly don't think open source is the solution to everything.
I just find it particularly important in the field of emulation. This is much like a science, with constant refinements to theories. Since we're running against the clock to preserve these systems before they die, I assign much more value to open source emulators than I do to other applications (for instance, I'm happy to use the closed source nVidia driver on Linux.)
I however think it is a prime example of great teamwork rather than open source.
Open source is a mean, not an end. We tend to forget that.