中国推广开源应用的可操作方案

从Windows迁移到Linux,中国现在能做什么

常见问题列表:
  1. 中国从Windows迁移到Linux,首先从哪里入手?

  2. Linux有这么多发行版,怎么选?

  3. 办公使用ms office的习惯不容易改,怎么办?

  4. 各种Windows专用软件在Linux中没有,怎么办?

  5. 现有工作人员只会Windows,不会Linux,怎么办?

  6. 如果迁移,万一以后哪天Windows开源了,怎么办?

摘要:

本文通过系统性和全面性地对Linux操作系统与开源应用生态进行研究分析,得出Linux系统容易学习的结论,并对比Windows系统生态与Linux系统生态,针对将来中国从Windows迁移到Linux的最终目标,设计出当前可立即执行的解决方案。

方案主要特点是:

  1. 简单易理解可操作且不激进,不影响当前业务,使迁移过程更平滑稳健,真正做到潜移默化,润物细无声。(解决迁移的关键因素:“人”的问题)

  2. 论证解决在国产操作系统未成熟的前提下,如何在不同的Linux操作系统之间进行选择,且选择结果不影响未来切换成国产操作系统;

  3. 让大家跳出“等待国产操作系统”的怪圈,提前发展Linux应用生态,为中国未来成功迁移到Linux节约大量时间,为学习和磨合创造更多条件;

  4. 方案可以渐进式操作,并能够分阶段实施和灵活部署,局部出现问题对整体目标不产生显著影响。

中国要实现把操作系统从Windows迁移到Linux这个整体目标,有三个问题需要面对:

一是硬件;
二是软件;(操作系统、应用程序、开发工具)
三是人。

硬件暂不做讨论,本文主要讨论软件和人这两个问题。另外,本文主要以个人电脑操作系统为例,面向普通办公室工作人员展开讨论;服务器操作系统可以类推。

概述:可以分解为以下主要的关键点:
  1. 发行版:debian系和redhat系分析。

  2. 先生态,后系统。

  3. 公立小学中学大学职高技校;尤其是大学,全面采用Linux,包括大学的网站及校内为学生/老师服务的各种系统和应用。(论文要求必须使用windows字体)

  4. 政府网站或其它面向公众的网站,比如国家知识产权局商标局的商标注册/查询网站,要求使用windows和IE,可以改为建议使用Linux和firefox。再比如出版社投稿等,要求word,必须使用windows字体:改为wps或者libreoffice,字体可以使用SIL协议开源字体,比如google的noto cjk(宋体/黑体)。

  5. 公共资源在招标时,强调使用开源工具,比如政府下辖的公共网站(如图书馆),强调网站建设过程中使用的图像处理工具必须使用开源软件如gimp、inkscape等,避免使用photoshop、illustrator等闭源工具。

  6. 税务开票系统,通常是专机专用,可以考虑改为Linux系统。虽然系统完全不同,但只要保证应用界面一致,那么财务人员上手就非常容易。此提案对于应用生态来说,更具有象和提示征意义。

  7. 所有政府下辖的单位,包括院所,自查必须使用windows系统的应用,并分析用Linux应用替换的可能性;对于不能替换的应用,分析开发Linux版本的可能性及成本。(仅限于政府下辖单位,不涉及民间的企业/组织,这样可以让迁移过程更平和)

  8. 政府网站、公立学校、税务开票系统等向Linux的转变,无疑会让社会得到一个信号:中国,Linux已经开始了!这种情况下,整个社会就会开始关注Linux,并进行投入。这其实也解决了系统迁移的一个关键要素:人心的问题。

  9. 论证体系评审注意:我们在建立各种Linux系统及应用评估/分析的研究决策时,发表意见,尤其是为决策提供意见的人,需要避免那些只使用windows的人。理解的情况是,一个评估团队,至少有一半,是只使用Linux的人。这样可以避免出现类似中医被西医设定考试题目的情况,导致中医从业人员很难拿到执业资格证,或者拿到了资格后,只能按西医思路行医,这很严重!我们并不缺乏只使用Linux的人,只不过政府部门中可能会比较少,可以从政府之外聘用。国家层面开源政策的成熟度对开源产业的发展有重要意义。

  10. 确定需要政府支持的Linux教学项目。主要是基础项目,此类项目基本没有收益或收益极少,无法让企业自主参与。这种情况下,政府制定政策,对基础项目进行促进,社会在此基础之上发展和推进,效率会更高。比如基础性的应用教程:Git教程、GIMP教程、Inkscape教程、LibreOffice教程等等。由政府公开提供一些资金上的助力,效果会很明显。

  11. 开发问题:此问题暂时可能不需要关心,企业会自己应对。如果公立小学中学大学全部使用Linux系统,那么后续的开发人才也具有较好的基础。

  12. 促进开源消费:比如放开开源类软件书籍销售。(这是一个大的问题,宏观上,可以考虑放开计算机类书籍的出版/印刷/销售。当前书籍销售必须买到出版社的书号,或者干脆由出版社接手,才能够出版并印刷和销售图书,启动成本相对比较高,也比较繁琐;如果放开,让大众可以不需要申请书号(或者放开开源类书号审批,降低成本和审批难度)就自行出版/印刷/销售,那么一方面会对开源推广起积极作用,另一方面,也能够带动一部分销售,促进一部分就业。就目前国内经济状况而言,利大于弊。一个可以思考的方式是采用先自主注册,再销售的方式,作者提交销售版本的pdf到国家承认的注册中心存档,存档不代表审查,只代表作者书籍的内容存底,方便后续需要时审查。只需要保存存档有效,那么就可以把审查放到后续,且不出问题可以不审查;此方式可以考虑扩大到开源软件以外的其它类书籍)

  13. 开源软件会用、能用、替代分析:先解决会用问题,能不能用,可以通过四级的分级法来具体专门论证。

  14. 开源生态包括开源软件、开源人员、生态形成三个部分。有相关的开源软件,且有会使用该开源软件的人员,之后就是对那些缺少的功能进行完善的过程,三合一即生态形成。此过程可能比较长,无法一蹴而就,这就需要大量的时间投入,所以,我们应该尽量把这个时间提前开始,而不是继续等待。

  15. 成功换成linux之前,应该先考虑应用推广,因为推广应用需要的时间和资源,可能远远超过系统。

