SIGCSE 2024: How do you do it?

Runestone Booth at SIGCSE 2024

A second SIGCSE is in the bag for Runestone as an exhibitor. It was a good year. It was amazing to see so many people who have been using Runestone for years and to hear their stories. The number of people who stopped by the booth to just say thank you was really overwhelming! I hope you all know that your gesture will keep me going for months! It was also great to see so many new faces who were just learning about Runestone. I am always amazed at the number of people who have never heard of Runestone before. I guess that is a good thing, it means there are still lots of people to reach.

It was great to connect with so many colleagues from years past. I was able to catch up with people I have not seen in years. I was also able to meet some new people who I have only known through email, Zoom, or Discord. It was great to put real live faces to names.

It was so interesting to hear the questions that people asked. This year felt different than years past. The top questions were “How do you do it?” “How do you keep Runestone going?” “How do you keep it free?” “Are you really free?”” And, “do you have a book that covers X?” But the question I want to address in this post is how do we keep it going? I understand that in this day and age the assumption is that “if it’s free online then the user is the product.” But that is not how we roll, that is not our mission, that is not our model. We are a non-profit and we are here to serve the community. We are not here to make money off of you or your students. We are here to help you teach and learn computer science and math. Our North Star is to make computer science and mathematics education accessible to everyone.

We had answered that question so many times that we determined that we needed to create a new table banner for next time. We also decided that we could have a tongue in cheek answer for the rest of the conference, so Rob created a tip jar. We had a lot of fun with that! Some people were so amused that they threw in a dollar! We are not going to get rich off of that, but it was fun.

Tip Jar

Here is the answer to the question “How do you do it?” We are a non-profit. We are funded by donations, grants, memberships, and ads. We have a small team of volunteer developers who put their effort into Runestone. We have a medium community of authors who help us keep Runestone up to date. We have a large community of students and teachers who help us find bugs and suggest improvements. Yes, professional copyeditors are great, but the masses of students and teachers are even better.

A second part of the solution is to serve ads through the Ethical Ad Network. We don’t like ads in general but the Ethical Ad Network is great because they don’t do any tracking! Also, we don’t show ads to students who are registered for a course.

Finally, we do have a Patreon account, and a Github supporter account, and of course you can donate directly We would love to have your support! We are always looking for new ways to fund Runestone, if you are independently wealthy and want to fund us, we would love to talk to you! If you have a contact at a foundation that might be interested in funding us, we would love to talk to them! If you have a contact at a company that might be interested in funding us, we would love to talk to them! We are always looking for new ways to fund Runestone.

Over the long term we are looking for solutions that will enable us to remain true to our mission of making computer science education accessible to everyone. We know there are many commercial offerings that have been free and then pulled the rug out from under all of the schools that could not pay. That is not who we are. We are committed to keeping the content and as much of the instructor interface free as we can, while planning for the day that Rob and Brad decide to step aside and really retire. It might mean a freemium model, it might mean a subscription model, it might mean a different model. We are open to ideas and suggestions as long as we can remain true to our mission.

In the meantime, we are always looking for new contributors. If you are interested in helping out, please let us know. We are always looking for people to help us with content, with the platform, with the community, with the business side of things. We are always looking for new ideas and new ways to make Runestone better.

Roadmap 2024

A lot of the podcasts I listen to, and quite a few of the blogs I read, encourage you to pick a touchstone word for the year. I’ve never done that before, but I’m going to try it this year. My word for 2024 is “Simplicity”. I’m going to try to use this word to guide my decisions and actions for the year, both in my personal life and in my professional life.

My decision to choose simplicity was reinforced by a recent blog post by Matt Mullenweg, the CEO of Automattic, the company behind WordPress. And a second by Terry Sutton, a front end developer. In Terry’s post he says:

Good open source software is / does / can (roughly in order):

  1. easy to install and setup, for free, both locally and on my own server

  2. powerful, capable

  3. make easy things easy

  4. make hard things possible

  5. opinionated, and so you get:

  6. a lot out of the box, so you don’t have to:

  7. constantly reinvent the wheel to do simple or common things

  8. interoperable, flexible, extensible

  9. Has a core user story in mind (ie: it appeals extremely well to a couple of use cases, while enabling many others)

  10. continuously improved and updated

I think that’s a great list, and I think that the Runestone software ticks a lot of those boxes, but not the first one, and I’ve heard from many of you, not not the third one. It certainly is the fifth one, and I think sixth through tenth follow. The good news is that principles 1 and 3 are closely related to my touchstone word for the year.

Runestone has been around since 2011, and it has grown organically over the years. Myself, students, other contributors added features as I’ve needed them, and as others have asked for them. I’ve tried to keep the code clean, and the architecture flexible, but I think it’s time to take a step back and look at the big picture. I think it’s time to simplify.

Moving to the monorepo was a first step in that direction. I think it’s time to take a second step. I’m going to try to simplify the user experience, particularly for instructors. I’m going to try to make it easier to install and setup, and I’m going to try to make it easier to use. I’m going to try to make it easier to contribute to, and I’m going to try to make it easier to extend.

Here are some some of the things I’m targeting especially for the first half of 2024:

  • Create a quick programming project interface to serve as a replacement for instructors who used

  • Simplify the experience for creating and grading assignments

  • Simplify the installation process

  • Simplify the configuration process

  • Make the developer experience better for contributors

  • We are going to have to bite the bullet on LTI 1.3 support soon! People are deprecating 1.1 as we speak.

