【转】“分享Windows源代码”四问
作者:蒋明全 | 出处:天极-新闻频道 | 2006-2-24 16:51:55 )【导读】即使我们看到了Windows的源代码,也难以分享微软积累的软件开发和信息系统安全建设的经验。如果我们侥幸读懂了Windows源代码,除了能够确认Windows是否可靠外,并没有特别重要的意义,至少我们无法编制出一套类似于Windows的操作系统出来。但我们不应该忘记微软开放源代码的真正用意,就像麦克尼利所说:“如果你不买他的奶酪,那就不能吃。”
“分享Windows源代码”四问
【导读】即使我们看到了Windows的源代码,也难以分享微软积累的软件开发和信息系统安全建设的经验。
9月25日,中国信息安全产品测评认证中心源代码查看实验室正式成立。也就是说,从这一天开始,国人终于可以有机会一睹微软巨额财富的来源──Windows源代码。尽管只是查看,既不让复制也不准编译,而且必须在特别设置的源代码实验室,并要签订相关协议,包括公安部第三研究所、国家信息安全基础设施研究中心在内的首批获准查看Windows源代码的七家国内单位负责人,还是纷纷表示满意,对微软更是不吝褒扬之词。
显然,对于微软这样一家靠Windows发家、视开放源代码为洪水猛兽的软件巨头而言,能够做出开放Windows源代码的决定已殊为不易,简直算得上是一个巨大的进步;然而,倘若仔细分析,深究其开放源代码用意,以及具体的操作过程,再结合国内软件业的实际水平,我们不难发现,即使我们看到了Windows的源代码,也难以确保微软操作系统的安全性,更不用说能够“分享微软长期以来积累的软件开发和信息系统安全建设的经验”(陈永正语)。笔者认为,关于微软开放Windows源代码一事,有四个问题值得我们认真思考。
在2月28日的记者招待会上,比尔·盖茨在谈到与中国政府签订源代码开放协议时表示,此次公开的会是100%的源代码。不过中国工程院院士倪光南指出,“尽管微软许诺向中国政府100%地公开其全部源代码,但根据微软在世界其他国家实施GSP计划的情况来看,都没有做到100%。可以断定,中国不可能得到比他们更优惠的待遇。如果不是100%的开放,源代码是不完整的,根本就不能就信息安全性做出任何结论。因为只需区区的几行源代码,就足以在一个软件中引入‘后门评测认证中心也表示,有极少数的Windows源代码,由于涉及到第三方的知识产权,微软无权与签约方分享。如果实情真是如此,倒也无可厚非,但假若微软借此隐藏部分许诺应当开放的关键代码,相信对它而言会是一件轻而易举的事情。至于微软是真开放还是借开放之名行博取政府采购青睐之实,恐怕只有它自己心里清楚。但有一点能够肯定的是,就是迄今为止,尚未有哪一家到国内投资的跨国公司,曾经友善到将核心技术拱手相送国人的地步,哪怕仅仅是“看看而已”也不行。更何况,即便微软愿意,惯于限制对华技术出口的美国政府应该也不会答应。所以说,对于微软Windows源代码的开放程度,我们无法确认。
假设微软的确如我们所希望那样,毫无隐瞒地开放了所有Windows源代码,那么我们又有足够的能力完全看懂这些代码吗?搞过程序设计的人都知道,很多时候,读懂他人写出的程序,往往比自己编写类似的程序还要费劲,特别是一些大型软件的复杂代码更是如此。操作系统这种大型软件的内在逻辑关系异常复杂,如果没有开发人员协助,纯粹从源代码反推设计的逻辑原理,恐怕很难有单位或者个人能够做到。姑且不说要想查看Windows的源代码的公司,必须经过微软的许可,也即是说它可以把软件手技术水平较高的国内企业拒之门外,单单是多达数千万行的源代码,要想读懂肯定不是一件容易的事情。微软大中华区的总裁黄存义就曾经说过,“Windows 2000的源代码有两千万行,比尔盖茨也看不懂。”而真正读懂他人的复杂程序,往往少不了编译调试,但微软同样没有给予我们这样的机会。当然,也许我们完全没有必要去弄懂Windows代码,甚至根本不用考虑这个问题,只需在微软的帮助下,开发出几款像模像样的安全软件产品,就已经是一件很了不起的大事。
如果我们侥幸读懂了Windows源代码,除了能够确认Windows是否可靠外,并没有特别重要的意义,至少我们无法编制出一套类似于Windows的操作系统出来。软件开发,尤其是操作系统的开发,既需要耗费大量的人力资源,又需要长期的经验积累。微软最新发布的Windows Server 2003操作系统,整个软件包含了五千万行代码,花费了5000多名开发人员和2500名测试者三年时间,而且这还是建立在微软多年来积累的Windows开发经验之上。以我国目前的软件技术水平,完全凭自己的实力开发操作系统还很不现实,即便是中日韩合作开发操作系统,也不外乎是把Linux改头换面。最为现实的一点,还是像中电科技集团15所副所长马泉林所说的那样,“对微软公司源代码的研究,将有助于深入了解Windows操作系统,并在此平台上开发出更加安全可靠的产品,从而促进国家信息安全技术的发展。”中国信息安全产品测评认证中心主任吴世忠博士也表示,“信息技术安全性是我国政府信息化进程中关注的重要问题。对操作系统源代码的研究对加强信息技术安全性起着至关重要的作用。源代码查看实验室的落成将进一步推动我国信息安全技术的开发研究。”但想到如果整个国家的信息安全都彻头彻尾地建立在人家的平台之上,总让我有些战战兢兢如履薄冰的感觉。
尽管吴世忠说过,源代码查看实验室的成立,“并不代表我们认可微软的软件是安全的”,但多多少少给人一种错觉,就是再也没有必要指责采用Windows操作系统无法保障国家信息安全。今年全球范围内Linux的回春,与各国政府对Linux的支持态度有关,而政府之所以青睐至少在现在尚远不及Windows的Linux,主要原因之一就包括对长期封闭代码的Windows的不信任。现在,微软完全能够理直气壮地说,你们都看到Windows的源代码了,还有什么值得怀疑的呢?在源代码查看实验室的成立的第二天,信息产业部电子信息产品管理司司长张琪就迫不及待地表示,此前外界所传的政府主管部门不支持微软产品一说,根本属于误解和多虑,信产部在今后会继续支持微软在中国的发展。当然微软也不要指望耍了个噱头就能立马在政府采购中翻身,毕竟现在的政府已经知道如何合理运用WTO规则,以保护国内尚有幼稚的软件企业。政府部门有关人士也指出,如果微软希望以合作的新闻效应来达到狙击政府部门采购Linux,误导舆论以为微软已经在安全性方面得到中国政府正式认可,是不恰当的,也是不现实的。但不管怎么说,在政府采购的大餐面前,微软已经走出了很重要的一步。但我们不应该忘记微软开放源代码的真正用意,就像麦克尼利所说:“如果你不买他的奶酪,那就不能吃。”