软件问题分析

软件可以分为三个要素,一是操作系统,二是应用软件生态,三是软件开发工具。

操作系统基本不需要再分析,就是Linux操作系统。但有一个问题是,目前虽然有国产Linux操作系统,但其成熟度还达不到迁移的要求,这直接导致一个结果就是,我们无法马上替换正在使用的Windows系统。这是很多人当前的结论。本文作者对这个问题进行了深入研究,得到了不同的结论。

首先,我们已经能够确定,将来替换Windows系统所使用的,一定是Linux系统。这不仅仅是因为Linux是开源的操作系统,我们可以拿到源代码按自己的意愿修改和使用;还有另一个重要的原因,就是Linux系统所具有的应用软件数量庞大,从开发到应用,生态完整,完全不逊色于Windows系统。数量庞大种类繁多的应用软件和工具,是我们选择Linux系统的一个重要理由。

1.1 Linux操作系统情况的大概说明

1.1.1 不同的Linux发行版的说明

当前仍然存活的Linux发行版,大概280个。其中,接近一半是基于Debian的再次发行版。所以,Debian系发行版是占比最多的发行版,比如Ubuntu就是基于Debian的再发行版。同样道理,基于Redhat的发行版是占比第二大的发行版,其面向个人电脑用户的版本是Fedora。

我国目前已经存在的国产操作系统,基本上都是以Debian和Redhat这两个系的发行版为基础进行再开发而来。基于此,我们可以把未来中国的国产操作系统锁定为Debian系和Redhat系。即,我们不需要因为Linux系统的版本太多而烦恼,范围已经缩小到Debian系和Redhat系。

1.1.2 Linux难学难用问题的说明

Linux难学难用的说法是一个误解。和Windows系统相比,现在Linux系统的稳定性和易用性已经完全没有问题,比如Debian,或者Fedora,完全可以用于个人电脑办公环境。至于服务器环境,更是已经广泛应用,无需论证。

对于Linux难学难用的问题,一直以来的现状是,国内主流的Linux系统教程,针对的学员对象都是Linux系统管理员或者运维人员,而不是普通的办公室工作人员。这样的教程,导致很多非专业人员对Linux系统望而却步。这样的现状导致大家形成了Linux难学难用的误解,根本原因在于,这些教程全部都是那些搞Linux系统维护的人所写,因为他们本身是专业的系统维护技术人员,所以天然地认为命令和原理是Linux系统的基础。

这个想法本身并没有错误,因为系统维护人员掌握命令和原理是必须的。但普通的办公室工作人员就不同,他们学习那么多命令和原理没有任何意义,因为根本用不到。相反,办公室工作人员最需要学习的,其实主要是操作步骤,而不是原理和命令。如果基本不需要学习命令和原理,那么Linux系统的学习难度和使用难度就直接降到了与Windows系统相同的水准。而这个难度,主要就是图形操作界面,但实际上,Linux图形界面的学习难度,甚至比学习Windows界面还要容易。

数据来源于distrowathc.com:

接下来要面对的问题是,Debian系和RedHat系两者,到底哪一个会在将来成为中国主流的国产Linux系统?

1.2 Debian系和RedHat系,到底选哪个?

1.2.1 从应用生态角度看,现在选择哪一个并不重要,对迁移不产生显著影响

