仅使用自由/开源软件教授我的麻省理工学院课程


今年春天(2020 年),由于 COVID-19 大流行,麻省理工学院将所有课程转移到线上。它提供了各种非自由程序的许可,但我出于原则反对它们。对于我的课程,一门高级计算机编程课程,我做了安排,避免向我的学生推荐任何非自由软件。

相反,我使用了由自由软件基金会拥有的服务器上运行的 BigBlueButton 安装。自由软件基金会的 Rubén Rodriguez 帮助使该软件和其他软件正常工作。(感谢自由软件基金会和 Rubén!)

该课程使用了一本 Chris Hanson 和我合写的教科书草稿。这本书名为《软件灵活性设计(如何避免将自己编程到死胡同)》;它将很快由麻省理工学院出版社出版,采用知识共享署名-相同方式共享许可(并且支持该书的所有代码均在 GNU GPL 许可下)。

我也没要求我的学生使用非自由软件进行关于课堂作业、论文工作或项目的一对一对话。我使用了一个 Jitsi Meet 服务器,该服务器安装在我实验室中一台闲置的、过时的且毫无用处的计算机上,它正准备被扔进电子垃圾堆。

我很高兴地报告说,我的课程成功地进行了,我的学生得到了很好的服务,我们都对结果感到相当满意。

服务器软件仍然存在的一个缺陷是,Jitsi Meet 和 BigBlueButton 没有向 LibreJS 表明它们的 JavaScript 代码是自由的。它确实是自由的——它的源代码有明确的许可——但 LibreJS 无法自动确定这一点。

脚注

[1] Gerald Jay Sussman 是麻省理工学院的松下电气工程教授。他是美国国家工程院院士和美国艺术与科学院院士。他于 1985 年帮助创立了自由软件基金会。