中国开源还缺什么:一个被忽视的重要问题

一些小的因素需要重视:开源社区、开源政策、开源采购、开源指导、开源促进、开源协议 开源社区是促进开源发展的重要组成,不可忽视,甚至有必要制定专门的开源社区促进规则。

开源的发展需要一个因素来支撑,这个因素极其重要,而且一直被我们忽略,就是知识产权。

中国的开源应用还缺什么?

第一,缺创新,看看现在流行的开源应用项目,全部都不是在中国诞生的,比如LibreOffice/Scribus/gimp/inkscape/shotcut/ffmpeg等等,原因我们前面已经阐述。

如何推广创新和鼓励创新?这是一个大论题。推广创新,主要是要提供更宽松和安全的环境,有了保障,就能让个人/企业更放心投入到创新中去。比如大的游戏平台对小型创新游戏的各种打压,应该是最有效的摧毁方式。这个时候,民不举官不究是否要改一改,应该讨论一下:我们应该有一个法律框架,不是惩罚那些大企业对小企业创新的违法压榨,而是要让任何企业在主观上都不想去做那些违法压榨的事,想都不愿意想。所以,主动帮助小型创新型技术/企业,且力度高,极高,高到没有企业有主观违法压榨意愿,那么创新就成为一个最有利可图的事。一条通路是,大企业不能违法压榨,可以考虑收购,这是双赢;当然,违法行为一旦已经发生,那么就应该主动规避收购,因为这种情况下的收购,已经不正常。

推广创新,这应该从计算机入门开始规划,比如一接触计算机就接触linux系统,最有效的,就是公办小学中学大学职高技校等等,老师和学生全部改用Linux系统。

第二,缺应用,我们有多少使用开源应用的组织/机构/个人,比如谁在用gimp,谁在用Scribus等等,基本没人用,原因后面阐述。 基本上,没人用就没人了解,没人了解就没人去创新。没人知道这些软件能干成什么(注意不是能干什么),大家都认为开源不如闭源,开源无法替代闭源,但实际情况如何,没有人进行深入地调查和研究。而事实情况却是,开源软件远比我们想象的要好,很多方面甚至超过商业软件。

开源软件功能不全,不好用等等观点,其实是不了解,所以有这种观点,或者,停留在十几年甚至几十年前的观点;现在的开源软件真的很生产力,比如OmegaT(与SDL Trados比),再比如LibreOffice(与ms office比),再比如Blender等。

企业/组织/个人无法应用开源软件的主要原因:

最主要的,就是商业闭源软件的某个功能在开源软件上无法实现,从而无法切换到开源软件;导致这个问题的原因有两种情况 ,一种是此功能在开源软件上无法实现,但可以使用其它方法绕行;二是开源软件根本就实现不了此功能,绕行也不行。

另一个流行的原因是,不懂开源软件能干什么 ;

还有一个原因是,没有会开源软件的员工;

中国多数人对于开源应用/开源生产力的认识,仍然停留在开发的层面,即开源这个词,是开发人员/程序员们才需要关注的东西,普通人根本用不到,或者根本没法用;但实际上,这一错误认识已经导致中国开源产业发展的严重滞后;或者,相对于开源理念先进的国家(比如美国),我们正在被越来越拉开距离。这样的结果就是,他们拥有更多的开源软件人才,有更广泛的开源投入,更先进的开源理论和理念,以及更前沿的开源探索,然后,抢占更多的开源阵地。

中国在某些行业,比如网购和物流,现在有机会在开源应用上超过其它国家,这一方面,具体如何推广和发展,还在研究中。

开源的典型案例: redhat/firefox/github被微软收购/linux成为第一位的服务器系统/中国现在的大企业,尤其几个与网络相关的巨头,BAT,抖音,华为,小米,如果没有开源,他们是否会有今天的成就。

很少有人关心的一个被大家忽视的问题,是中国目前基础开源创新处于什么水平/状态。

中国软件开发行业发展很快,尤其是软件开发,这有几个因素:

  1. 与人口总量相关的智能手机消费带动的手机app开发

  2. 从业人员增加

  3. 大量基础开源软件资源共享

  4. 开源版权保护的不规范

  5. 国内英文的普及教育与国外中文的未普及教育

上面的内容未必完整,但一定缺少的一项是基础开源软件的创新,这是被我们忽视的问题。

与硬件类似,当前软件也是由多个不同的基础模块组成的。

电脑硬件包括cpu、内存、硬盘等,其中cpu是芯片,国内目前大力发展芯片。同样,软件开发过程中会使用大量基础软件包/功能包,这些基础包大概率是开源软件。而开源软件因为免费,或者可以无成本得到,所以,我们在统计软件的成本的时候,基础包被计为零成本。

但事实是,就像我们不掌握芯片技术一样,我们同样没有掌握基础包创新技术,或者说,我们在基础包开发上与国外相比,是没有创新的,极为劣势。之所以这一点被忽略,是因为企业在开发软件时,免费取得了这些基础包,没花钱。