很多人在纠结选择哪一个的问题,并因为这个问题没有得到答案,所以就没有开展下一步工作,这个纠结导致我们已经耽误了很多时间。

本文作者通过研究后得出的结论是,二者最终哪个会成为主流并不重要,也不需要关心。因为,无论哪一个成为主流,我们都需要面对相同的应用生态。Linux系统的应用软件生态非常庞大,比如图像处理软件我们基本上都会选择GIMP(相当于Windows平台的Photoshop),矢量图软件我们基本上都会选择Inkscape(相当于Windows平台的Illustrator)。无论最后我们是用Debian系还是RedHat系,都会使用相同的应用软件,这些应用软件生态的选择才是我们会面临的实际问题。应用软件不会变因为系统的变化而发生改变,无论Debian系还是RedHat系,官方仓库都可以安装GIMP和Inkscape。所以,不管将来使用哪个系统,我们都无需考虑应用软件生态的问题,因为所有Linux系统,使用的是同一个应用软件生态。

一些细节上的差异,两系相比,比如在应用软件数量方面,RedHat系官方仓库的软件包数量相对Debian系要少一些,还有就是RedHat系官方仓库仅提供完全自由的软件包,其它软件包需要使用第三方仓库来安装,这增加了一些维护方面的复杂程度。不过,这类问题都是专业的系统维护人员或者专业的开发人员需要考虑的,普通的办公室办公人员或行政人员完全不需要考虑这样的问题。

1.2.2 从系统角度看,选择并不重要,对最终目标不产生显著影响

上面是应用程序生态方面的考虑,我们已经无需担心。还有一个是系统方面的考虑。 如果我们现在就开始学习Linux的话,应该学习哪一系,Debian系还是RedHat系?这个问题,其实也非常简单。从原理上讲,对于操作人员来说,两系没什么区别,因为Debian系和RedHat系使用的桌面环境可以完全一样。这是因为,所有主流的Linux操作系统,其桌面环境都是通用的。可能被操作人员感知到的区别在于,一是二者在软件包管理上使用了不同的命令,或者不同的工具;二是上面提到的,RedHat系官方仓库的软件包数量可能会少一些。但即使有区别,其差异也非常有限。

对第一个差异我们举个例子,在Debian系中安装Inkscape,使用的命令是 sudo apt install inkscape,而在Fedora中安装GIMP使用的命令是sudo dnf install inkscape。两系安装命令的差别就是把apt换成dnf,非常容易理解,这也是Linux系统各个发行版能百花齐放的一个重要原因。当然,二者差别不仅仅是几个命令,还有其它内容。不过,这些差别中的绝大多数是开发人员才应该关心的。而对于操作人员来说,完全无需理会。相比学会Linux系统所花费的时间精力,从Debian转到Fedora所花费的精力,几乎可以完全忽略不计。

如果我们的操作人员现在开始学习Linux,选择的是Debian系,那么将来国产系统即使是RedHat系,操作者所能感受到的不同之处也非常少,完全可以接受,反之亦然。所以,本文作者的结论是,我们无需担心未来国产系统是哪一系,现在想学习的话,选择哪一个都可以。

深入说明:Debian系使用的软件包为deb格式,RedHat系使用的软件包为rpm格式,二者其实是可以由专业人员进行相互转换的,即把Debian系的deb包转为rpm包,从而可以在RedHat系中使用;或者把RedHat系的rpm包转换为deb包,从而可以在Debian系中使用。不过这已经是开发者需要考虑的问题了,不再多说。

1.2.3 对比Debian和Redhat的细节差异,如果现在学习Linux系统,推荐选择Debian

虽然选择哪一个发行版并不重要,但如果现在就开始学习Linux系统的话,仍然需要在Debian系和RedHat系之间做一个选择。本文作者通过研究分析,建议选择Debian。下面是分析说明:

  1. Debian支持的硬件架构最全,这有利于我们未来在不同架构上进行部署和规划,以及在各种可能的平台上进一步发展应用。

  2. Debian没有商业公司背景,是社区发行版;而RedHat系有商业公司背景。Debian系的Ubuntu也有商业公司背景。本文建议选择无商业公司背景的发行版。有商业公司背景的,比如Ubuntu和Fedora,排除在选择范围之外。至于原因,首先考虑的是政治影响,其实考虑的是系统国产化推进。(关于此结论,本文作者有另一篇论文:开源企业应该如何分类,其中对此做了针对性的论述)

  3. Debian与RedHat相比,Debian相对更偏重于面向个人用户,而RedHat更偏重于面向企业用户和开发人员。比如,RedHat系的RHEL是专门用于服务器的,面向企业;RedHat系的Fedora虽然有面向个人的工作站版本,但主要面向开发人员,而不是普通的办公室工作人员(来源于官方网站的说明)。而我们所讨论的替代Windows的Linux系统,主要是普通的办公室工作人员所使用的个人电脑的操作系统。至于服务器系统,那是系统管理员或者开发人员才应该关注事情,与普通的办公室工作人员无关,我们可以不去理会。

  4. RedHat系中,Fedora有工作站版本。但Fedora存在的意义主要是作为RHEL的测试版而存在,RHEL的很多新功能新特性新工具会先在Fedora上进行测试,经过一定时间的测试后,解决一些测试过程中发现的问题,然后才会考虑加入到RHEL中。所以,Fedora相对更激进一些,在稳定性上需要考虑(参考archwiki: Arch compared to other distributions)。

  5. 基于Debian的再次发行版数量远大于基于RedHat的再次发行版数量。这是市场行为,没有人为干预。这个结果会让用户后续安装软件和选择软件更容易,产生逆反的可能性也就更低。

  6. 有一个误解认为Debian Stable无法提供最新版本的应用软件,而Fedora提供的应用软件相对版本更新。本文作者经过长期研究测试后发现,Debian Stable完全可以通过appimage或者flatpak来解决这个问题,而且非常简单和有效。

