The Death of Openstax?
09 Jun 2015OpenStax isn’t going anywhere; we have a ton of high-quality content and are revolutionizing textbook publishing for the benefit of students. But here are my thoughts on how it could be made a bit more open (and cheaper to boot!).
Problem
As background, openstax books contain a few pieces:
- an editor for creating a part of a book (Aloha) and organizing parts of a book into a Table of Contents
- rules for attribution (who authored the book)
- a way to convert the book into various formats (ePUB and PDF)
- a way to read the book online for free
- a way to mix-and-match and create a new book
- Ideally, openstax will have a way to allow others to suggest edits to a book
Solution
Non-tech-savvy
- Use GitHub to store the book content (book viewer, source for openstax books, and blog post)
- Use a browser editor to edit the book
- Use a little server to automatically create PDFs and ePubs (travis-ci or philschatz/pdf-ci)
- Support attribution automatically (example)
- Support “Suggested Edits” to content automatically via GitHub’s “Pull Request” (example)
- Support “Derived Copies” of content automatically via GitHub’s “Fork”
- Development of code and content using GitHub Issues via philschatz/gh-board
Tech-savvy
- All book content is stored directly in GitHub (see sources for examples)
- Replace the editor with oerpub/github-book-editor which saves directly to GitHub
- Replace the web view with Autogenerated Sites using GitHub (see philschatz.com/books and the various book repositories )
- Replace PDF (and ePub) generation with travis-ci or philschatz/pdf-ci (Every time GitHub updates, generate a new PDF)
- Support Derived copies using GitHub’s “Fork”
- Support “Suggested Edits” (which openstax used to have) via GitHub’s Pull Requests
- Support a diff of “Suggested Edits” via GitHub’s Markdown diff view (see blog post on books in GitHub)
- Support software (and content) development using something on top of GitHub Issues like huboard or ideally philschatz/gh-board (no server/subscription required)
Free Stuff!
- No server costs! (except PDF generation which can be minimized)
- autogenerated PDFs for every edition (see GitHub Tags and Releases)
- easy contributions from the entire world
- travis-ci can make sure the Markdown is well-formed
- human-readable changes
- Issue tracking for content in each book
- Revisions for each book
- More reusability/remixability than you could imagine
The Kink
There is a “kink” in this process which I’d be happy to elaborate on:
- Each book needs to be a separate repository (cannot “easily” combine multiple books into 1)
- Need to learn MarkDown (specifically kramdown) unless the editor is “smart enough”
That’s how I would “kill” OpenStax with minimal effort and stay true to the openness that has helped OpenStax thrive.
For more projects check out my repositories