Open Source Training Materials

In July, 2010, we announced Opscode Open Training, providing free availability to open source Chef training materials under a Creative Commons Share-alike license. To date, more than a thousand people have signed up for the materials. We have conducted several classes, both public and private. Members of the Chef Community have conducted the Fundamentals course, or their own course based on the materials.

During each class, we have questions and feedback for additional improvement. For now, it has largely been one sided, where we take the feedback back to our secret lab and then update the source presentations to reflect improvements. Then, future classes get to experience the joy of these improvements. This is common for a lot of companies that do technical training, and it would be nice if end-users and other trainers could participate and interact directly.

Goal: Direct Participation

The course materials have been maintained in Apple Keynote documents. While Keynote is good presentation software, it doesn’t lend itself to collaboration. For example, a slide looks like this:

The source is a binary file, and the source text looks something like this:

That is an excerpt from the “index.apxl” in the Keynote file, which is just part of a single line of XML.

Compare it to this:

That is Markdown: from the next version of the training materials.

New format: Improved Usability

We decided on Markdown because it is a fairly universal plain text format. There are many tools are available to mold it into other formats, and a variety of “presentation” software is available.

For our part, we decided on ShowOff. ShowOff is a Sinatra web application that reads configuration and renders nicely formatted HTML out of Markdown. It has a number of benefits for training materials:

  • Presenter mode to display notes and display on multiple screens
  • Web app available to students over the LAN
  • Customizable with CSS and JavaScript

The markdown output above looks like this when rendered by ShowOff:

The other parts of the course materials, student exercise and instructor setup guides, were already Markdown. This change therefore provides increased consistency in formats, making it easy to maintain and create alternate outputs.

Improved Open Source Licensing: Greater Transferability

Together, all these materials are now released and available under a dual license.

  • The portions that are slide content, guides and notes are Creative Commons Attribution-ShareAlike license.
  • The portions that are supporting code and significant example code are Apache License, version 2.0.

We welcome contributions, only requiring a Contributor License Agreement for the Apache licensed portions of the materials.

The newly open sourced Chef Fundamentals materials are available on GitHub.

Thank you:

I want to personally thank everyone who attended the Opscode Community Summit and gave great feedback during the training session. Also, thank you everyone who has attended a Chef Fundamentals course (public or private) and provided feedback to improve the materials.

John Willis kicked off the whole Open Training program when he was at Opscode. Thank you, John! Thanks go to Consiliens for the suggestion and push to have the materials published to GitHub; this is what prompted us to bring up the topic during the Summit. I also want to thank Stephen Nelson-Smith at Atalanta Systems for feedback and conducting training in Europe. Finally, I want to thank our team here at Opscode that has worked so hard with me on the materials, and conducting courses.


While the new format is not as slick as Keynote, we think it greatly improves our ability to create great source materials.

Since Markdown is widely used, this opens up avenues for those interested to make contributions. (At the Opscode Chef Community Summit, we had a session on Chef training, and the consensus from participants was in favor of a Markdown-based source format.)

And with the modified licensing structure where only the supporting code and significant example code are Apache Licensed, there is greater flexibility to go with the improved usability.

We hope you enjoy this new format, and we look forward to collaborating to make our courses and training services even more awesome!


Posted in:

Joshua Timberman

Joshua Timberman is a Code Cleric at CHEF, where he Cures Technical Debt Wounds for 1d8+5 lines of code, casts Protection from Yaks, and otherwise helps continuously improve internal technical process.