以上是在Debian系与RedHat系二选一的建议。重申一点,从普通的办公室工作人员角度看,具体选择哪一个,差别并不大,只不过我们仍然需要做出选择,以方便应对某些具体情况。比如在网站上会推荐用户使用某一个浏览器,那么,注明“推荐使用Debian系统和Firefox浏览器浏览本站”比“推荐使用Linux系统和开源浏览器浏览本站”要更具实际意义。但事实是,未来我们可以随时由Debian系切换到RedHat系,反之亦然。

2. 应用软件生态

接下来我们看软件的第二项要素:应用软件。这里的应用软件,主要是指非开发人员所使用的各种软件,比如办公室行政人员使用的办公软件等。对于开发人员使用的各种开发工具,比如编译工具、开发环境等,我们在后面第三项要素中讨论。

2.1.1 不应考虑Wine方案

Linux系统中有一个工具叫做wine(Wine Is Not an Emulator)。使用这个工具,我们可以把Windows系统中的应用程序拷贝过来,直接安装在Linux系统中使用。这种方案我们必须放弃,因为使用Wine会遇到诸多问题,但这还不是重点,重点是Wine的原理是让那些Windows应用程序误以为自己是安装在Windows系统中。这就产生一个问题,如果使用Wine方案,那么未来我们开发新软件,或者升级软件,势必还要按照Windows系统的环境来开发或升级,但这显然是错误的方向,也是我们当下要极力避免的事情。即然我们已经决定要迁移到Linux,那么开发出完全脱离Windows系统,直接适用于Linux系统的软件,才是真正解决问题的有效方案。(多数必须依赖windows环境的软件,我们可以用虚拟机解决)

2.1.2 复杂项目的补充说明

《开源软件替代商业/闭源软件的可行性研究》 一文中提到的四个替代级别,主要是针对单个应用软件做的区分。但在实际应用上,有很多复杂的整体性项目,这些复杂项目在开发实现及应用过程中,涉及到多个应用软件、多种开发工具,甚至多个领域的专门技术。针对此类复杂性高的项目,我们有可能需要分别或专门对待。

我们举个例子,比如国家知识产权局商标局中国商标网。这个网站上有一个商标网上申请的入口,但对于登录用户,有一些软件方面的限制,第一个限制就是,操作系统必须是微软的Windows,Linux是不支持的;第二个限制是,浏览器必须是微软的IE,不支持其它开源浏览器。

通过研究分析,本文作者发现,这样的限制,对于使用Windows系统的用户来说,应该是最佳方案。一方面,它可以保证账户使用的安全性;另一方面,它让登录用户的使用成本降到了最低。可以说,在兼顾成本与安全这两个问题上,这样的限制非常有效且实用。直到目前为止,中国绝大多数用户是使用Windows系统,只有少数开发人员或爱好者,会使用Linux系统。所以,这个限制设计,基本上照顾到了几乎所有的登录用户。(摘自网上申请指南>商标数字证书客户端安装与使用注意事项>商标软证书客户端安装指南,国家知识产权局商标局中国商标网)

我们现在面临的问题是,新的时期,国家在宏观层面上对于操作系统的选择有了新的期望,这对于中国商标网这样的网站来说,是以前没有遇到的问题。所以,需要国家知识产权局组织人力进行评估,讨论具体的向linux迁移的方案。

这样的项目比较复杂,涉及到一系列不同的技术领域,全部论证相对也比较复杂。不过本文作者认为,针对这样的情况,可以考虑由国家知识产权局的技术管理人员提出具体要求,由网易、小米、华为、京东、阿里这样的公司提供Linux系统实现方案,然后各方技术人员一起对方案进行评估,来最终实现迁移到Linux的目标。

2.1.3 社会公开服务率先迁移到Linux的意义