Please note, these are Goals not guarantees. I had many features I wanted to implement in the Fall of 2023, but most of my time was eaten up answering questions from users, and dealing with growth and scaling issues. I’m hoping that by setting these goals, and by sharing them with you, I’ll be able to stay focused on them.

I’m not going to go into details here, but I’ll post about progress periodically. If you want to get into the details, it is all on Github in the form of six projects (Sort them by name). Under the hood the main goal is to get all of the instructor facing pages ported to the same underlying technology we use for the assignment and book serving pages. This will make it easier to maintain, and easier to extend. It will also make it easier to add new features, and to make the user experience more consistent.

Problem Solving with Algorithms and Data Structures using (Python|C++|Java)

A triumph of open source and open content

In 2005 I was in my second year of teaching computer science at Luther College. I had enough experience to adamantly oppose Java as our introductory language, and I had learned about Python at the 2004 SIGCSE conference. I was excited about Python and had been playing with it for a year. There was an excellent introductory textbook by John Zelle who was at a nearby college. In our departmental discussions we thought that Python would be a good introductory language, but we didn’t want to give students one semester of Python and then a second semester in Java or C++. We wanted to stick with Python. So I said to my colleague David Ranum, “lets write our own data structures book!” And so we did. We contacted Zelle’s publisher who was very interested in our idea. We wrote the book in 2005 and it was published in 2007. It has been used at several universities as the primary textbook for the data structures course taken by second year computer science majors, as well as a supplementary text for students in other disciplines. The book has been translated into Spanish as well as Chinese.

The goals for the book were: * To have a strong focus on problem solving, that introduces the students to fundamental data structures and algorithms. * To introduce algorithm analysis in terms of Big O notation. * To use Python as the programming language. * To illustrate that we are all “standing on the shoulders of giants.” In computer science we are building on the work of those who came before us.

I loved teaching from this book. The students seemed to enjoy the problems we introduced and learned a lot. By the end of the course they were all much more fluent in Python and ready to tackle other languages and more advanced topics. They all had good “gut level” understanding of the major data structures and algorithms. I was very proud of the book and the course.

I’m also proud that in the 17 years since the first edition was published we have only had two more editions. There is no need to gouge students every two years with a trivial update. The book is still relevant and useful today.

Fast forward to 2011, I was on sabbatical and was working on the second edition of this book. But I had a serious case of “writers block” my main problem was that I just hated the idea of a paper textbook for computer science in the 21st century. Books should be interactive, you should be able to run these algorithms right in the book! That was the genesis of Runestone Academy. The next step was to convince our publisher that we should make the book freely available online. I’ll never forget the response of our publisher, Jim Leisy, “Lets go change the world!” With that, we were able to make the book available under a Creative Commons license. The book is still available in print, but the online version is the one that is being actively maintained, and through our strong partnership with the PreTeXt project we can write once in PreTeXt and publish both online and in print.

The Creative Commons license is a great example of the “shoulders of giants” lesson we wanted to teach our students as in 2018, Jan Pearce of Berea College in Berea Kentucky took our book and created a version for her students that used C++ as the primary programming language! She kept the Python as “pseudocode,” and added C++ examples along side. The content was what she was looking for but the programming language was wrong. So she changed it! She also added some new content and examples. She then shared her changes back with us, and we were able to incorporate the book into our collection. The C++ edition of the book has been used by over 3,000 students in over 223 courses around the world.

In the Fall of 2023 J. David Eisenberg of Evergreen Valley College in San Jose, CA, took the book and created a version for his students that used Java as the primary programming language! The content was what he was looking for but the programming language was wrong. So he changed it! This book does not have Python as pseudocode, but has a lot more interactive exercises and more of the examples can be run in the book than in the Python edition. He also added some new content and examples.

I can’t tell you how proud I am of these two projects. Even though I was personally opposed to Java (and C++) as an introductory language, we don’t all need to agree. And I know I’ll never convince the college board they are wrong. These two books are a great example of the power of open source and open content. I hope that you will consider using this book in your own courses, and if you do, please consider sharing your ideas or changes back with us so that we can all benefit from your work. I would suggest that the Java book is very accessible to high school students who have had the AP Computer Science A course. The Python edition is very accessible to students who have had a semester of programming in any language. If you are willing to help with any of the editions, but especially the Python edition I would love to hear from you. I would really like to make the Python edition much more interactive.

PROSE Workshop Report

Last week we held the PROSE Organizing Workshop at the University of South Alabama. We had 30 people in person and several more attended virtually. The attendees included seasoned veterans from the PreTeXt and Runestone projects as well as some people completely new to the project. One virtual attendee had literally learned of the project just days before the start of the workshop. We had a great time and got a lot of work done. We have a lot of work to do still, but we are off to a great start. In this post I will summarize the takeaways from the workshop and the next steps for the project.

What is the Scope of the Ecosystem?

One key question that needed to be answered was What and/or who is the PreTeXt / Runestone ecosystem? After lots of good discussion we decided that the ecosystem is best described by a set of principles, anyone or any project that shares those principles may be part of the ecosystem. The principles are:

