As a first time author myself, dealing with funding is something that I've had to deal with myself. Given most people fail with their first book, I've been rather fortunate in comparison. It hasn't been easy, though, and I've had to learn some lessons the hard way.
I started by going completely open. Since then I've had to backpedal a bit and keep a part of the content behind a paywall. I'm not sure if that's a good long term solution, though, and I'm still experimenting.
Finnish Constraints
Given I'm a Finn, I have a couple of additional constraints:
- I cannot accept donations. You will require a permit and the system is meant only for non-profits. I don't want to try my luck with the law.
- The status of crowdfunding is a little dubious in Finland. I don't have easy access to Kickstarter for example. Apparently it should be legal as long as the word "donation" isn't mentioned anywhere.
- If I sell something myself, I'll have to deal with VATMOSS. I don't want to do that. Instead I've settled with proxies to deal with the requirements of the law.
Possible Models
The way I see it, there are a couple of basic ways to approach funding open source books. Note that by an open source book I mean a book that has its content open, not a book about open source per se. This means using somewhat permissive licensing and providing access to the content.
The biggest advantage of this has been that it has encouraged the community to collaborate with me. Given I'm using a self-published approach, this has been a huge boon for me. I believe this has contributed to the quality of the book immensely. I even managed to attract an editor for my book and have gained many valuable contacts as a result beyond financial gain.
I've tried to list models I'm aware of below:
Crowdfunding
Probably the best example of this is @getify's You Don't Know JS. The project managed to raise over $16k through Kickstarter alone.
Obviously for crowdfunding to work you will need some PR presence and a suitable legislation. The topic has to be interesting enough for a suitable amount of people. I don't expect you can target niche topics through this approach. I believe it's a valid option for some, though.
Self-funded
This is the approach I took with my book. @nzakas seems to have taken a similar approach with his Understanding ECMAScript 6.
The idea is that you fund the development by selling your book while developing it. Platforms, such as Leanpub work well, although there are other options.
In some cases this may lead to an actual publication deal. The greatest benefit of this option is that openness makes your work available to many. This likely cuts into potential income (why to buy if your offering is free?) but it's a good way to reach a wider audience without having to sell. In addition you'll get a nicer royalty (around 85% through Leanpub, more is possible) than through a conventional publisher.
The downside is that you'll have to perform all tasks a publisher would normally do for you. You may contract other people to help you. It is also possible volunteers will appear. The open approach is conducive to this.
There are a couple of additional models related to self-funding. The trick is in finding a nice balance between open and closed. You can, for instance, sell your book using the following hooks:
- Integrate Kickstarter to your sales model - i.e., when a certain goal is met (books sold, whatnot), something happens (a chapter becomes freely available, buyers get access to new one).
- Promise to open the content eventually (i.e., year from when a chapter is published). This provides some level of exclusivity to the early adopters while allowing the content to become content eventually.
Of course self-publishing approach can lead to other opportunities in form of consulting, training and so on. It might be just the means to reach your actual customers. Therefore optimizing for income may not be the right approach as that would hurt the reach and therefore your real business.
Conclusion
Perhaps some of these ideas are applicable to open source development in general. In the end you are playing with some of the basic concepts to provide value for your paying customers. Providing some form of exclusivity is a good starting point for example.
It would be very interesting to hear about your experiences. I know technical publishing is hard. There are certain fundamentals that are hard to work around. A lot of these things run on reputation. Especially as a first time author that's something you have to develop amongst other capabilities.
I believe writing guides to complement actual open source software projects might be one way to help funding them. This is the way Packt, Apress, and such operate after all. What if the initiative came from the projects themselves instead? That would allow them to capture more of the profit while helping to fund the development. You would likely have to collaborate with technical authors but I don't see this as a bad way myself. There's something to gain for everyone involved after all.