类似国家知识产权局商标局中国商标网这样的网站,登录用户主要是商业企业或个体户;而类似中国版权保护中心这样的网站,则除了企业用户以外,还有大量的个人用户。这类的网站都是面向全社会的公开服务网站,如果能够率先实现迁移,引导用户使用Linux系统登录,会对整个中国社会产生一个非常强烈提示信号:国家已经开始向Linux迁移。

这样的信号,会让企业开始主动思考,自己如何面对移到Linux的问题。同时,市场上开始会有第三方公司提供向Linux迁移的咨询服务,包括支持方案服务。这样一来,形成连锁反应,缓慢而温和的引导和刺激整个社会,开始实质性的向Linux迁移。

这样的方式最大的好处是,国家只是从战略层面作了一些体制内的调整,剩下的,尤其社会和市场方面的发展,完全交给社会和市场自行处理。实质上,其实是给予社会和市场充分的迁移调整的准备时间。这样实现了两个目的,一是发现信号引导社会和市场开始向Linux迁移,二是允许社会和市场缓慢向Linux迁移,平滑温和无刺激。相比我们一直在理论上或书面上讨论向Linux迁移,这样的操作要更有效,也更实际。但具体先选择哪些公共服务网站向Linux迁移,以及迁移目标和效果,则需要整体论证和把控,尽量避免激进和减少不良影响。给社会和市场足够的时间,他们一定会知道接下来应该怎么做,也一定会渐渐进入实质化的迁移过程。

另外,还有可能刺激国内的Linux培训市场,这也是创造就业的机会。

再举一个例子,比如企业的税务开票系统。目前所有企业的税务开票,都是Windows系统,且基本上都是专机专用。我们不妨现在就开始开发基于Linux系统的税务开票系统,并根据开发计划,向所有企事业单位发布通知,比如:“税务开票系统将于2022年6月1号开始进入双系统模式,即企业即可以使用Windows,也可以使用Linux。再过2年,到了2024年6月1日,有可能只支持Linux系统。”警务等其它专用系统同理。可以的话,在新闻角度上也做一些低调宣传。

上面的通知,需要以下内容作为背书:

第一,因为专机专用,所以税务开票系统迁移到Linux的动作,对企业现有的业务基本上没有任何影响。

第二,Linux版本的税务开票系统最好足够简单,如果在界面和操作过程上与现有Windows系统的税务开票操作基本一致,则会最大化为企业提供便利,平滑温和。

第三,国家税务网站统一公示可以支持的Linux系统的电脑/网卡型号,方便有需求的企业进行采购(质量过硬很重要,不能开票是大麻烦,必须避免,所以硬件论证不能有水分)。这也可以促使电脑生产厂商积极生产与Linux系统兼容的电脑硬件。

有了这三个特性,企业把税务开票系统迁移到Linux,可以说基本无障碍,只需要为很少人员提供很少的学习资源就可以做到。但结果却非常有效。企业都很聪明,在接收到这样的信号之后,一定会积极考虑如何应对这样的现状和未来。

先从国家机关单位主管的项目入手,涉及的都是国家行政办公及相关人员,涉及面小,成本可控,但有很强烈表率和提示作用。对于社会、企业和市场,尽量不做强制规定,或尽量减少强制规定,在充分论证负面影响的前提下温和发展,迁移成功指日可待。

2.2 中国当前对于四种级别的认知现状

中国当前的情况是,大多数人把替代理解为第一个级别,即完全替代;把所有不符合第一个级别的情况,全部都归类为第四个级别,即无法替代。这是有问题的,因为很多情况是因为大家对开源软件不熟,或者不会,还按以前Windows软件的方式来操作Linux软件,而一旦在一定的时间内没有实现相同的功能,或者没找到解决方案,就直接认定开源软件无此功能,或者开源软件无法替代商业闭源软件。

因为这个误解,导致了大家对于Linux系统及开源软件功能的错误认识,笼统地认为开源软件不行、不能用、功能有问题等等。而从应用角度讲,多数Linux系统的常用开源软件在功能上与Windows系统的商业/闭源软件,基本上没有太大的区别。从宏观角度上讲,我们更应该主要关注的重点是看开源软件是否可以完成目标工作,而不是关注开源软件完成目标任务的方式与Windows软件是否一致。Windows系统的商业/闭源软件通过A方案完成任务,Linux系统的开源软件通过B方案完成任务,这就表示可以替代,剩下的,只是人的问题,要学习和磨合。

本文作者经过长时间的深入研究分析后认为,Windows系统中所使用的绝大部分常用软件,都可以在Linux系统中找到开源软件来替代,这个替代包括第一和第二两个级别。因此,我们有必要纠正大众对于开源软件是否能替代商业闭源软件的看法,让大众的结论更加客观化和理性化。那么,如何确认哪些软件哪些领域是否可以替代?这涉及到人的问题,我们放在后面人的因素一节中论述。

