DanceFire谈国产操作系统:要融入全球社区开发的大环境中
DanceFire,为了建立国人自己的操作系统远赋海外求学。有多年Linux使用经验,因为研究麒麟操作系统而开始接触FreeBSD。近日,因一篇《麒麟操作系统内核同其他操作系统内核的相似性分析》在CSDN网站引起轰动。近日,CSDN与其就国产操作系统的发展等问题进行了探讨,下面是采访记录。
CSDN:
你的文章在CSDN引起了不小的轰动。
DanceFire:
嗯,我预料到会有一定的震动,但是我没预料到这么大。
CSDN:
长期以来,国产的提法是开源软件为国内软件产业提供了一个机会。但是,基于开放源代码的创新要成为国产软件的过程中确实存在一个度的问题。您怎么看待这个度的问题?还是说Linux既然是全世界社区创造出来的,就不存在国产软件的概念?
DanceFire :
我认为不应该过分的强调国产,相反,为了促进中国软件人才力量的积蓄,更应该强调在开源社区中,中国程序员所占的比重。其实很多核心软件,我们国家还没有那么多技术力量,过分的强调国产,反而是一种闭门造车的行为。浪费了时间和人力去重复别人几十年前的工作。
应该想办法让自己尽可能的融入到国际的开发中去,通过逐步的融入,来学习和掌握国外最先进的核心技术。我认为中国核心软件的发展之路应该是,学习、借鉴、继承、发展、创新,然后在足够的创新基础上,再考虑自主。
CSDN:
是的,确实有相当一部分人持您这种观点。
CSDN:
我想可能有一路情况,就象高安全级别的操作系统或者是高安全级别的数据库,发达国家不允许相关公司把类拟输入我们国内,但国家又非常需要类似的技术。显然,完全用别人的产品,在安全问题上也确实存在稳患。所以可能从电子政务的角度考虑,国产软件还是必要的。
DanceFire:
嗯,你说的是一个问题。但是这个问题不能够绝对化考虑。我们确实有自己的国情,不可以用完全的别人的核心产品来制成我们军事国防、政府机要等部门的运转。但是,我们也没有必要在现在还不具备充足能力的情况下,完全自主。
在国防和政府这样的环境中,可能我们应该走一条折衷的路线。在开源技术的基础上,发展我们自己的安全防护技术。这点,有一个现成的例子。美国国家安全局NSA就是在Linux基础上加上了自己的强制性安全策略的技术,最后生成了SELinux。
CSDN:
实际上是不是可以这样说,在不具备相应实力的情况下,搞出来的国产化不过是套上了一个国产化的牌子,但实质技术还是人家的。
DanceFire:
对。你说的没错。是披着国产羊皮的外国狼崽,在真正碰到风雨的时候,毕竟是人家的狼崽,人家比我们更了解,我们的所谓的安全会不堪一击。
CSDN:
可能话题又落到社区这个话题上来了,国内的社区确实非常薄弱,而且据我所知,红帽的外围社区参与人数达到了100万人,用户社区据说也有20万人。但银河麒麟的社区参与人数我们虽然没有统计过,但也是非常少的。您觉得下一步银河麒麟如果要发展,是不是国家应该下大力气支持它建设自己的社区呢?
DanceFire :
至于社区建设的问题,我没有特别多的想法,社区是一种环境,可能不是政府行为所能够完成的。如果政府下大力气建设良好的软件分为,那么应该做两件事情。一,打击盗版,加强版权意识的宣传。我相信所有的国内软件开发者都有这个呼声。二、加强开源社区的投入和支持,至少让知识在国内不要互相之间形成壁垒,互相闭门造车。那实际上是一种小农意识。
我现在的感觉,是中国和国际的接轨还太远了。很多东西,其实国外应发展好久了,国内大部分人,连听说都没有听说过。而且那些知识大部分都是开放的。总觉得国内的研究很多的时候都是封闭的,不够开放,没有让眼睛看到外面去。
就像操作系统,因为我最关心这个领域。国内大部分人就知道Windows和Linux,能知道还有FreeBSD的已经不多了。一提起微内核,就还是80年代的Mach,直到L4几乎凤毛麟角。其实眼界放开,能看到很多东西。我们暂且不说麒麟到底是否用了别人的代码,单说设计。它用了Mach+FreeBSD的混合内核设计思路,这个多年前已经被Mac OS X实现过了,我们再重复一遍,有什么额外的意义么?毕竟Darwin操作系统也是开源的,我们可以看到其实现细节。
而且,因为Mach内层的性能问题,Darwin内核也不是没有被质疑过,而且最近也有声音传出来,在移植到x86后,Mac OS X有可能会考虑除Darwin的xnu以外的内核,就是因为一些弊病。真没必要在别人已经意识到错误的时候,我们再去重复这个错误,再去吸取一遍教训。
CSDN:
无芯无魂是前几年多次被提到的一个问题。有些网友把您提的问题和前不久发生的汉芯造假事件联系起来。
DanceFire:
哦,我看到了,呵呵。想象力挺丰富的。汉芯其实只是DSP芯片,算不上是通用CPU。所以,就算二者都没有问题,麒麟也无法在DSP上跑起来的。
可能是名字的原因。不过,我们还有龙芯嘛。我倒是希望龙芯的开发者能够购买mips剩下的几条指令的版权,让龙芯做到100%与mips指令集兼容,不然将来应用会有问题。
CSDN:
这样一来,麒麟存在的价值在哪里呢?
DanceFire:
这个问题,其实国家的本意是好的,当初863项目要求是这么说的:达到GB17859-1999的结构化保护级;支持国际主流CPU芯片及国产CPU芯片;支持单处理机系统、共享主存和分布主存并行计算机等多种体系结构,可应用于各种通用服务器、集群服务器和国产的高性能服务器,支持各种功能服务器的构造;完善的中文处理能力,支持GB18030-2000等中文国家标准;与Linux内核二进制兼容;整体技术水平与主流UNIX类服务器操作系统相当。还有最重要的第一条:内核具有自主版权;
国家本来的初衷,是想促进核心软件的国产化,来增强我们国家在信息产业的竞争力和自主权。但是,我觉得通过这一个项目来达到这一个目的,不管是投入10万也好,还是投入1个亿也好,要求2年内完成。这于中国的现状不符,有点追求政绩而偏离了实际情况的感觉。
CSDN:
去年国内曾有这样一种声音,就是全盘从头再来不行,就把底层技术搞一个黑盒子,再在这个黑盒子之上开发。
DanceFire 说:
你说的这种做法是相当于GNU的做法么?在没有内核的时候,创造内核以外的东西?以后再补充内核?
CSDN:
实际上,去年国内确实出了一个类似的平台。从国家的角度来看,他们觉得单有一个Linux是不够的,需要一个产业链来配合它。需要在它上边开发中间件,数据库和应用程序。
DanceFire 说:
这种感觉怎么像是在做软件工厂的事情?这么时间长了似乎只会积累财富,而于中国核心软件人才的发展并不是那么的有利。
国家应该营造的是一个环境,而不是去通过政令来推动产业链。现在我们的开发人员不少都是浮躁的,并不原始踏踏实实的掌握基础技术,在这种情况下,程序员都浮于表面,没有人愿意踏踏实实的一行行的创造代码,更多的是依据项目要求拿来开源社区相似的东西,经过组合删改后,完成了项目了事。
我们需要开放。不是单单的开放了实验室,而是我们的思想要开放,走到国际环境中,走到国际开源社区中。在那里面,永远不会有腐败的食物,思想和技术都是最新鲜的。开源社区的开发都是围绕着需求而来,也不存在远离需求的问题。
正如同我之前所说的,我们要先融入,因为我们现在脱轨已经太远了,有太多的东西我们都不知道,自己关着门想,不如走出去学。
麒麟因为国防的问题,有一些思路上的障碍,我也没有办法。但是如果要发展国产操作系统的话,(毕竟不能因为麒麟是国产操作系统,就说国产操作系统就是麒麟)我们应该走开放的路,先融入到Linux, FreeBSD, NetBSD, OpenBSD, L4等等操作系统的开发中去。
我们毕竟没有完全重新创造一个完善的系统的能力,但是最初,我们有学习和帮助完善其他已存在系统的能力,这个技术门槛并不那么高。所以,我们需要先融入,只有融入了,我们再能够继承和发展
我们国家对于自主操作系统的提法,也说明了我们一个传统的想法,就是凡是要全靠自己。也可能是毛主席的“自己动手,丰衣足食”的思想,也可能是,古代文学避讳抄袭借鉴的风气。
CSDN:
看来国内对于开源的理解方面还存在着很大的偏差。
DanceFire:
我不管“避免借鉴”是否在文学上是正确的。至少,在现代科学研究中,这是大大的错误的。
现代科学已经不能够一个人完成所有的事情了,一般来说都是需要一群人,一代人,甚至几代人的努力,才能够讲科学的车轮推进一步。
在这种情况下,最重要的,是知识体系的传承。也就是说,我们此时不应该抛弃“不破不立”的思想,而应该建立和发扬“传承与发展”的思想。
CSDN:
你的文章在CSDN引起了不小的轰动。
DanceFire:
嗯,我预料到会有一定的震动,但是我没预料到这么大。
CSDN:
长期以来,国产的提法是开源软件为国内软件产业提供了一个机会。但是,基于开放源代码的创新要成为国产软件的过程中确实存在一个度的问题。您怎么看待这个度的问题?还是说Linux既然是全世界社区创造出来的,就不存在国产软件的概念?
DanceFire :
我认为不应该过分的强调国产,相反,为了促进中国软件人才力量的积蓄,更应该强调在开源社区中,中国程序员所占的比重。其实很多核心软件,我们国家还没有那么多技术力量,过分的强调国产,反而是一种闭门造车的行为。浪费了时间和人力去重复别人几十年前的工作。
应该想办法让自己尽可能的融入到国际的开发中去,通过逐步的融入,来学习和掌握国外最先进的核心技术。我认为中国核心软件的发展之路应该是,学习、借鉴、继承、发展、创新,然后在足够的创新基础上,再考虑自主。
CSDN:
是的,确实有相当一部分人持您这种观点。
CSDN:
我想可能有一路情况,就象高安全级别的操作系统或者是高安全级别的数据库,发达国家不允许相关公司把类拟输入我们国内,但国家又非常需要类似的技术。显然,完全用别人的产品,在安全问题上也确实存在稳患。所以可能从电子政务的角度考虑,国产软件还是必要的。
DanceFire:
嗯,你说的是一个问题。但是这个问题不能够绝对化考虑。我们确实有自己的国情,不可以用完全的别人的核心产品来制成我们军事国防、政府机要等部门的运转。但是,我们也没有必要在现在还不具备充足能力的情况下,完全自主。
在国防和政府这样的环境中,可能我们应该走一条折衷的路线。在开源技术的基础上,发展我们自己的安全防护技术。这点,有一个现成的例子。美国国家安全局NSA就是在Linux基础上加上了自己的强制性安全策略的技术,最后生成了SELinux。
CSDN:
实际上是不是可以这样说,在不具备相应实力的情况下,搞出来的国产化不过是套上了一个国产化的牌子,但实质技术还是人家的。
DanceFire:
对。你说的没错。是披着国产羊皮的外国狼崽,在真正碰到风雨的时候,毕竟是人家的狼崽,人家比我们更了解,我们的所谓的安全会不堪一击。
CSDN:
可能话题又落到社区这个话题上来了,国内的社区确实非常薄弱,而且据我所知,红帽的外围社区参与人数达到了100万人,用户社区据说也有20万人。但银河麒麟的社区参与人数我们虽然没有统计过,但也是非常少的。您觉得下一步银河麒麟如果要发展,是不是国家应该下大力气支持它建设自己的社区呢?
DanceFire :
至于社区建设的问题,我没有特别多的想法,社区是一种环境,可能不是政府行为所能够完成的。如果政府下大力气建设良好的软件分为,那么应该做两件事情。一,打击盗版,加强版权意识的宣传。我相信所有的国内软件开发者都有这个呼声。二、加强开源社区的投入和支持,至少让知识在国内不要互相之间形成壁垒,互相闭门造车。那实际上是一种小农意识。
我现在的感觉,是中国和国际的接轨还太远了。很多东西,其实国外应发展好久了,国内大部分人,连听说都没有听说过。而且那些知识大部分都是开放的。总觉得国内的研究很多的时候都是封闭的,不够开放,没有让眼睛看到外面去。
就像操作系统,因为我最关心这个领域。国内大部分人就知道Windows和Linux,能知道还有FreeBSD的已经不多了。一提起微内核,就还是80年代的Mach,直到L4几乎凤毛麟角。其实眼界放开,能看到很多东西。我们暂且不说麒麟到底是否用了别人的代码,单说设计。它用了Mach+FreeBSD的混合内核设计思路,这个多年前已经被Mac OS X实现过了,我们再重复一遍,有什么额外的意义么?毕竟Darwin操作系统也是开源的,我们可以看到其实现细节。
而且,因为Mach内层的性能问题,Darwin内核也不是没有被质疑过,而且最近也有声音传出来,在移植到x86后,Mac OS X有可能会考虑除Darwin的xnu以外的内核,就是因为一些弊病。真没必要在别人已经意识到错误的时候,我们再去重复这个错误,再去吸取一遍教训。
CSDN:
无芯无魂是前几年多次被提到的一个问题。有些网友把您提的问题和前不久发生的汉芯造假事件联系起来。
DanceFire:
哦,我看到了,呵呵。想象力挺丰富的。汉芯其实只是DSP芯片,算不上是通用CPU。所以,就算二者都没有问题,麒麟也无法在DSP上跑起来的。
可能是名字的原因。不过,我们还有龙芯嘛。我倒是希望龙芯的开发者能够购买mips剩下的几条指令的版权,让龙芯做到100%与mips指令集兼容,不然将来应用会有问题。
CSDN:
这样一来,麒麟存在的价值在哪里呢?
DanceFire:
这个问题,其实国家的本意是好的,当初863项目要求是这么说的:达到GB17859-1999的结构化保护级;支持国际主流CPU芯片及国产CPU芯片;支持单处理机系统、共享主存和分布主存并行计算机等多种体系结构,可应用于各种通用服务器、集群服务器和国产的高性能服务器,支持各种功能服务器的构造;完善的中文处理能力,支持GB18030-2000等中文国家标准;与Linux内核二进制兼容;整体技术水平与主流UNIX类服务器操作系统相当。还有最重要的第一条:内核具有自主版权;
国家本来的初衷,是想促进核心软件的国产化,来增强我们国家在信息产业的竞争力和自主权。但是,我觉得通过这一个项目来达到这一个目的,不管是投入10万也好,还是投入1个亿也好,要求2年内完成。这于中国的现状不符,有点追求政绩而偏离了实际情况的感觉。
CSDN:
去年国内曾有这样一种声音,就是全盘从头再来不行,就把底层技术搞一个黑盒子,再在这个黑盒子之上开发。
DanceFire 说:
你说的这种做法是相当于GNU的做法么?在没有内核的时候,创造内核以外的东西?以后再补充内核?
CSDN:
实际上,去年国内确实出了一个类似的平台。从国家的角度来看,他们觉得单有一个Linux是不够的,需要一个产业链来配合它。需要在它上边开发中间件,数据库和应用程序。
DanceFire 说:
这种感觉怎么像是在做软件工厂的事情?这么时间长了似乎只会积累财富,而于中国核心软件人才的发展并不是那么的有利。
国家应该营造的是一个环境,而不是去通过政令来推动产业链。现在我们的开发人员不少都是浮躁的,并不原始踏踏实实的掌握基础技术,在这种情况下,程序员都浮于表面,没有人愿意踏踏实实的一行行的创造代码,更多的是依据项目要求拿来开源社区相似的东西,经过组合删改后,完成了项目了事。
我们需要开放。不是单单的开放了实验室,而是我们的思想要开放,走到国际环境中,走到国际开源社区中。在那里面,永远不会有腐败的食物,思想和技术都是最新鲜的。开源社区的开发都是围绕着需求而来,也不存在远离需求的问题。
正如同我之前所说的,我们要先融入,因为我们现在脱轨已经太远了,有太多的东西我们都不知道,自己关着门想,不如走出去学。
麒麟因为国防的问题,有一些思路上的障碍,我也没有办法。但是如果要发展国产操作系统的话,(毕竟不能因为麒麟是国产操作系统,就说国产操作系统就是麒麟)我们应该走开放的路,先融入到Linux, FreeBSD, NetBSD, OpenBSD, L4等等操作系统的开发中去。
我们毕竟没有完全重新创造一个完善的系统的能力,但是最初,我们有学习和帮助完善其他已存在系统的能力,这个技术门槛并不那么高。所以,我们需要先融入,只有融入了,我们再能够继承和发展
我们国家对于自主操作系统的提法,也说明了我们一个传统的想法,就是凡是要全靠自己。也可能是毛主席的“自己动手,丰衣足食”的思想,也可能是,古代文学避讳抄袭借鉴的风气。
CSDN:
看来国内对于开源的理解方面还存在着很大的偏差。
DanceFire:
我不管“避免借鉴”是否在文学上是正确的。至少,在现代科学研究中,这是大大的错误的。
现代科学已经不能够一个人完成所有的事情了,一般来说都是需要一群人,一代人,甚至几代人的努力,才能够讲科学的车轮推进一步。
在这种情况下,最重要的,是知识体系的传承。也就是说,我们此时不应该抛弃“不破不立”的思想,而应该建立和发扬“传承与发展”的思想。
郑恩宠案一审刑事裁定书
不要心飞!把每一个事,一件一件的做好!