Our Open Source Ecosystem is a community of students, teachers, authors, researchers, and developers committed to the following principles:

  1. We exist to:
    • Help students learn more efficiently

    • Help teachers teach more effectively

    • Help authors write better materials

    • Enable researchers to develop more effective tools and pedagogies

  2. We are committed to ensuring access to the best open source learning environment to all of our stakeholders, but especially to the students who need it the most.

  3. We embrace the open web and open standards.

  4. We welcome new partners who share our values.

  5. We will be flexible in creating a platform that incorporates new innovations.

  6. We recognize and celebrate all contributors and innovations that move our ecosystem forward.

In an open source ecosystem we are all “standing on the shoulders of giants,” there are countless projects that we rely on to make our software work, however we want to recognize some of the initial projects that are core to our ecosystem:

  • PreTeXt - An XML vocabulary for authoring and publishing high quality print and digital textbooks

  • Runestone Interactive - A Learning Engineering and Analytics Portal (LEAP) for hosting textbooks, assignments, and interactive learning activities.

  • WebWork - An open source online homework system for math and science courses

  • Doenet - An open source platform for creating interactive learning activities

It also includes many textbook authors, instructors, and researchers who are using these tools to create and deliver high quality learning experiences for their students. Research is ongoing at several universities including the University of Michigan, the University of South Alabama, and the University of Illinois, UT Austin.


We have a long term vision for the leadership of the ecosystem that may become a formal entity like the Apache foundation or an academic society. For our initial work, we have created an advisory council of eight people who represent many different aspects of our ecosystem of Open Educational Resources (OER) and embrace our guiding principles.

The initial leadership council includes the following people, all of whom have committed to an initial two year term.

  • Rob Beezer - Professor Emeritus of Mathematics at the University of Puget Sound, Founder of the PreTeXt project, author of the open source textbook A First Course in Linear Algebra.

  • Matt Boelkins - Professor of Mathematics at Grand Valley State University, author of the open source textbook Active Calculus.

  • Steven Clontz - Associate Professor of Mathematics at the University of South Alabama, maintainer of resource library, and co-author of the PreTeXt-cli authoring toolkit.

  • Barbara Ericson - Assistant professor of Information at the University of Michigan, and co-author of the open source textbook CSAwesome.

  • Danny Glin - The University of Calgary, and member of the WebWork Executive committee.

  • Brad Miller - Professor Emeritus of Computer Science at Luther College, founder of Runestone Academy LTD, and co-author of the open source textbook Problem Solving with Algorithms and Data Structures using Python.

  • Jennifer Nordstrom - Professor of Mathematics at Linfield University, and author of the open source textbook Game Theory: a Discovery Approach.

  • Duane Nykamp Associate Professor and Director of Strategic Initiatives at the University of Minnesota, and founder of the Doenet project.

This group will guide us through the initial stages of the project and help us to create a more formal governance structure as the project matures.

As part of the next steps we will be creating additional leadership opportunities in the form of Fellowships for people who are working to grow our ecosystem. We will also be funding mini grants to inspire and reward contributors to the ecosystem.

Workshop Attendees

Next Steps

There were so many great ideas that came out of the workshop, I can’t possibly list them all here. But we did identify some concrete actions that we need to get busy on in the coming months in order to make this project a success. Here are some of the next steps that we identified at the workshop.

  1. Write a Phase II grant proposal for the NSF to fund the next stage of the project.

  2. Find a name for the project that is more descriptive of the ecosystem, and will allow us to create a website that will be the hub of the ecosystem.

  3. Work on ways to keep the community engaged and build on the momentum from the workshop.

  4. Develop a plan for making sure that we are defending the intellectual property of the ecosystem.

  5. Continue our discussions and planning to create a sustainable funding model for the project beyond the initial NSF grant.

  6. Continue the technical discussions that were started at the workshop. These include a working group for improving the user experience on Runestone Academy; a working group for improving the authoring experience for PreTeXt; continue the the work on integrating Doenet and WebWork with PreTeXt and Runestone.

  7. Develop a plan to be more inclusive and diverse in our ecosystem.

PROSE Workshop Day 1

Yesterday 30 of us convened at the University of South Alabama for the first day of the PROSE workshop. Steven kicked us off reminding us that the main goal for the week was to prepare for writing our Phase II proposal. Rob and I both gave a little talk on the state of PreTeXt and Runestone.

In the afternoon we did an exercise to get everyone thinking about the different groups of stakeholders in the ecosystem and how we might serve them better. We will hear more results from the that tomorrow.

In the evening, we convened a hackathon back at the hotel. It was a noisy affair and we brought the hotel wifi to its knees. We did manage to get a few things done though.

Important Privacy Developments

For years, student data privacy has been a hot topic in education. In 2014, the U.S. Department of Education issued guidance on the Family Educational Rights and Privacy Act (FERPA) and the Protection of Pupil Rights Amendment (PPRA) to help schools and districts understand how to protect student data. In 2015, the White House released a Student Privacy Bill of Rights to help ensure that student data is used only for educational purposes. And in 2016, the U.S. Department of Education released a new Privacy Technical Assistance Center (PTAC) to help schools and districts understand how to protect student data.

