Nobody that reads this blog can have missed that I’ve written a book and self-published it. It’s been a long and interesting journey, and I think I should share some of the experience.
The book started out of necessity. Not mines, but the communities. There was no good documentation on how to port to Python 3, and I realized that if it was going to be made, I had to do it, and that it would be a crazy amount of work. So I wondered if there was any way I could recuperate some of that in money. The idea I had was to write a series of 3-5 articles in Python Magazine, and then merge those articles with some appendices and forewords and things to a small book. I shipped this idea to Brandon Rhodes, the editor of the magazine, and since Python Magazine had a limited time of exclusivity on their articles, it turned out to work fine. I could write the articles, and after their exclusivity ran out, also publish it as a book.
So I started writing, around December 2009 if I remember correctly. During spring 2010 I had finished and delivered three articles, but by that the reorganizing Python Magazine was doing never got anywhere, and the articles was never published.
Publishing
At this time I started looking for publishers, as I now believed I could actually deliver a book. It’s a short book, but nevertheless, it’s a book. Most publishers, like O’Reilly, will pay out advances, and as such they will only accept your book if they believe in it. So they require you to fill out these long applications full of questions. As it would probably take me days just to fill out these applications and come up with answers to most of their questions (that I felt often didn’t apply) I decided that major publishers probably wasn’t the right thing for me.
I also talked to Packt Publishing. I’ve reviewed several of their books here, and they have several times mailed me if I want to write a book, often on weird topics that they think have a marked, like “Zope configuration”. I said that I’ve worked with Zope for 10 years and have no idea what “Zope Configuration” means. Packt first said no, as they didn’t want to publish a book that was likely to be less than 200 pages long. Then they said maybe, can you please write it in Microsoft Word using our templates? I said that I couldn’t. I wanted the examples to be tested, meaning that using Word was out. I needed a format that was basically text.
The option that laid ahead then was self-publishing. This also had the benefit of making it possible to use Creative Commons, something I wanted. After talking to Chris McDonough, who self-published his BFG (now Pyramid) book via CreateSpace. CreateSpace has the benefit of being owned by Amazon, and hence you get a much better deal when selling books via Amazon from them, then from other self-publishing print houses.
So I went with Create Space, and I wrote the book in Restructured Text, and used Sphinx and LaTeX to create a PDF output of the book, and I used GIMP to make a PDF cover, using an image of an albino Burmese Python I found on flickr.com by using their creative commons search. Brett Cannon was nice enough to write a foreword which added a nice touch of authority to the book and makes it sound like I know what I’m talking about.
But although I had the text, there was a long path to having a book. In Part 2 I’ll write a bit about the toolchain I used and the technical problems I had.
Filed under: python
