About this project
FUNDED! Let's try to get 2,000 backers now!
Perl 6, a new language based on Perl 5, released its first user release on Christmas 2015 after a decade and a half of development. I was there when the project started, dropped in and out over that time, and now it's time for a book for regular people.
A short history of my Perl books
A long time ago I started teaching Perl, which led me to helping Randal Schwartz and Tom Phoenix update Learning Perl to its fourth edition. That book was based on the very popular courses we were teaching all over the world, and we still think that's one of the reasons it has stood the test of time. Since then, I've continually updated that book to keep up with Perl. Just this summer O'Reilly Media published its seventh edition covering up to Perl v5.24 (the current version). This book continues to sell quite well (and I continue to teach that class).
After I finished the fourth edition of Learning Perl, I turned my attention to Learning Perl Objects, References, and Modules. You probably don't recognize that book because we re-titled it Intermediate Perl. As with Learning Perl, this book is based on a class of the same name. Those two books contain most of the Perl knowledge that most practitioners will use.
After that, O'Reilly Media and I got together to publish Mastering Perl. We wanted to provide a book that covered the things I kept bringing up in classes but didn't have a place in Learning Perl or Intermediate Perl. We also had the editorial goal of not covering material that was adequately covered in any other book, even if I was not the author. It's still a solid book.
Somewhere in there, Josh McAdams and I updated Effective Perl Programming, written by Joseph Hall and published by Addison-Wesley. The roots of Intermediate Perl come from Joseph, who also worked as a Perl trainer. I think his original, first edition is still one of the finest Perl books ever written.
Eventually I got to work on the granddaddy of Perl books, Programming Perl, fourth edition. Tom Christiansen and I updated this book after a ten year quiescence.
My next book is about Perl 6
I've thought that my next book was about Perl 6 since about 2000. I was in the room when the cabal came up with the idea of a replacement for Perl 5 that would make the internals easier to extend and steal the latest ideas from emerging languages. For a while, Perl 6 had a rocky path with expanding requirements far beyond the language itself. I think I started the book three times and put it on hold three times as the language changed drastically.
How publishing normally works
Normally, meaning ten years ago, publishers took a bet on a topic and an author. They gave the author a little money, assigned an editor, and hoped that a book showed up. They published the book, promoted it, and hoped people bought it. They did this over and over again hoping one book, maybe a Harry Potter or Hunger Games, made enough money to cover all the books that made none. If the book didn't sell, the author didn't do so well.
I've already published several books. I know how to do it that way. However, I think publishing isn't going to stay that way. This time I want to try something different. I want a direct gauge of the market before I start work.
Why don't you self-publish?
O'Reilly brings an excellent editorial staff, copyeditors, indexers, marketers, and an impressive catalog of other books that will surround Learning Perl 6. O'Reilly has the right connections with the online book sellers and distributors. If something is wrong with the book description in Amazon, for instance, I know O'Reilly has a person who knows a person. When someone wants the foreign language rights to the book, they deal with that and get me a pretty good deal. They deal with the Library of Congress and several other such bodies to register my copyright. They have lots of beneficial relationships by virtue of their size and focus. They know everything that needs to happen and they have systems in place that make it almost automatic. They have a pretty good royalty tracking system where I get paid monthly instead of semi-annually. They deal with all that accounting. And, I know they are going to pay my royalties.
I also get to use Atlas, their real time layout and publishing system, and all of my tools are already built around that since I've published my other books through them.
It's not that a publisher pays to publish a book. A publisher and author reach an arrangement where one side risks some resources and the other side risks some time hoping for future profit. Many publishers give an advance (something I don't think I've ever taken) which is actually just future royalties. An author who takes an advance won't see royalties until they "earn out", which means their royalties on future sales equals the amount of the advance. Many authors do take an advance and never earn out, which means the publishers lose a little bit of money. Pay too small an advance and the writer might not deliver because they have to work on something else to pay the bills. Pay too large an advance and you lose a lot of money.
This works because the publishers don't know what will work and what won't. They have to make a bet. So, I'm removing that risk for the publisher. It's a book that I want to write and they'd like to publish. However, there are lots of books they'd like to publish. I've given them a bit more reason to commit to mine. I've gamed the system a little so some other book proposal is behind mine instead of in front of it. And, from that, I think I got one of the best editors working with me.
But, I had an idea of testing the market by crowdfunding, which I can count as pre-orders. I'm curious if this would work. I'm doing it because I have that hacker curiosity about exploring this system. This isn't a safe thing to do. I'm extremely vulnerable: this could flop big time. This could be an epic fail. It's way out of my comfort zone, but sometimes you need to do that. I've had a lot of successes in my career, so something scary and uncertain like this seems to a good thing right now.
Books are expensive for authors too. I've often told people that you don't make money writing a book, but you can make money writing ten books. I know Learning Perl 6 isn't going to get me the same sales as some of my other books, but I want to write it. I'm compelled to write it because that's the way I am. Getting some money from the community in return for future services (so, I'm stealing from future work a bit for time now) can give me space to focus on this project. If enough people in the community thinks its worth it, good for me. If it flops, nobody is out anything.
As for you, a potential backer, you should only think about if the value I'm offering you (whatever that might be) is enough for you. Do you want the book? Do you think I can write the book and deliver it? Do you think you'll like what I write? If that value proposition makes sense to you, you can participate. If it doesn't, you might hope that enough other people participate so you get the book later (my first backer, Sinan, might call that a free rider problem ;).
Going a bit further, there are several people who want other people to have to book, so there are higher reward levels for that.
Risks and challenges
I've been here before and this is my third stab at a Perl 6 book. The two previous attempts failed when the Perl 6 project stalled. I'm not one of the core developers and I don't have control over the technologies, so I'm a bit constrained by their decisions.
Perl 6, now released, has a certain commitment to its users. The language has stabilized quite a bit. I don't have the same problems that plagued previous efforts.
I'll develop this semi-publicly, with monthly releases for backers at the appropriate rewards levels. That should help the book respond to minor changes in the language and ecosystem. I won't be able to rewrite the book every month to respond to drastic changes in Perl 6 world, though.
Other people have attempted Perl 6 books, and most have failed. I think that's mostly because they were first time authors. You know my reputation and bibliography. I won't have those same problems.Learn about accountability on Kickstarter
Support this project
- (30 days)