The way all of this has impacted Runestone Academy is that many school districts are now requiring that we sign a Data Privacy Agreement with them before they will allow their students to use Runestone Academy. In the beginning this was a giant pain because each district had their own agreement, usually thrust upon them by their state department of education. There was little chance to negotiate and many of the agreements contained clauses that were not acceptable to us. For example, some of the agreements required that we delete all student data at the end of the semester. This is not acceptable to us because we want to be able to provide students with a record of their work in the course. (We do automatically remove data after 2 years) Other agreements wanted us to certify that we were HIPPA compliant, but since we don’t collect any health information this was not something we could do. Most problematic was that many agreements had a clause that obliged us to reimburse the school district if we ever had a data breach. Although highly unlikely, the costs associated with recovering from a data breach could be very high and we could not afford to take on that risk. Thankfully after a long search, we were able to find a company that would provide us with reasonably priced insurance against a data breach and we are now comfortable signing these agreements.

In 2020 we signalled our strong support for student privacy by signing the Student Privacy Pledge. You can read the pledge here: I also bothered countless people with emails complaining that these data privacy agreements were killing open source projects like Runestone because we don’t have the resources or knowledge to negotiate these agreements. I am happy to say that things are getting WAY better.

Introducing the National Data Privacy Agreement (NDPA) which is a standard agreement that schools and vendors can use to protect student data. This agreement (fostered by the Student Data Privacy Consortium) was developed jointly by schools and vendors and creates a set of common expectations between schools and providers like Runestone. We have already signed agreements with several schools that use the NDPA. You can read more about it here: We are happy to sign this agreement with any school that requires it. Even better, if your school is a part of a consortium where another member has already signed the agreement, then all your school has to do is sign Exhibit E and send us a copy. These consortia are often run at the state level, but in some cases multiple states have banded together. The map below shows the states that have adopted the NPDA and have consortia in place. In addition most of the state consortia have a database of vendors so you can do a quick search to find out if Runestone Academy has already signed with that state. If we have, then all you need to do is sign Exhibit E and send it to us. If we have not, then you can send us the agreement and we will sign it.

Map of states with SDPC consortia

The development of the NDPA is such a positive step forward for student privacy and it is a huge reduction in the amount of work that I have to do to sign agreements with schools. I am very grateful to the Student Data Privacy Consortium for their work on this. If your school is not a part of a consortium, please encourage them to join one. It will make it much easier for them to sign agreements with vendors like us. If your school is developing their own agreement, please encourage them to use the NDPA rather than creating their own. It will save them a lot of time and effort and will make it easier for them to sign agreements with other vendors.


I have been enjoying using Github copilot with VSCode for both Python programming and writing blog posts. Copilot is based on OpenAI’s GPT-3 language model. In fact the first paragraph of this post was written by Copilot. I wrote the title and the first few words of the first sentence and it wrote the rest. I did have to edit it a bit, but it was a great starting point. It also had some good and not so good suggestions for other parts of this post, including making up urls to non existent pages. Its really great at taking some of the drudgery out of programming in that it can write a lot of the boring code very quickly leaving me more time to work on the hard stuff. I am looking forward to seeing how this technology develops.

Top 10 Reasons to Host your Book on Runestone Academy

After four years of collaboration, Runestone and PreTeXt are ready to encourage hosting PreTeXt books on Runestone Academy servers as a routine matter. We’ve got several months before fall classes, so now is a good time.

The process is quite simple: put your PreTeXt source on GitHub if it is not there already, and provide a publisher file that specifies that you want a build specifically for Runestone servers. If you are using the command line tools / Codespaces with a project file then you are nearly ready. Let Runestone know by creating an issue in the Runestone repository. Your book will be made available to thousands of instructors and will be re-built automatically every Saturday.

Here’s our Top 10 list for why you would want to consider this, numbered for mathematicians and for computer scientists.

  1. Free. In every sense of the word. Open-source software and texts, hosting free to instructors and students.

  2. Hosting is low-friction for instructors, no local IT required. Fantastic up-time.

  3. Weekly updating with no hassle. Or more frequently with the author interface.

  4. Runestone Academy had over 115 million page views last year and has good search-engine optimization to increase the exposure of your book.

  5. Instructors get a detailed dashboard of students’ work and progress.

  6. Runestone Academy is used by over 10,000 instructors–who already use OER and are happy to spread the word.

  7. Authors get gross analytics across all institutions. Which of your exercises work, and which don’t?

  8. Authors get accurate data on adoptions and readership. Impress your Dean.

  9. You maintain complete ownership and control of your materials.

  10. Instructors get autograding and autorecording. Get a spreadsheet at any time or link it to your LMS through LTI.

  11. PreTeXt and Runestone are actively promoting books at both Mathematics and Computer Science conferences.

To get started, read the chapter on Runestone in the Publisher’s part of the Guide, especially the second section. It has pointers to other relevant parts of the documentation.

Chapter 32: Conversion to Runestone

We would encourage you to look at the annotated sample book, especially the Runestone chapter to see the interactive elements that you can begin using in your books, written natively in PreTeXt but using Javascript developed by Runestone over the last 12 years.

There is a fast-developing converter from Runestone restructuredText syntax to PreTeXt, which will ease the transition for computer science textbooks to PreTeXt.

We would be remiss to not acknowledge the trailblazers who have helped test this out as it has been developed.

