今年春天,由于新冠肺炎大流行,麻省理工学院将所有班级都搬到了网上。它为各种非免费程序提供了许可证,但我在原则上反对这些程序。对于我的班级,一个计算机编程的高级班级,我做了安排,避免向我的学生建议任何非自由软件。
相反,我使用的是在自由软件基金会(Free Software Foundation)拥有的服务器上运行的BigBlueButton安装。FSF的Rubén Rodriguez帮助该软件和其他软件运行。(谢谢你们,FSF和Rubén!)。
这堂课使用的是我和克里斯·汉森写的一本教科书草稿。这本书的标题是“灵活的软件设计(如何避免编程陷入困境)”;它将很快由麻省理工学院出版社出版,并拥有知识共享类似的许可证(所有支持这本书的代码都在GNU GPL下)。
我也没有要求我的学生使用非自由软件进行关于课堂作业、论文作业或项目的一对一对话。我用的是一台Jitsi Meet服务器,它安装在一台陈旧无用的计算机上,这台计算机闲置在我的实验室里,正在去电子垃圾堆的路上。
我很高兴地报告,我的课程讲授得很成功,我的学生得到了很好的服务,我们对结果都相当满意。
服务器软件仍然有一个缺陷,那就是Jitsi Meet和BigBlueButton没有向LibreJS表明他们的JavaScript代码是免费的。它是免费的--其源代码是明确授权的--但LibreJS不能自动确定这一点。