For almost two years, I’ve been keeping notes on the side about ECMAScript 6 features. Some of those notes have made it into blog posts while others have languished on my hard drive waiting to be used for something. My intent was to compile all of these notes into a book at some point in time, and with the success of Principles of Object-Oriented Programming in JavaScript1, I decided that I’d like to do another self-published ebook. My initial experience with self-publishing went so well that I really wanted to make my next one even better. This is what you can expect.

Open from the beginning

Understanding ECMAScript 6 will be the first book (or ebook) that I write in a completely open manner. I’ve come to realize over the years that digital rights management is a fool’s errand. Big publishers, music companies, and movie companies are convinced that people will pirate their work and cost them money. I tend to agree with Tim O’Reilly’s belief that people who pirate have no intent of purchasing the work, so you’re not really losing any money. This is why I’ve only published with companies who have DRM-free ebooks (Wrox didn’t initially, but I was among the first to give the okay to sell DRM-free versions of my books).

With DRM-free ebooks of my content floating around, they will naturally end up in the hands of people who haven’t paid. Oh well. The fact that your for-pay content will end up online at some point where anyone can view it for free is most likely inevitable unless you feel like spending tons of money on lawyer fees to crack down.

So, given that my content is going to end up online for free regardless, I decided that I would make this ebook open from the beginning. That means a few things.

CC licensed

First, Understanding ECMAScript 6 will be licensed under Creative Commons Attribution-NonCommercial-NoDerivs 3.02. What that means is that you’re allowed to share the work so long as it is properly attributed but you cannot package or repackage it for sale. So if you buy a copy, you can upload it to your company’s shared space for others to view without feeling any guilt. Even if you get a copy for free, you’re allowed to share with others.

I’m doing this because I write primarily to share information and any money I make is a nice side effect of that effort. I really want the information to be out there to benefit others.

Not allowing commercial distribution or derivative works is a way of protecting my content. I’m still going to sell the content on Leanpub (more on that later), and I don’t think it would be fair for someone else to repackage my content and sell it as a competitor. So this license ensures that while the content is free for reading, I’m the only one who can sell it.

Free online

If people are going to be sharing the content for free, it only makes sense to have an “official” free version available online. Leanpub makes this easy as they allow full publishing of the book in HTML form. So from the start, Understanding ECMAScript 6 will be available for free as HTML that is viewable online. This is important to me because I plan on making frequent updates and releases the book as I go, and ensuring there’s always one place that is up to date for everyone to see is important for transparency and understanding how your snapshot relates to the final work.

Of course, you’ll also be able to purchase the various ebook formats from Leanpub. As with my previous ebook, purchasing the ebook once gives you access to all future updates until the book is completed.

Transparency on GitHub

While I’m using a CC license and making the content available online for free, it would be silly not to go the extra mile and make the content available on GitHub. So that’s what I’m doing, the Understanding ECMAScript 6 repository is now live and you can see exactly what I have, what I don’t have, and what sort of content to expect. I get a lot of questions about my process for writing books and now you’ll be able to follow that process from beginning to end.

I’m excited about this because I don’t think a lot of people understand the amount of work that goes into writing books. There is rarely a straight line from empty text file to finished book. There are frequent rewrites, reorganizations, and other changes. Putting the writing process out into the open is my way of showing the often chaotic nature of writing, and more specifically, of my writing.

Even better, instead of sending me emails with errata, you can file pull requests with the suggested fixes. You can file issues for concepts you want explained or problems that you see. In effect, you can interact with this book the same way you would any software project.

Just keep in mind some rules:

  • What you see on GitHub will have errors and lots of “TODOs” – welcome to my process
  • I won’t be accepting content contributions, only content fixes
  • Progress will likely be slow (it takes time to write a book)
  • There may be long periods of inactivity (see previous point)

Every so often, I’ll tag a snapshot and publish the ebook files on Leanpub.

On making money, or not

At this point you may be wondering why I feel comfortable having the content out there for free rather than forcing people to pay money for it. After all, I could end up making absolutely nothing from this effort. While that’s a possibility, I don’t believe that it’s true. My previous Leanpub experience showed me that not only are people will to pay for good content, they are willing to pay more than the asking price when given the chance. It’s my belief that there are a fair number of people who might receive the book for free and ultimately end up purchasing it because they enjoy the content. I firmly believe that people are generally willing to pay for things they enjoy, so my first goal is to make this book something that people enjoy and the rest should take care of itself.

And if not, I’ll be honest: tech books don’t make a lot of money. It’s not like I’m going to retire on sales of my books anytime soon. This is really not about the money for me. If you enjoy the book and want to show me, then purchase a copy; if you don’t enjoy it, then continue to use the free version. I won’t hold it against you.

Conclusion

I’m excited to embark on this journey. It’s the first time I’ve started a writing project in the open and I’m looking forward to the experience. Hopefully, people will learn just what goes into making a book and how crazy the development process can be. I know it will take a while to reach completion, but I think there’s enough interest in ECMAScript 6 is start writing this ebook now and sharing what I have periodically. I hope you’ll join me on this journey.

References

  1. Principles of the Object-Oriented Programming in JavaScript (Leanpub)
  2. Creative Commons Attribution-NonCommercial-NoDerivs 3.0 (Creative Commons)

Disclaimer: Any viewpoints and opinions expressed in this article are those of Nicholas C. Zakas and do not, in any way, reflect those of my employer, my colleagues, Wrox Publishing, O'Reilly Publishing, or anyone else. I speak only for myself, not for them.