Native PreTeXt:

  • Oscar Levin; Discrete Mathematics, An Open Introduction

  • Sean Fitzpatrick; APEX Calculus

  • Mike May; Business Calculus with Excel

  • Alex Jordan; Open Resources for Community College Algebra

  • Kathy Yoshiwara; Intermediate Algebra: Functions and Graphs

  • Tom Judson; Abstract Algebra, Theory and Applications

  • Tom Judson; The Ordinary Differential Equations Project

  • Alex Jordan; WeBWorK integration (!)

  • Matt Boelkins, Mitch Keller, Chrissy Safranski; Active Calculus

  • Steven Clontz, Drew Lewis; Linear Algebra for Team-Based Inquiry Learning

  • Rob Beezer; A First Course in Linear Algebra

Conversions from Native Runestone:

  • Brad Miller; How to Think Like a Computer Scientist

  • Brad Miller; Problem Solving with Algorithms and Data Structures using Python

  • Brad Miller, Barb Ericson, J. David Eisenberg; Python for Everybody

  • Beryl Hoffman; Java, Java, Java (from LaTeX!)

  • Jan Pearce; Problem Solving with Data Structures and Algorithms using C++

  • Jan Pearce; C++ for Python Programmers

  • Jan Pearce; On Complexity

Runestone at SIGCSE 2023

I am pleased to announce that our NSF grant provides us with funds to be an exhibitor at SIGCSE this year. Please stop by our booth and say hello. If you don’t know anything about Runestone we would love to introduce you. If you are a long time user we would be happy to hear your feedback and ideas. Also, we have stickers.


Do commercial publishers have a place in the open textbooks ecosystem?

Suppose a textbook was used at more than 100 universities, with many websites advertising the book and showing off its numerous high-quality features. Suppose many experts in the subject have produce supporting materials: videos, worksheets, sample exams, sample syllabi, advice to the instructor, and suppose those materials were already available for free – making it very attractive for the textbook to be adopted by new institutions.

And suppose a commercial publisher was given the opportunity to produce and distribute the book. Would that be a good business opportunity? Of course it would! A textbook publisher should jump at the chance to bring out a new book with an already well-established market!

Except, it isn’t actually a new book. And unlike a traditionally published book, it isn’t the sole and exclusive property of the author, because the book has been released with a license that allows anyone to modify it and make their new version available. And everything in the printed book already exists on free websites, and for free as PDF, EPUB, or on a kindle. The printed book has to compete against itself in other formats.

Is the open nature of the book a deal-breaker for publishing commercially? I say No. Many open textbooks are already being published in print form. Students buy them: many want an inexpensive printed copy because the online versions are great in some ways but fall short in others. Many open textbook authors go to the effort to produce a print version; I speculate that many would be happy to hand that work off to a commercial publisher.

Issues, from the perspective of the author

We already mentioned an attraction for the author: they probably don’t want to do the work of preparing and distributing the print edition.

A commercial publisher would also provide effective advertising – another aspect of self-publishing where many authors fall short.

Also, it is still an unfortunate (and misguided!) fact that open/self-published textbooks are viewed with suspicion by textbook adoption committees. The stamp of approval from a commercial publisher carries a lot of weight.

Primary concerns for the author are price and availability.

The author may have been motivated by the seemingly high price of some commercial textbooks. If they have been self-publishing the print version, it probably sells for around $20. An excessively high price on the commercial print version could be a deal breaker.

The author probably has been making a high-quality HTML version available for free, and probably also a PDF version, and maybe also EPUB. It is unlikely the author would be willing to give up the free HTML version, hosted on a website that they control. It is unclear whether the author would have strong opinions about the EPUB and free online PDF.

There are other author issues, which do not seem specific to open textbooks, such as duration of the agreement with the publisher, what happens if the book goes out-of-print, expectations about subsequent editions, non-compete clauses about writing similar books, royalty rate, etc. As we will see below, some of those issues are in fact different for open textbooks.

Issues, from the perspective of the publisher

By far the biggest issue is dealing with an unfamiliar situation.