好了,到这里,软件的三个要素:系统、应用软件和开发工具,我们已经论述了前两个,接下来我们看一下第三个,即开发工具。

3. 开发工具

与应用软件一样,有些开发过程所使用的工具是Windows系统专有的工具,这些工具可能无法在Linux系统中安装。我们的最终目标是迁移到Linux系统,那么,所有现有的Windows开发工具都应该在Linux系统中找到替代工具才行。否则,如果我们的开发工具还使用Windows系统专用工具的话,一旦Windows系统出问题,那么开发工具同样会受影响。

本文作者认为,开发工具比应用软件情况更复杂,好坏参半:

第一,开源可商用的开发工具相对成本更低,企业会主动考虑使用,尤其是那些专门从事软件开发的企业。

第二,开发相关从业人员学习开源软件更有动力和愿意,学习能力也更强。

第三,开发Windows软件,大多数使用的是Windows系统专用的开发工具;但智能手机APP的开发,则使用Linux、macOS、Windows都有可能,其它领域的开发情况可能更复杂,尤其早期建立和运行的复杂项目,因为有太多专门针对Windows系统的技术,会对开发工具有特别要求。

所以,针对开发工具的迁移,本文的建议是可以延长迁移周期,根据项目的复杂程度,组织各方开发人员一起讨论,共同制定迁移到Linux的具体方案,在没有充分论证前,不做强制要求。

有一点需要说明的是,对于开发工具,那些身处其中的开发人员,应该比局外人更清楚是否能够迁移及迁移需要解决哪些问题。

4. 国产操作系统与Linux应用生态同步发展,节约时间

上面已经分析了应用软件与开发工具的迁移,这里有一个问题我们需要明确,即无论国产操作系统是否成熟,我们都要把应用软件与开发工具向Linux迁移。既然早晚都要面对,那么晚面对不如早面对。早面对的话,我们可以争取更多的迁移时间,可以把迁移方案设计得周期更长一些,也就让整个迁移过程显得更温和一些。

现在就开始促进Linux应用生态,相当于国产操作系统与Linux应用生态同时发展,而不是先等国产操作系统发展成熟后,再发展开源应用生态。而目前我们的现状恰恰是,很多人都在等,等国产Linux操作系统成熟,希望等成熟以后再开始把应用向Linux系统迁移,这样太浪费时间,我们需要打一些时间差,也能够赢得时间,就没必要浪费时间。

等待不仅仅是推迟了“windows换成Linux”一件事这么简单,而是把中国整体的开源前进步伐按了停止键。这即包括了Linux系统的学习,也包括Linux应用的学习,尤其是Linux应用,其耗费的资源可能是Linux系统的几倍几十倍。这样的成本,值得我们深入思考如何权衡和取舍。另外我们要清楚,有些东西不是钱能解决的,更多需要的是时间。

我们之所以会有这样的等待,一个重要原因是应用程序需要安装在Linux系统中,而如果没有Linux系统,就没办法安装应用程序和开发工具。按这个逻辑,确实需要先等Linux系统可用才行。但前面我们已经论证,我们完全可以让普通的办公室工作人员先学习和使用Debian,这样大家就可以开始先接触和熟悉Linux应用软件。同时,国产Linux继续发展,未来国产Linux系统成熟后,把系统从windows迁移到Linux的成本就会非常小,因为Linux应用生态已经基本完善。

目前国产的新系统UOS也是基于Debian的,所以,完全可以使用Debian仓库中的应用软件,Debian与UOS的应用生态基本可以无缝迁移。

迁移到Linux系统是我们的整体目标,时间周期虽然无法控制,但缩短迁移的整体周期的长度却非常重要且有必要,所以,我们不应该等,而是应该实际开始去做。按本文的论证,我们完全可以马上行动起来,为未来赢得时间和更多机会。

与应用软件一样,开发工具的替代或不可替代的确认,还是涉及人的因素。接下来,我们就阐述一下迁移到Linux系统的最后一个要素,人的要素。

当下可执行的方案框架(人的因素)

所谓人的因素,概括来说,就是操作人员会不会操作Linux系统以及Linux系统中的开源软件,能不能用Linux系统及其中的软件来完成原本在Windows系统中完成的工作内容。能就表示可以替代,不能就表示不可以替代。

而无论是企业,还是政府,都是由操作人员来完成电脑操作。所以,下面的讨论,主要考虑人的因素。

  1. 确认典型示范项目,比如上面提到的国家知识产权局商标局中国商标网,以及中国版权保护中心,或者税务开票系统、警备系统等。这些典型项目优先评估并研究迁移方案,必要可以请小米、华为、阿里这类的企业参与,目标是让用户能够使用Linux系统操作,引导社会关注Linux系统迁移。具体选择哪些项目做为第一批示范项目,由相关人员充分研究后决定。(就驿窗所知,国内的大厂,网易是用的Debian做服务器,抖音也是用Debian做服务器,那么在涉及到Debian相关的开发评估和开发实施环节,可以优先请这两家公司提供技术支持,甚至直接参与到具体项目中)

