faustcao 2020-06-12
哈工大、北航等国内高校被禁止使用 MATLAB,这件事在国内社交媒体迅速发酵并登上热搜,引发学术界和技术界的广泛讨论。
上个月,美国商务部宣布将新增 33 家中国公司及机构列入“实体清单”,除了奇虎360、云从科技、烽火科技等企业外,还包括中国公安部法医科学研究所等政府相关机构,以及哈尔滨工业大学和哈尔滨工程大学两所高校。至此,中国大陆共有 13 所高校被列入该实体清单,除上述两所外,还有:中国人民大学、北京航空航天大学、西安交通大学、西北工业大学、四川大学、电子科技大学、湖南大学、国防科技大学、同济大学、南昌大学、广东工业大学。
这些高校将被美国《出口管理条例》限制出口、进口或转口,无法和美国进行任何商业交易,在获得美国科技方面面临新的限制。它们和去年被列入清单的华为、中兴等中国企业一样,和美国企业之间的进出口业务需要美国政府的批准,也就是所谓的“技术制裁”。迫于政府的压力,MATLAB 所属公司 MathWorks 被迫中止对这些国内高校的正版授权。
虽说能上这份清单的组织机构都不简单,至少证明其科研实力得到了美国的重视。但当这些我们常用的基础软件真的被别人卡脖子时,其带来的负面影响还是肉眼可见的。
MATLAB 是矩阵实验室(Matrix Laboratory)的简称,由美国 MathWorks 公司出品,是一种高级技术计算语言和交互式环境集成软件,由 MATLAB 和 Simulnk 两大部分组成,广泛应用于算法开发、数据可视化、数据分析、仿真建模以及数值计算,在工业制造、学术研究等领域具有近乎垄断的市场地位。大学读理工科专业的同学基本上都接触过这款软件。有分析人士指出,如果整个学校被禁用了正版 MATLAB,这意味着学校的人员再发表论文或者从事商业项目,其成果原则上就不应包含任何基于 MATLAB 的内容,这对国内相关企业和研究学者带来的影响不可忽视。
而随着 MATLAB 在国内高校被禁用,一些类似 MATLAB 的开源软件开始重获关注。
SCILAB
SCILAB 是一款与 MATLAB 类似的开源软件,可以实现 MATLAB 上所有基本的功能,如科学计算、矩阵处理及图形显示等。
由于 SCILAB 的语法与 MATLAB 非常接近,熟悉 MATLAB 编程的人很快就会掌握 SCILAB 的使用。有意思的是,SCILAB 提供的语言转换函数可以自动将用 MATLAB 语言编写的程序翻译为 SCILAB 语言。目前,SCILAB 可在 Linux、WINDOWS 和 Mac OS 全 PC 平台运行。
作为开放源码的软件,SCILAB 遵循 GPL 2.0 开源协议,源代码、用户手册及二进制的可执行文件都可以通过官网免费直接下载使用。用户不仅可以在 SCILAB 的许可证条件下自由使用该软件,还可以根据自己需要修改源代码。
Octave
Octave 是一个类似 MATLAB 和 Scilab 的数学软件包,可以进行各种运算,编程。它还有丰富的 C++ 接口可以让用户编程时调用。其配套的绘图工具采用 gnuplot 。Octave 的使用也是基于字符终端模式的,当需要绘图时,将会调用 gnuplot 进行数据绘图,并显示出来。
Octave 是用 C++ 编写的,它内容丰富的库也可以供用户在编写软件时调用。Octave 同时还支持 Fortran 等的调用,GSL 绑定等。可以由用户定制自己的函数、子程序等。
Spyder
Spyder 是一款轻量级的 Python IDE ,提供高级的代码编辑、交互测试、调试等特性,适用于数据分析。Spyder 的界面与 MATLAB 非常类似,其作者早年也承认模仿了 MATLAB 的设计。如果对于 MATLAB 的仿真建模需求不高的话,Spyder 足以取而代之。
MATLAB 事件也引发了人们的反思,国内高校是否会因此事件掀起一波进一步拥抱开源的风潮?
自由软件运动之父 RMS 曾呼吁学校只应使用自由软件,因为学校具有社会使命:教育学生成为强大、有能力、独立、合作和自由的社会公民。“学校应该推动自由软件的使用,正如学校推动对话和投票一样。教育学生使用自由软件就是培育能够生活在自由数字社会的公民。这样就可以帮助整个社会避免为超级企业集团所主导。反过来,教授非自由软件就是在培育依赖性,这和学校的社会使命背道而驰。学校绝不应该这么做。”
如今看来,RMS 的担忧绝非危言耸听。我们很多人从学生时代开始,接触的就是 Windows 系统、MATLAB、CAD 等专有软件,对这些国外软件产生了很强的依赖性,尽管这些软件对学生来说或许是免费的。但归根结底,为什么专属软件的开发者会为学校提供非自由软件的免费拷贝?RMS 曾表示,“因为他们企图利用学校来培育对其产品的依赖性,正如烟草公司向学生发放免费香烟一样。一旦学生毕业,他们就不会再得到免费拷贝,他们的雇主也不会。一旦有了依赖性,你就会付钱,而且升级换代也会很贵。”
“自由软件允许学生学习软件如何工作。一些有编程天赋的学生,在他们的少年时代,渴求学习一切关于计算机和软件的知识。他们有强烈的好奇心,想要阅读他们所用软件的源代码。专属软件拒绝了他们对知识的渴求:它说,‘这些知识是秘密—学习是禁止的!’专属软件是教育精神的敌人,所以学校不应该容忍专属软件,除非是作为逆向工程的对象。”