Teaching My MIT Classes with Only Free/Libre Software

This spring (2020) MIT moved all its classes online because of the COVID-19 pandemic. It made available licenses for various nonfree programs, but I objected to them on grounds of principle. For my class, an advanced class in computer programming, I made arrangements to avoid suggesting any nonfree software to my students.

Instead, I used an installation of BigBlueButton running on a server owned by the Free Software Foundation. Rubén Rodriguez of the FSF helped get this and other software working. (Thank you, FSF and Rubén!)

The class used a draft textbook that Chris Hanson and I have written. The book is entitled “Software Design for Flexibility (how to avoid programming yourself into a corner)”; it will be published by MIT Press soon, with a Creative Commons Share Alike license (and all the code in support of the book is under the GNU GPL).

I also did not ask my students to use nonfree software for one-on-one conversations about classwork, or thesis work, or projects. I used a Jitsi Meet server that I installed on an obsolete and otherwise useless computer that was sitting idle in my laboratory, on its way to the electronics junk heap.

I am pleased to report that my classes were successfully presented, my students were well served, and we were all reasonably happy with the results.

The one flaw that the server software still has is that Jitsi Meet and BigBlueButton don't indicate for LibreJS that their JavaScript code is free. It IS free—its source code is clearly licensed—but LibreJS can't determine this automatically.


[1] Gerald Jay Sussman is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology. He is a member of the National Academy of Engineering, and a Fellow of the American Academy of Arts and Sciences. He helped found the Free Software Foundation in 1985.