MATLAB被禁了,开源软件是国产基础软件的最后一根救命稻草?

《哈工大、哈工程被禁用「工科神器」MATLAB,美国「实体名单」影响深入校园》这篇文章在朋友圈刷屏了。除了谴责美国的实体清单政策之外,大家纷纷在想该如何应对。我本来以为会有很多人反思为啥没有国产可替代的,但看了看评论,我发现我太天真了。

路人甲:“盗版总可以用吧,以前不都是用盗版的吗?”

路人乙:“用开源的替代品,比如 scilab,octave。”

路人丙:“跟老美打法律战,给 MATLAB 公司巨额罚款。”

几十年前,比尔盖茨在谈到中国市场上盗版 Windows、Office 横行的时候,说了一句很经典的话:“我希望他们即使偷,也偷我们的。”

又过了大概十年,有一次我听到自由软件基金会创始人回答一个听众问题时说,“如果水平不够,没法参与开源软件的开发,那用就好了,我们鼓励你们用。”

你看,我们先是习惯了用盗版,不愿意为软件付钱,等后来有了开源软件,我们不仅仅用,还学会了抄。不知道你有没有听过有句话:“国外一开源,国内就自主”?

原来,我以为这是因为我们政府在保护知识产权方面做的不好造成的。但我发现事情远没有这么简单,有的公司宁愿养工程师把开源软件的代码清洗一遍当成自己的,也不愿意花钱支持开源软件。还是我朋友圈里的亮爷一语道破天机:“他们首先想到的是不劳而获!”

亮爷这句话如醍醐灌顶,我一下子清醒了。要唤醒国人重视基础软件,还真不是加大知识产权保护就能解决的问题——非是刀架到脖子上的时候,国人改不掉不劳而获的这个习惯。还是鲁迅描写的好:

孔乙己便涨红了脸,额上的青筋条条绽出,争辩道,“窃书不能算偷……窃书!……读书人的事,能算偷么?”接连便是难懂的话,什么“君子固穷”,什么“者乎”之类,引得众人都哄笑起来:店内外充满了快活的空气。”

鲁迅

再回到本文的标题:开源软件是国产基础软件的最后一根救命稻草?

这话应该反过来说:开源软件怕是压垮国产基础软件的最后一根稻草罢——难道你们不怕美国把开源软件也给禁了?

引申阅读

为什么在学校中只应使用自由软件

Richard Stallman 著


教育活动,包括从幼儿园到大学的各级学校,有道德职责只教授自由软件。

所有计算机用户都应该坚持使用自由软件:它赋予用户控制其计算的自由—专属软件,执行的是其所有者或开发者的意愿,而不是其用户的意愿。自由软件还赋予用户互相合作的自由,这就是诚信的生活。这些道理同样适用于学校。不过,本文的目的是展示特别针对教育的一些道理。

自由软件可以为学校省钱,但这只是次要的好处。因为学校和其他用户一样,有自由复制和重新发布自由软件,所以可以省钱;一个学校可以给其他学校软件拷贝,这样所有学校的计算机都可以安装自由软件而不必因此付费。

这个好处有益,但是我们绝不能将之列为首位,因为和利益攸关的道德因素比较起来,省钱太肤浅。让学校使用自由软件并不是让学校的教育“好一点”:这是好教育和坏教育的区别。我们来深入探讨一下这个问题。

学校具有社会使命:教育学生成为强大、有能力、独立、合作和自由的社会公民。学校应该推动自由软件的使用,正如学校推动对话和投票一样。教育学生使用自由软件就是培育能够生活在自由数字社会的公民。这样就可以帮助整个社会避免为超级企业集团所主导。

反过来,教授非自由软件就是在培育依赖性,这和学校的社会使命背道而驰。学校绝不应该这么做。

归根结底,为什么专属软件的开发者会为学校提供非自由软件的免费拷贝(1)?因为他们企图利用学校来培育对其产品的依赖性,正如烟草公司向学生发放免费香烟一样(2)?一旦学生毕业,他们就不会再得到免费拷贝,他们的雇主也不会。一旦有了依赖性,你就会付钱,而且升级换代也会很贵。

自由软件允许学生学习软件如何工作。一些有编程天赋的学生,在他们的少年时代,渴求学习一切关于计算机和软件的知识。他们有强烈的好奇心,想要阅读他们所用软件的源代码。

专属软件拒绝了他们对知识的渴求:它说,“这些知识是秘密—学习是禁止的!”专属软件是教育精神的敌人,所以学校不应该容忍专属软件,除非是作为逆向工程的对象。

自由软件鼓励人们学习。自由软件社区拒绝“技术的祭司1”,拒绝让公众保持对技术的无知;我们鼓励人们,无论年龄和处境,学习软件源代码以了解他们想知道的知识。

使用自由软件的学校使有天赋的学生得到发展。有天赋的学生是如何成为优秀的程序员的呢?他们需要阅读和理解真正的应用程序。要写出优雅、清晰的代码,你就要阅读大量的代码和编写大量的代码。只有自由软件才允许这样做。

如何为大型的项目编写代码?你要通过为已有的大型项目编写大量的更改来学习。自由软件支持你这样做;专属软件禁止你这样做。学习能够为学生提供掌握编程技艺的机会,只要学校教授的是自由软件。

学校使用自由软件的最深层原因是道德教育。我们期待学校教授基本的事实和实用的技术,但这些只是学校的部分功能。学校最基本的任务是培育良好的社会公民,其中包括帮助他人的习惯。在计算机领域,这意味着教授人们分享软件。学校,从幼儿园开始,就应该教育学生,“如果你带软件到学校来,你必须和其他学生分享。如果有人想学,你必须在班里展示源代码。所以带非自由软件到课堂是不被允许的,除非是为了逆向工程。”

当然,学校必须实践其教育:学校应该只使用自由软件(除非是为了逆向工程),并且和学生分享带源码的软件拷贝,允许学生复制、带回家和再发布。

教育学生使用自由软件和参与自由软件社区是实实在在的公民课。它也教育学生公共服务的典范、而不是企业巨头的角色。各级学校都应该使用自由软件。

如果你和学校有关—你是学生、教师、雇员、管理者、资助者或是父母—你有义务为学校开展活动,让学校使用自由软件。如果个人力量无法实现该目标,请在社区公开提出这个目标;这样会让更多的人知晓这个目标并且找到活动的志同道合者。

MATLAB被禁了,开源软件是国产基础软件的最后一根救命稻草?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据