So this post is going to be a big “duh” for anyone who has written a book covering an open source project, but it was a bit of a surprise for me…
And every time a new Drupal book comes out, there’s a considerable amount of congratulations to the authors and little bit of grumbling about it being a missed opportunity to improve drupal’s free docs.
I was recently asked to co-author an upcoming book on Drupal 7 module development, writing the chapters on the theme system. Now, for the past year I have been wanting to write a ton of tutorial-based theme system documentation (something we are sorely lacking), but I never had time (too many D7 core patches!) So I began to wonder if I would be “cashing in” by writing a book instead of the free docs I had intended to write.
However, this past week I realized that writing a book is very analogous to writing a custom module for a website. It is because you are being paid to write that custom code that you have the opportunity to work with and contribute back to the free software.
The example that made me come to this realization was that last week I was writing about Drupal 7 theme hooks when I wanted to point at the existing API documentation. And its then that I realized that those free docs needed some big updates before I could even put the URL in my chapter. Many of the theme hooks were simply missing from the @ingroup themeable page. And because I was getting paid to write this book, it gave me the motivation and opportunity to fix the free docs.
With every Drupal site that gets built, a portion of them will contribute back. So the more sites that get built, the more code gets contributed. Same with documentation! The more Drupal books get written, the better Drupal’s free docs will get.
So, yes, I am “cashing in”, but it just means more free docs for everyone!
Edit: Thanks to some comments below, I’ve changed my original phrase “cashing out” to “cashing in”. Laura et al. were correct! “Cashing out” means to dispose of a long-held asset for profit. And I’m definitely not disposing of Drupal! :-)