The biggest mystery for me is how you get a proposal approved by a publisher. Perhaps the secret is simply persistence…
Build a track record with a publisher. In fact, it’s the same as any other large bit of consulting work: build a track record with the client.
Back around 2002, I was involved with the Jabber (XMPP) standards process. Peter St Andre, who was running it, had a contract to write a book on Jabber for for Prentice Hall but was spending 60 hours a week on the standards effort and so didn’t have time to work on it, so he sent a call out to the group to see if anyone else would do it. I replied and he introduced me to his editor. It turned out that they were happy he wasn’t writing it because O’Reilly had just published a Jabber book and it had not been a success. He had another book that was behind schedule though and arranged for me to do some work-for-hire on this. I wrote a few chapter of that book and the author was happy.
They were then aiming to do two books on Xen, one for sysadmins and one on the internals. They hadn’t found anyone to write the second and they asked me if I knew anyone. I jokingly said ‘if you give me six months to study the code, I could do it.’ Six months later they got back to me and said ‘so, about that Xen book that you’re going to write for us…’. This was something that they’d already done the market research for so knew there was space for the book, and I had a track record of writing chapters of a book on time, so they were happy for me to write it. I submitted an outline, they approved it, and I then wrote the book while procrastinating from my PhD thesis (I wrote my PhD thesis while procrastinating from writing the book).
After the book was published, they put me in touch with an editor at InformIT, who commissioned regular articles from me, which gave them further evidence that I could write at a decent pace. I never pitched an idea to them from scratch, my two Objective-C books and my Go book were both things where they’d nebulously identified a market gap. The Cocoa book began with them asking me to do a new edition of an old one, but after reading it I came to the conclusion that an update would be effectively a complete rewrite, so pitched that. The Objective-C and Go phrasebooks were a new format for them and they wanted every language represented. I had a track record for Objective-C, no one had one for Go (which is a terrible language and I feel slightly bad that I’ve helped some people learn it), and so they approached me on both.
TL;DR: If they trust you to deliver and they have identified a gap in the market that needs a book, it’s easy. The thing you need to do it ensure that they believe you can deliver.
Once I get my proposal published, I’ll write an article about it. I’m trying all the “secrets” and “tricks” I have ever found on search engines, websites, book and much more material.