可行的迁移方案出台后,马上开始实施,并根据方案的计划进度,在网站显眼处向社会公示,比如:“本网站从2021年9月1日起,用户登录可以使用Windows系统+IE,也可以使用Linux系统+Firefox;从2023年9月1日开始,用户登录将只能使用Linux系统和Firefox浏览器(是否限制Windows系统+IE可以另外讨论,防止微软公司以中国政府不公正对待为由提出异议;即使不限制,两种用户都可以登录,其示范效果也已经达到)。政府项目向linux迁移且向社会公示,一定会引起整个社会的联动。如果不强制社会和企业迁移,那么就一定是温和且无害的平稳迁移。

  1. 其它网站/项目,比如大学网站及内部网络服务系统、公共图书馆网站及服务系统等,研究开发工具/实现工具的迁移方案。尤其是大学生,对于开发工具及开源应用软件的学习能力非常强。这类的项目,讨论迁移方案不追求一次性就拿出方案,而是对迁移方案进行细致讨论。比如大学的网站及内部服务系统,完全可以由大学生来进行研究迁移方案。对于无法迁移的应用软件或开发工具,让多所大学再横向一起讨论,或者把这些无法迁移的具体原因公示给所有大学,如果有的大学能够实现迁移,那么方案就可以前进一步,可以继续讨论。当在学生范围内出现一致的无法迁移软件/工具时,再使用外部资源,比如去各Linux论坛发帖,或请国内大厂介入,研究更进一步的迁移方案。

需要说明的是,这一步骤中,迁移成功不是最重要的,讨论迁移可能性的过程反而更重要一些。在这个讨论过程中,大家会一点一点验证替代的级别,并且在这个过程中去熟悉和学习Linux应用和工具,达到学习和磨合的效果。在经历了讨论过程后成功的迁移,其稳健性值得期待。

  1. 以此类推,在各行各业进行迁移研究,不断验证替代级别。所有研究都应该有结论或报告,说明无法迁移或无法替代的理由。当我们运行一段时间后对报告进行统计,看是因为大家不会开源软件导致无法迁移/替代占比多少,以及软件功能不足/无法完成现有任务占比多少。在学习和验证的过程中,同时找到影响迁移的主要矛盾,为后续制定方案提供依据。具体涉及的项目,应该按规定周期更新统计报告,今年无法替代,明年有可能变成可替代。定期统计定期分析并更新结果,表明我们做好了长期奋战的心理准备。

  2. 鼓励社会和个人参与,包括验证迁移/替代的可能性、提供开源软件/工具的教程,以及对已经出现的无法替代的软件进行进一步的深入研究,防止人为原因导致的不可替代结论。渠道包括企业及各种Linux论坛。其中,前期对于开源应用软件/工具的教程的支持力度应该大一些,毕竟,先要学会,然后才有可能在工作中使用,进而验证替代级别。

  3. 政府采购,包括大学、机关等,尤其是台式电脑采购,其硬件必须与Debian Stable兼容。此兼容是指从Debian官方仓库即可安装硬件驱动,官方仓库无法硬件驱动,或者需要硬件厂家单独提供驱动的,考虑排除在采购范围之外。此办法会引导硬件厂商主动考虑与Linux兼容。

  4. 硬件认证应该提上日程:即企业生产的电脑,应该标明是否适用于Debian Stable,或者Debian的哪个版本。如果不适用,必须标注不适用Debian。打印机等外设类推。(成立硬件认证实验室,专门对企业硬件进行第三方检测)

最后,方案框架主要是一些推论结果,并没有验证,预期无法在五年甚至十年内可以完成迁移。但Linux生态的发展和成熟,必然要经历这个过程,所以,本文希望能够把这个过程提前,而不是如现在一样大家都在等待和观望。

系统和应用可以分开,无论将来使用什么应用,都需要使用系统,所以系统是一定的。各种应用不同,现用现学。与系统无关。那些专门为windows开发的应用,可以要求开发linux版本。或者把清单列出来,统一考虑解决方案,比如替换。

换成linux以后,我们不会再用ms office。如果还用,那换linux就没任何意义了。当然,局部特殊需求/临时需求是另外的事,我们讨论的是整体。

公立学校,尤其是小学和中学,把系统全部换成Linux

建议优先和评估考虑这一建议,其意义重大。