而因为在基础包的创新开发上没有投入,所以,我们的软件开发对于开源软件包的依赖很严重。换个角度说,国外某个企业如果闭源开发某些基础软件/工具,那么,相关领域我们就一定是落后的,最典型的就是matlab。

基础开源软件包,与芯片相同,需要重视。

解决方案构思: 一个方法是,创建混合型的开源社区,由政府或企业对核心技术解决人员进行单次雇佣,帮助社区解决关键技术问题,其它边边角角的问题由社区自行解决。目前所有社区基本都是全免费贡献或企业资助这两种类型,由政府介入甚至是政府出资进行单次雇佣的情况极为罕见,对于开源发展的推动作用仍然需要评估。

举个例子,脸部识别:

国内做脸部识别软件的公司不知道有多少家,上百家应该是有的。脸部识别软件会涉及到一些基础软件包,比如颜色过滤、图像边界识别、相似图像筛选等,这些基础功能的实现,通常不是企业自己开发的,而是使用了国外已经开发且开源的基础软件包,这些基础软件包最初可能没有应用在脸部识别领域,只不过中国脸部识别软件应用比较多,且法律限制滞后,所以应用广泛。

再举一个极端点的例子:编程语言

为什么主流编程语言都不是中国做出来的?而编程语言恰恰是基础软件。这绝对不是智商问题,具体原因值得从宏观上思考和投入。

驿窗的建议是,让公立教育全部采用linux系统:小学、初中、高中、大学、职高、技校,目的是为了激发和释放孩子的想象力和创造力(就好像第一次接触的计算机孩子,总是想看看里面都有什么功能,想换一个不同的桌面背景等等,随着不停地发现新功能,甚至自己可以通过某些操作来修改一些功能的时候,会得到极大的满足。这是一个很严肃的心理学内容,要引起重视)。与采用windows相比的优势是,linux可以随意修改,从第一次开始接触计算机,孩子就知道可以自己修改代码,修改任何代码。而孩子在这方面最有兴趣,有兴趣加上有渠道,那么就有未来的可能。但如果使用windows系统,那么这个兴趣就被掉了,导致孩子不得不寻找其它可以满足兴趣的事情去消耗精力。

中国目前有一个趋势,就是抵制firefox,拥抱chromium/chrome,这是一个非常危险的选择。

firefo所有浏览器功能都有openAPI,但chromium不是,chromium对一些google业务敏感的地方进行了限制,比如地址栏。chromium把地址栏的控制权进行了更深层次的把控,且默认搜索引擎的流向也被限制,这使得只有google公司可以比较容易地进行利用,其它组织则非常麻烦。另外,google对旧的API支持不连贯也不一致。还有,chromium中捆绑的google服务移除非常麻烦,为了剥离这些服务,微软和Brave都投入了大量资源。

开源软硬相结合才是硬道理

最便宜的电脑多少钱?零售价不到2000元!

2020年6月,树莓派4B已经正式上市,它是开源开发的核心,但用它来当做一台电脑主机,办公应用类的使用已经基本可行。下面我们看一下运行条件:

  1. 树莓派官方系统基于debian10。windows就不容易,因为windows对硬件要求太高了。

  2. 显示器、键盘、鼠标、存储卡、电源都需要单独配置,但办公使用的话,配置起来大概1300左右,加上树莓派4B主机,一台完整的电脑一共不到2000元。

  3. 把树莓派4B应用于办公,并没有形成规模,所以成本虚高;如果形成规模,那么成本会降一大截。

  4. 如果有厂商专门集成,成本还有进一步下降空间。比如联想来做树莓派电脑。

  5. 需要会Linux系统及应用。

  6. 未来树莓派5再发布,应该会采用更新一代的CPU,速度更快,那么应对办公应该就不是基本可行,很可能是完全可行。

  7. 树莓派是一个参考,因为其并非是完全开源的硬件。那么,我们是否可以考虑模仿树莓派,自己开发出类似的开发板?如果能够成功,那么个人办公电脑,应该就能够完全自主了。剩下的,在开发板基础上一点一点完善就可以了。

愿景如此美好,那么,限制我们的到底是什么?是windows,是闭源:
  1. 使用windows,无法自己修改系统;(这是一种训练,改系统不重要,重要是学会开发)

  2. 使用windows,无法开发开源硬件,比如机器车、机器人;

  3. 使用windows,无法使低能力硬件充分发挥作用,比如不能在树莓派4B上运行windows;

  4. 使用windows贵;

等等。

上面提到公办小学中学大学使用Linux系统,并没有指出硬件。从树莓派4B来看,开源软件及开源硬件的环境,可以充分激发孩子们的想象力和创造力,尤其中小学生。对于我国的教育体制一直有一种声音,就是学生创造性不强,而Linux加上树莓派,则是完全打开了这个大门,这从另一个角度加强了公办教育的一个主要功能,让孩子们那充满想象力的荷尔蒙充分释放!

重点是,如果使用windows,则全是泡影 。所以,公办小学中学大学把系统换成Linux,意义重大!