Whew, there certainly is so much difference in documentation levels of open source libraries :)
For example, Gnu SASL library documentation is comprehensive and serves almost as an introduction to the subject itself. It teaches not only the use of the library, but the principles of SASL.
Yesterday I finally found out, how to get started with AVRO, and it certainly was difficult to figure out, which C functions I need to call to get it working. Looking through the source proved to be the only way...
I understand the difference in user volume and maturity of the libraries, but I just had to vent some steam :)
And speaking of libraries, I have noted that to understand the need for a library you usually have to start coding the stuff yourself, imagining it to be fairly simple. Only after a few hundred lines of code the idea of learning to use a library instead starts to emerge.