不过,由于中学学生自学的能力和时间资源问题,设想以下方案来适应linux操作系统在学校中的应用:

  1. 每所学校都配备专门的有linux能力的老师,负责解答学生相关问题(这一点目前好像是空白);

  2. 为在校的linux老师配备二级技术支持,专门负责解决老师无法回答/解决的学生问题(二级技术支持人员的linux水平应该很高,但不仅是linux水平要求,还需要适应教学要求,因为有些内容不应该在教学范围内;另外,二级技术支持人员不需要每所学校都配备,可以按20:1的比例(或其它比例)由地区教委统一安排,即20名在校老师由一名二级支持人员负责)(这一点目前是空白);

  3. 提前统一制定教学大纲和教学方案,选择操作系统,制作教材等等(这一点目前是空白);

  4. 以上三条有一个前提,就是相关岗位必须是linux技术的专业人员,不能是windows转linux,级别越高要求越严格,否则必然出现西医领导中医/西医为中医制定规则的情况出现,从而导致linux教学变成“如何让linux变成windows”的结果,那是灾难~

  5. 对于学校配备的linux老师,不仅要指导学生,同时要指导同事,即在校的所有老师都要改用linux,这一点涉及的问题比较多,需要深入调研。

前三项是主要/基础问题,其它细节可以围绕这三个问题展开,比如课件制作,设备选择,考试标准等等。但这三个问题应该首先解决,否则大概率会变成一个形式/过场,不如不做。

在我国,国家/政府推广开源应用的可操作方案部分讨论分析

第一个需要明确的,就是无法一步到位,需要循序渐进;
第二个需要明确的,就是早引导早受益,晚引导晚受益;

第一步,公共资源的实现工具开源化

最容易接受,且可以马上接受开源或者新软件的群体,其实是在校大学生(有些东西完全可以让大学生来寻找解决方案,比如远程视频会议(带PPT屏幕共享),找开源软件替代,让学生来找,他们肯定可以找到,并可以找到多个方案,并提供不同方案的优缺点对比)。他们有自主的可以支配的时间,有资源,有精力和能力,并且,很多大学生也有这个意愿,去在实际项目中应用开源软件。新基建,我们不妨考虑一下,网站及相关构建是否可以使用开源工具(基于Linux操作系统实现)?这个可以由学生会自行审议评价,然后在各高校间交流,最后得到初步“开源可用或不可用”的结论,并由学生进一步探讨,如果想达到100%开源,还存在哪些需要改进的工作。此交流最好能够同时向社会开放,比如征集社会人士的稿件,毕竟社会人士很多是专门从事开源软件相关的工作,在某些领域内有更深刻的理解。

比如,大学自己的网站、论坛、数据库等等,在建设实现过程中,使用了哪些工具?这些工具有哪些是开源自由的,哪些不是;对于不是开源自由的工具,是否可以用开源的来替换;替换的话,需要哪些成本,以及会带来哪些好处/坏处,等等。

大学自己对于这样的问题列出清单,并列出无法使用开源工具替代的闭源工具。然后,各个大学可以定期交流,看是不是大家一样。比如甲大学有一个工具无法用工具替代,但乙大学就可以做到替代,那么两所大学就可以交流一下,不能替代的原因是什么,安全或其它因素;可以替代的原因是什么,可以解决安全或其它问题。

以此类推,各所大学都做这样的内部审计,然后定期全国交流,甚至可以公开替代/不可替代清单,让懂编程的社会人员参与讨论,很快就会找到问题的焦点,并方便集中资源攻关,解决绝大部分无法替代的问题。

再比如,国内的大图书馆、各级政府/机构的网站,网页是否符合w3c标准;网页的实现过程中使用了哪些开源工具和闭源工具;如果实现过程中用到非开源工具,那么这些工具是否可以用开源工具替换;如果不能替换,那么原因是什么?需要什么条件才可以替换?还有,网页实现过程中使用的开源工具,都是什么开源协议?对于协议授权相对狭窄的工具,是否可以更换为开源协议相对更宽泛的工具?(gpl换为bsd就更好)

把这样的模式一步一步推广,学生们会利用开源工具,公共网络资源应用了开源工具,继而产生连锁效应,学生毕业以后进行社会,在公司中如果处于相关岗位,也会审视公司为什么不使用开源工具,最终引导整个社会向开源工具过渡。

这个过程中,不可避免的会出现一个问题,就是一定会出现完全无法用开源工具替代的闭源工具,而当这样的问题重复出现在人们的视野中时,就会催生一个新的开源开发团队出现,来开发开源的替代工具。

政府不需要强制大学或公共资源网站更换开源工具,只需要引导他们审计工具清单并在主要网站上公开开源清单就可以;这样的情况下,一定会有人对那些暂时没有被替代的闭源工具提出解决方案的。

驿窗有一个推测,对于中国从windows向Linux迁移,我们最需要做的,或者只需要做的,也许只是让它开始而已;之后,它自己就会滚滚向前~


最近一次更新: 2022-07-21 18:44