10 ways The Nature of Code is open

Register or Login to like
Register or Login to like
open up


I recently came across a fascinating book, The Nature of Code by Daniel Shiffman. It is an introduction to using software tools to better understand the way things interact in nature. Shiffman employs animations and visualizations to create this joyful understanding of simulation and the world around us. From a simple oscilating pendulum, to a group of many interacting particles, to the general patterns of a flock of birds.

Here are 10 reasons why you will love this book after reading the first few pages:

  1. The book is open access, licensed under the Creative Commons by Attribution NonCommercial 3.0 Unported License.
  2. All of the source code shared in the book is open source; licensed under the MIT License.
  3. The book was produced using the open source publishing tool, the Magic Book Project. From a common ASCIIDOC file, formats generated include PDF, HTML and multiple eBook formats.
  4. The author self-published the book so that he could be in control of how the book is shared, making it more accessible to everyone. In his previous book Learning Processing, Shiffman experienced how little control an author get with a traditional publisher; hence decided to do it differently this second time.
  5. The creation of the book was funded by a Kickstarter campaign. It was backed by 1,189 people who collectively raised $31,575, well above of the original goal of $5,000.
  6. The book is fully available online.
  7. There is an option to "pay what you want" with a suggested and very reasonable price of $10.
  8. Upon purchase, you can donate a fraction of the payment to the Processing Foundation, a programming language, development environment, and online community.
  9. The source text of the book is available on GitHub, where you can report bugs in the text and propose fixes and changes as pull requests.
  10. The source code in the book is available on Github, where you can report bugs and propose fixes as pull requests.

Daniel Shiffman, the author of this book, The Nature of Code has given us a great example of how to use the open source way from start to finish—to fund, to write, to distribute and share, and to maintain a book!

Luis Ibáñez works as Senior Software Engineer at Google Inc in Chicago.


Thanks to Daniel Shiffman, for pointing out that now the source code in the book is under the MIT License (no longer the GPL license). The text of the article above has been corrected accordingly.

...and... of course...

Thanks to Daniel for so openly sharing his knowledge in this book !

Great article Luis, it is great to see such open publication methods being explored - something for the rest of us to strive for in our future endeavors! I have used ASCIIDOC a little in the past, the web site says the code is LGPL licensed (v3 icon, 2.1+ in the site's text). I love some of the animated figures in the online HTML version, very illustrative.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.