Until recently, there were not a lot of excellent open textbooks. Now there are. PreTeXt ( and Runestone deserve a lot of credit for facilitating authors to create high-quality books with many features that enhance teaching and learning.

So, it will take vision, and a tolerance for the unknown, for a commercial publisher to dip their foot in this pond.

For the sake of argument, consider the situation of an open textbook which is being used at several universities, with free HTML version available online (possibly at more than one website), with a print version from the author (or someone they designated) available for $20-25.

The publisher probably would like the author to stop publishing the print version. It is safe to assume the author would agree, provided that the price did not increase significantly.

The publisher would probably want the existing print version (which probably is print-on-demand) removed from the marketplaces where it appears. Again, the author should agree.

What does the publisher think about the author’s website hosting the HTML version? How does that relate to the home page of the book on the publisher’s website? Presumably those pages should link to each other, because both parties benefit from the success of the other.

How about the PDF version the author currently posts? Probably that is a non-issue, because for PreTeXt books you can print from the HTML, and for many purposes it does what one wanted from the PDF. If there is a reason the author would object to taking down the PDF, I would like to hear it.

EPUB is another issue. Many publishers make money by selling the EPUB: that revenue stream would be diminished if the author posted it for free. The EPUB version is recognized as a valuable resource for people in prison, because it does not require an Internet connection and it does not take up space. This is important to people involved with the Prison Education Project and related endeavors. Both sides should be aware of these issues during the negotiations.

If the above are the main concerns of the publisher, then they have missed some essential facts about the world of open textbooks.

Some realities which have to be discussed and understood

As was already mentioned, the book isn’t the sole and exclusive property of the author.

If the source is available with an open license, anyone can make a PDF version, or produce a print-on-demand version and sell it at whatever price they want.

Anyone can also add a new chapter or section and publish it however they want. Forbidding the author from using that book as the basis for a competing product, cannot stop someone else from doing the exact same thing. And the original author’s name is also on the new book! (How authorship is credited in these situations is untested waters. Open textbooks are touted for their ability to be modified and customized, but in practice this rarely happens and the community has not had to deal with complicated situations.)

The publisher has to accept that they do not have a monopoly on the book: they will be the only print publisher if the author agrees that it is better for the publisher to handle the print version, and nobody else decides that they can do it better (where “better” involves some combination of price, quality, and features).

A clause in a contract may forbid the author from taking certain actions, but if the book has an open license, that contract cannot prevent someone else from performing those exact same actions.

The general point has been made, but I’ll repeat it for this specific case: nobody can stop someone else from adding a small amount of material and publishing it as the “new edition” of the book.

Here is an issue which seems silly but is not: movie rights. The excellent open textbook APEX Calculus has a version with more than 600 videos by Sean Fitzpatrick (not the author of the book, and that version is not hosted by the author) with a cumulative duration of more than 75 hours, explaining concepts and working through numerous examples. Stacking those videos creates a multi-part epic movie version of the book. Whose rights are infringed by that cinematic extravaganza?

Most commercial publishers have a fundamentally misguided policy concerning Braille versions. Each institution which needs a Braille copy has to go to the effort, typically taking months and costing $20,000 or more, of having an expert Braille transcriber convert the book. They are not allowed to then share it with another university! Think about it: not only does the publisher not provide a Braille version, they make it as hard as possible for other people to do so. Textbooks written in PreTeXt automatically convert to Braille, at minimal marginal cost. That fact should have an impact on the publishing contract.

A modest proposal

One possible way to address some of these issues is for the publisher to commission a new edition of the book, and for the author to not release that edition with a fully open license. This would not change the fact that the previous edition was still available open source and with a permissive license. But the publisher’s concerns about competing products would be mitigated by the fact that the anyone other than the author would be several steps away from replicating the published book.

The “edition trick” is not a magic wand

The modest proposal would involve the author abandoning their previous vision for the open source ecosystem of their book. Would they release the new edition with a more restrictive open license, such as CC-Attribution-ShareAlike-Noncommercial, or would they keep the source private and reserve all rights? Would the restrictions apply only to print publishing, or would other online versions also be prohibited?

Is this modest proposal the author’s first step on the slippery slope of producing a commercial book that is exactly what they were trying to avoid when the decided to write an open textbook?

Keeping the fully-functional online HTML version available for free seems like an absolute requirement for the author. Is the author assigning the copyright to the publisher and the publisher granting rights for the online version, or is the author retaining copyright and granting the publisher the right to produce and sell a print version? Or does the book have an open license and the publisher has to accept the fact that keeping the author happy is their main protection against competing print versions?

If the book incorporates material under an open license from another author, putting a more restrictive license on the next edition might not even be an option.

Here’s an ironic fact. Suppose the author decides not to go with a commercial publisher and just releases the new edition with the same open license. Then the publisher can just produce and sell the print version anyway! And they won’t have to pay any royalties!

If I come out with a book that has 80% overlap with an existing book, I will be sued by the publisher, and I will lose. But for an open textbook, even with the “edition trick” I have been given the rights to produce such a similar book based on the previous edition. No agreement between the author and publisher can change that. And the author cannot remove the rights which I have previously been given.

Maybe all of these concerns are non-issues?

Perhaps, with or without the “edition trick”, the online versions of the new edition can function exactly like the previous edition, with the print version now coming from a commercial publisher who provides a modestly priced copy and still makes some money, and nobody is motivated to duplicate either the author’s or the publisher’s work?

There would be very little risk for an established publisher to produce and distribute the print version of an existing open textbook, on just a handshake agreement with the author. The author would agree to not publish a print edition, and would make a reasonable effort to promote the publisher’s print version and discourage others from making a competing print version. The publisher would agree to make their print version available at a price comparable to what the author could do on their own. The publisher would advertise the book in ways beyond what the author could do. Every free online view of the book would be an effective advertisement for the print version. The publisher makes money. The author probably makes a bit less per print copy, but they are spared the work of being their own print publisher and end up making more in the long run because more copies are sold.

The publisher’s lawyers might be unhappy with a handshake agreement, so a contract could codify the points in the previous paragraph. If the contract were for one year, renewable and properly synchronized with the academic year, then it could be workable for one party to handle the print version and traditional advertising, and the other party to manage the online versions and provide support and outreach to instructors using the book.

Are there commercial publishers who can appreciate this business opportunity? Do most open source textbook authors understand that they are not giving up anything if they enter the type of agreement I propose?

I await the publisher and the authors who fully understand the open source ecosystem and its relationship to commercial publishing, and see an opportunity for harmonious collaboration.

Year in Review 2022

With the year 2022 in the rear view mirror I wanted to take some time to update you all on what we have accomplished in the last year, give you some fun facts, a financial update, and talk about the community in general. So lets get to it!

Fun Facts

During 2022 we welcomed 74,000 registered students and instructors to the community! That is a lot of new people and a lot of money saved on textbooks! During an average school day we have around 1000 students active during a given five minute period. I think that is something we can leverage moving forward. The traffic on Runestone clearly shows that we have a “homework bump” that is once the traffic slows down at the end of the school day across North America, we have an evening spike that lasts three to four hours. We have no such spike on Friday nights. Also, students do not do homework on Saturdays. In 2022 we had 115,100,000 page views! That is nearly double the number of page views from 2021. About 60% of the page views are from registered users while the other 40% come from searches through Google, Bing, and others.

What makes Runestone Academy Tick?

People, 100’s of people who donate their time in many ways.

  • Authors – between PreTeXt and Runestone we probably have around 60 different authors represented on Runestone Academy.

  • Developers – Over the years around 100 developers have contributed at least one line of code to Runestone, and around 50 developers have contributed at least one line of code to PreTeXt. Over the years this job has become more difficult as the complexity of the whole system increases. I am aware of this and actively trying to find ways to make it easier for anyone to help with development.

  • Dev Ops - Monitoring the servers, building, testing and deploying updates, to our servers, building, updating and deploying updates to the textbooks, are all things that happen weekly. It takes time, although a lot of that time is just keeping an eye on things while they run in the background. For example it takes about 4 hours to rebuild and deploy all of the books on Runestone Academy. Its mostly automated but you have to keep an eye on it for those few times when something goes wrong. It takes another 30 minutes or so to rebuild and deploy all of our servers.

  • Bug Finders - Reporting problems to us is equally as important as writing code! I am always surprised by the number of people who just live with a bug instead of reporting it to us on github. PreTeXt is tracking 1242 issues while Runestone is tracking 2216. Of course those numbers are obsolete the moment I type them. Issues come in all forms and we welcome reports of typos as well as serious bugs in the Runestone servers.

  • Exercise Creators - Over the years the question bank for Runestone has grown by leaps and bounds - over 14,000 questions not including those that are part of a book. This is a great way to learn a little about restructuredText or soon PreTeXt and contribute to the whole. If you have a good exercise please feel free to add it through the web interface. You can keep it private if you wish or you can share it with all the other instructors out there looking for new homework problems.

  • Exercise Editors - With the huge growth in the size of the question bank, we have created quite a problem for ourselves. Many of these questions are just dummy questions that instructors use to learn and should be weeded out. Anyone can help with this problem by flagging a bad question. This puts it in the queue for an editor to take a look at and either delete or update. We need loads more exercise editors!

  • Community Builders - Do you know what makes for the most successful textbooks on Runestone? It is an active and supportive community of teachers using that book. The best case in point for that is CSAwesome. It truly is awesome the way teachers help and support each other on the mailing list. But that takes some effort and leadership to nurture Beryl Hoffman and the people at the Center for Computer Science Education do a wonderful job. We need more of that for all of our books!

  • Documentation Writers and Trainers - Have you gotten pretty good at some aspect of Runestone? How about taking a look at the documentation and bringing it up to date, or making it easier to understand? By now I’ve lost all perspective of what it is like to be a newcomer to Runestone, but many of you have not. Would you like to host a workshop to train people how to use Runestone? We would be happy to support that!

  • Word Spreaders - If you like Runestone or any of its books please help us spread the word. We would love to have everyone recommend Runestone and PreTeXt to two colleagues. We would love to have everyone mention Runestone and PreTeXt on social media. Do you Write a blog? Toot on Mastadon? Post on Facebook? Tweet on twitter? How about a shout out? I have left both Facebook and Twitter but if someone would like to take over the FB page or the iRunestone account on twitter let me know! Anybody can help with this and the more we grow our community the more good ideas we get.

Accomplishments in 2022

New Server Architecture

Looking back at it now, I have to agree that 2022 started off a little bit rocky. We moved to a brand new server architecture, and a brand new server to handle the majority of the book serving traffic. After a month or so of headaches things calmed down, and I’m super pleased with the new architecture. It allows us to scale horizontally as our traffic ebbs and flows over the course of the year. There is much more to be done in this area, but we will do our best to make it as seamless as possible.

The PreTeXt Partnership

During the Summer of 2022 a lot of work that has been going on since just before the global pandemic took hold really began to pay off. The partnership with the PreTeXt project allows me to focus more on the server and interactive widgets for learning, while freeing me from maintaining and improving an authoring language. We converted our first books from restructuredText to PreTeXt and in the words of Billy Crystal “they look mahhhhhvelous!” My hope is that we can transition the rest of the books during 2023. As we master the conversion process we will also be able to make PDF, Braille, ePub and other formats of our interactive books available. Though of course they will not be interactive.

I’m also really excited to see that a number of the Mathematics authors have embraced the interactive elements that Runestone brings to the table in writing their textbooks. Parson’s problems for doing proofs or derivations anyone?

The Launch of Peer Instruction

During the winter of 2022 we piloted our new peer instruction system, this was followed by a workshop attended by about 20 instructors who used peer instruction in their classroom during the Fall of 2022. This is a very exciting new feature that you can use to replace clickers in your classroom and which also works well in the virtual classroom. This work was funded by the NSF and led by Dr. Barbara Ericson at the University of Michigan.

The Launch of the Author Server

Every year I hear from a handful or more of instructors that want to customize one of our books for the classroom. While making that easy for everyone is still a ways off we took our first steps in enabling that by creating a server just for authors. The server allows you to start with a brand new book, or with the fork of an existing book on github and gives you control over when the book is updated and published either publicly or privately. A few brave authors have been using it for the 2022 fall term and it has worked quite well. This server also has the beginnings of what I am calling an impact report, that is, as an author you will be able to track the usage of your book, and understand what parts of your book are used the most. We look forward to working with authors to see how we can expand this out to provide much finer grained information on individual questions and other features.


Formerly known as horizontal parsons, this new interactive question type allows you to create a parsons problem for an individual expression or statement. This is great for teaching SQL or regular expressions, or even helping students work through some trickier kinds of expressions that you might write in Java or Python. The new Micro parsons are also leading the way in terms of allowing parsons problems to be graded by unit tests in addition to simple block order.

Joint Runestone - PreTeXt Workshop

In June of 2022 we held our first joint workshop, where we brought together about 20 authors and developers from the PreTeXt and Runestone projects. The workshop was held in Ann Arbor on the University of Michigan campus and it was an amazing week of learning together, sharing research, and brainstorming ideas for the future. I’m so excited about where this could all lead.


We were honored to receive a grant for the project we call **PROSE** - PreTeXt Runestone Open Ecosystem. This NSF grant is designed to help projects like our become a sustainable ecosystem. For us that means many things: recruiting community managers, developers, authors, editors, question bank maintainers, and more. It also means reaching out other projects to see how we can work together more effectively and efficiently. There are so many projects that are part of the “Ed Tech” world and there is so much needless duplication of effort. The marriage of PreTeXt and Runestone demonstrates that two projects can come together and be more efficient and stronger when we work together, we want to spread that message and find other projects who share our vision and are willing to join us. Another big part of this grant is to help us figure out how to organize and maintain all that we do going forward. In a world where anything can happen, we need procedures and people in place if something horrible were to happen.


In late 2021 Runestone Academy LTD was formed as a new corporation to supplant Runestone Interactive. We are operating Runestone Academy as a non-profit. Although the conversion process took a lot longer than expected Runestone Academy has also filed our paperwork to get IRS approval as a 501(c)(3) which will give us official non-profit status for tax purposes. We have also named a board of directors to help us think strategically about how we ensure a strong future for Runestone. I am honored to have this group of forward thinking people help guide the way: Paul Resnick, Assoc. Dean of the University of Michigan School of Information, David Farmer of the American Institute of Mathematics, Susan Rodger, former President of SIGCSE and of Duke University, Danny Fenjves former founder and CEO of Upperline code now leads the LEARN team at Giant Machines and Jane Miller our CFO and Secretary/Treasurer who has been a partner in my crazy endeavors for the majority of my life.

The financial details of any transition year can be confusing, especially when trying to compare to a past year, so lets just focus on 2022 and mostly not try to compare to last year.

These are unofficial numbers but they should be pretty accurate. We have several different sources of income including students, schools, ads, partner support from people who use Runestone for their own purposes but want to support our work, Grant money, and consulting work on grants. Here is how that all breaks down.




Direct support from students


Support from institutions (departments, colleges, schools)


Advertising Income


Support from Grants


Support from partners


Webwork income









Hosting and server costs


Webwork expenses


Legal fees


Credit card and Paypal fees




People costs (healthcare, salary, etc)




So, you might think that we have a net profit of about $2,000 which would be great for a non-profit, everything balances. But let me point out a few problems with that conclusion.

  1. People costs – $44,607 includes 1 full time person and 1 part time person. Thats not a very good salary.

  2. Support from institutions is what we have Invoiced for $17,195 Unfortunately we have been paid only $12,165 of that. People will often ask for an invoice and then completely ignore the invoice and our followup emails. This makes it hard for us to plan and count on that money.

In 2023 we have and will institute a couple of changes.

  1. If you school wants Runestone Academy to sign a contract or data privacy agreement we will invoice the school for $100.

  2. During the first part of the year we will be working on determining a small set of features will will require payment. None of the paid for features would prevent you from using Runestone for free. These are all features that are nice to have, but provide good backup for why you could pay to support Runestone. I know that many public schools have policies that don’t allow you to “donate” so by providing a few features that you can only use if you pay turns that donation into a fee for service.

Runestone Academy is not a big corporation. The two employees mentioned are myself and my wife. As I made clear above, Runestone is powered by volunteers. The Runestone community has accomplished a LOT on very little over the last 10 years. The challenge is to sustain that progress and spirit in an ever changing world.


This past fall I ran a survey for the instructors who use Runestone Academy, I learned a lot from the survey that will help us set a course to smooth out some of the rough edges of the Runestone platform. But even more than that was the outpouring of support for the mission. So many people have come to rely on using Runestone Academy in their classrooms every day, and so many people said that love it! That kind of feedback is really energizing and makes me want to work hard to keep building and improving things.

Our mission is expanding, Democratizing textbooks for the 21st century is only part of what we do now. An updated mission statement might read as follows:

>To enable authors and researchers to maximize the accessibility of open educational resources for learners, and advance the teaching of STEM fields.

As with any mission statement it needs a bit of unpacking. Accessibility is the practice of making information, activities, and/or environments sensible, meaningful, and usable for as many people as possible. And the goal is to create a virtuous circle of feedback that drives progress for our four major stakeholders: learners, researchers, authors, and teachers.

It is worth repeating… we can use your help! If you or your school can join the project by supporting us financially that would be awesome. But beyond that we want YOU to become an active participant in our community in any of the ways I mentioned above.