浅析政府部门采购开源软件的必要性和问题
祁荷香,  马民虎
(西安交通大学,  陕西西安710049)
摘要:  对开源软件、自由软件、自由软件运动、免费软件这几个重要易混的概念详细进行了区分。从安全、成本等方面分析政府采购开源软件的必要性,  以及政府在采购开源软件的过程中应注意问题。
关键词:  开源软件;  政府采购
中图分类号:  F06215 文献标识码:  A
开源软件经过20 年如火如荼的发展,  已经成为各国政府极其关注的重要问题。对于开源软件的政策主要体现在政府采购的态度上。一方面,  有国家政策反对强制采购开源软件或脱政府中立的立场。例如美国现有的许多政策是反对开放源代码的政府采购的。美国国防部要求软件采购必须具备来自国家安全局(National S ecurity Agency)  的安全确认,  这种要求实质上排斥了开源软件在国防部的使用。另一方面,  却有更多国家对开源软件抱着积极倾斜的态度。在亚洲以中国和韩国为代表,  欧盟的代表国家则是德国。的是它的源代码是开放的,  可修改的。开源软件包括基于G PL 下的自由软件,  同时也包括了基于其他许可证( 例如艺术许可证、BS D 许可证、互惠公共许可证等)  下的其它软件。从范围上而言,  由软件和开源软件范围并不
相同。
开放源代码意味着什么2    政府采购开源软件的必要性分析
开源软件经过短短20 年的发展时间,  已经从地下走到了地上。出现了专门经营开放源码软件的公司,  例如RED2 HAT ,  TURB O L I NUX ;I B M、惠普、戴尔、富士通等大公司也纷纷加入开放源代码的阵营。不仅在高端服务器, L INUX 已经被广泛的使用( 700 万台电脑) 。就是在终端系统上, 开源软件也呈现出巨大的影响力:  根据Netcraft 的对网络浏览器市场的调查,  开源软件Apache 网络浏览器已经占到了60 %的市场份额;  超过600000 电脑使用开源软件S end mail (邮件服务软件) 。面对开源软件的迅猛发展,  政府是否应该采购开源软件已成为重要的问题。以下将从四个角度论述国家信息安全建设中使用开源软件的必要性。
第一,  从安全的角度来讲,  开源软件的安全程度更高。
网络信息技术的迅速发展,  信息系统发展成为国家关键础设施网络, “病毒”成为人类社会的一种新型“公害”, 网络恐怖活动严重威胁着人类社会的安全,  信息安全与国家安全、社会安全的关系变得更加密切。
在代码检查方面:  开放源码软件和非开放源码软件都要进行代码检查这一步骤,  不同之处在于,  非开放源码软件的代码检查是软件工程的一个环节,  而开放源码软件的代码检查不但属于软件工程的必要环节, 
还需要随时经受“同行”的检查。开放源码软件的代码控制和代码检查实现了系统“后门”出现可能性的最小化,  因为代码本身也意味着作者和团队的名誉。相对而言,  非开放源码软件更容易出现“后门”代码。例如w ind ows 系统软件就为NS A  ( 美国安全局)  留有后门,  这就使得美国安全局可以轻而易举的获取用尸的保密信息( 这个最高级别的电子密码就叫做NS Akey) 。一旦发生战争,  美国政府就可以通过操作系统的后门进入他国网络,  甚至造成网络瘫痪。O fficexp 与IE510 发生内部问题时,  电脑会主动将基础错误样本报送到微软
1 自由软件运动、自由软件和开源软件
软件产业的兴起自60 年代初,  70 年代以前计算机产业的重点集中在硬件设备上,  计算机生产厂商往往把软件和硬件一起提供给用户使用,  这一时期计算机软件的源代码是可以共享的。1976 年,  以I BM 为首的计算机厂家开始实行“价格分离”政策,  将软件和硬件分开销售,  这使得人们渐渐认识到软件行业的巨大商机,  软件开发的投入加大, 源代码也封闭起来。
80 年代中期,  计算机科学家R ichard S tallman 提出G PL ( G erneral Pub lic Licence) ,  发起自由获取、修改的自由软件运动。但直到90 年代,  网络的发展,  才给自由软件运动带来巨大的动力。例如:  Linus Torv alds 提倡了有组织的项目, 通过网络使得数以百计的软件程序志愿者参与到Linu x 的开发中来,  极大的促进了Linu x 技术发展和成熟。
自由软件运动中的“自由”有两个的意思,  一是对于使用者,  它是可以免费获得的,  第二给获取源代码的人自由修改源代码的权利,  当然这种修改必须基于G PL 之下。自由软件(frees softw are)  不同于免费软件(freew arre) ,  后者是一种零价格的软件,  源代码关闭通常被作为试用产品提供给用户。开源软件是相对版权保护软件( 源代码受到版权保护且不开放)  而言的,  主要指商业软件( 所谓商业软件是指通过贸易的方式向社会公众发行的各种商品化软件,  其功能、性能通常已经过严格测试,  以便于使用,  通常其源代码是不公开的,  修改和重修编译的权利受到限制) 。而开源软件并非是没有版权的软件,  区别于商用软件
收稿日期:  2005 - 03 - 29
58 祁荷香等:  浅析政府部门采购开源软件的必要性和问题
的同站,  用户信息因此会被泄漏。
在被病毒攻击的可能性上:  开源软件比较而言不太容易受病毒攻击。有人认为源代码关闭的程序软件是更安全的,  因为对于攻击者而言难以得到源代码信息。这种见解其实是错误的。尽管源代码对于增加程序的功能是非常重要,  但是对于攻击者而言却并非如此。他们不需要获得源代码,  只需要调试、分析和反向工程工具即可就可以到程序的漏洞进行攻击一总体而言,  安全系统不应当依赖于源码的封闭,  通过隐藏来达到安全的目的是不行的。因为那些破坏安全的“破裂者”在这方面更有激情和耐心,  他们总会发现漏洞,  开放源码的操作系统和应用程序通常比他们对应的封闭对手要安全的多,  修复速度也要快得
多, 同时不会引入一些人为的安全隐患,  例如“预留后门”。
有一家名为reasong ing 咨询公司最近就对操作系统中的关键功能TCP/ I P 实现的代码比较了Linu x 和其他的私人软件, 他们的结论是开放源码Linu x 内核中的比PCP/ I P 实现的代码质量明显高于其他通用操作系统的商业软件。随着计算机变得更加复杂,  需要让内部运行进程对用,  越来越开放,  这是用户解决他们遇到问题并有效使用的惟一的唯一方法。作为公共服务部门的政府机构,  更需要了解软件的内部运行机制从而更好的让软件为电子政务服务。如果拿Linu x 和Wind ows 比较一个很大的区别就是人们可以在Linu x 的基础上工作以进一步提高其安全性,  而对于w ind ows 就只能依赖微软。
表1    开源软件和非开源软件安全性能比较表
“政府源代码备案计划”是微软“共享源代码”计划在
中国的具体实施。“共享源代码”是为了对付开放源代码软
竞争而采取策略,  它即与开放源码相像,  又不损害微软的根本利益。
虽然从字面上和开放源代码差不多,  但实际两者是完
全不同的。开放源代码软件属于公共领域,  这种开放式是全部的、无条件的,  人们可以自由的对源代码
研究、应用、修改、发展,  按相应的许可证可以发布自己的版本, “共享源代码”则没有改变微软对源代码的所有权,  这种开放是“部分的”, “有条件的”,  只允许在特定场合看到特定部分源因此,  困此有人戏称之为“展示源代码”。微软在全世界包括其本土和盟国实施的“源代码备案”计划,  都没有做
到100 %的开放,  可以断定中国是不可能得到比他们更优惠
的待遇的。但如果不是100 %开放,  源代码就是不完整的, 根本不可能对信息安全做出任何保障。因为不能看到这个
软件的全部源代码,  又怎么可能对它的信息安全下结论呢?
“备案”和实际发行是两回事,  跟保证安全更是不同。以为备案就能有安全保证,  是极其天真的想法。拿美国本
土为例,  不管政府备案如何,  在实际市场发行的时候,  微
软采取捆绑手段跟特定协议计算机制造商一起发行的操作
系统可能是另一套。例如微软和戴尔捆绑发行的WIN2 DOWSXP 版本和市场单独发行的WINDOWS XP 版本相比,  功能和功能程序就有不同。正因为这个原因美国政府也没有
和微软公司签订“政府源代码备案计划”。而英国政府并没
有向本国市场和客户说那是“增强政府对于WINDOWS 帄台
安全性的信心”。美国的本土和盟国尚且如此,  对比之下, 某些媒体说微软在中国政府的备案就是“增强政府对于WINDOWS 帄台安全性的信心”是一种极其天真的看法。第
四、国际上出现政府部门采购开源软件的趋势。欧洲
方面;  2003 年3 月8 日,  德国慕尼黑投票同意政
府部门把其14000 台式电脑和笔记本电脑的操作系统和办公自动化系统由微软操作系统更换成开源软件的操作系统和办公自动化系统( 这个决定基于对6218 台Linu x 操作系统和5293 台最新的微软邮系统进行深入的比较研究后得出的) 。这次的转换的规模在欧洲政府公共部门是空前的,  产生了“网络链式的深远影响”。2003 年9 月威尼斯IT 部门就公布了行政部门转移到L INUX 的可行性报告。基于深入的研究,  澳大利亚首都悉尼将在2004 年中决定是否使用开源
软件系统,  这项计划可能先从几百台的电脑的转化开始的, 2007 年中期将决定是否对其政府的15000 台电脑进行转换。荷兰首都阿姆斯特丹,  也宣布它将从服务器和桌面适用软
件开始测试开源软件。测试的目标是确定开源软件的质量、稳定性和安全性。将对转移开源软件进行全面的评估,  包
括维护成本和使用者的培训成本。如果这次的调查给出的
是满意的答案,  它将进行大范围的开展开源软件的转移工作,  甚至包括该城市所有的15000 台的桌面电脑。亚洲方面:  2003 年中期,  TUR B O L I NUX 与中国铁路局
签订了提供操作系统的合同。韩国政府也宣布,  到2007 年,  政府各个部门的电脑及服务器将采用开放源代码软件。根据此计划,  各个政府部门,  和政府相连的机构以及大学
安全因素版权保护软件开放源代码软件
安全漏洞
修订( 修定功能)有
有( 时间较长)
有( 内部检查)
有( 时间较短)
有( 更多人参与)
有( 但可以控制)
有( 通过CV S  进
行)
代码检查
预留后门的可能有
有( 内部控制)
代码质量的控制
第二,  在性价比方面。要知道政府采购用的不是私人或者那个单位的钱,  而是纳税人的钱,  要对纳税人
负责。政府的采购不能依据哪个单位的喜好,  而是要有利于国家和产业的发展,  要有利于纳税人的长远利益。开源软件价格一般都较版权保护软件低得多。虽然微软曾经指出L I N2 UX 价格虽低但从配套软件,  从系统运营、维护、培训等方面考虑,  总拥有的成本还是WINDOWS 低。但实际上随着L I NUX 的推广,  现在给予L I NUX 应用软件和解决方案越来越多,  熟悉L I NUX 的人才越来越多, L I NUX 在拥有总成本上显示出很大的优势。
同时使用开源软件不仅仅意味着成本的节约。因为源代码的开放和可修改性,  使得使用开源软件用户可以拥有更多的自主性。开源软件可以根据用户的需要对源代码进行修改,  加入一些特殊的功能,  例如可以人为实现某种监控或者为自己所用的“后门”等。
第三,  微软的“政府源代码备案计划”。
59 祁荷香等:  浅析政府部门采购开源软件的必要性和问题
将用开源软件替代微软的操作系统以及O ffice 产品。韩国信息和通讯部的发言人透露,  到2007 年,  20 %的台式机软件, 30 %的服务器软件将被开源软件所代替。新加坡国防部上月末在其2 万台个人电脑上安装了开放源代码软件,  取代了微软的Wind ows 操作系统帄台。中、日、韩三国也在今年同意联合开发自主的Linu x 操作系。
美洲大陆;  2004 年美国航空资源局(Air R esources Bar2 rd) 、加州运输系统( T he California Departmen t of  Trans p orata2 tion)  也都开始使用开源软件。同时巴西、阿根廷(Bill 904 - D - 02)  也在2003 立法强调了开源软件在政府部门采购中的重要地位。
3 政府在采购使用开源软件中的应注意的主要问
目前来讲,  政府部门采购和使用开源软件已经成为一种趋势,  但要实现这种转变依然存在着巨大的困难。决定采购前政府必须充分考虑到这些困难。
311    时间和兼容性。转换数以百计或者千计的计算机( 包括桌面电脑和笔记本电脑)  都需要较长的时间,  包括管理和培训也是需要时间的。要完全成功的用开源软件替代商用软件,  就必须对使用者提供必要的培训,  保证他们可以接受和使用新的操作系统。同时新的开源软件和现存的版权软件的兼容也存在问题。目前工具软件都是基于微软帄台制作。很难和Liunx 操作系统帄台实现兼容。这些问题的解决对于成功的转移将是非常关键的。
312    可能涉及的版权或者专利纠纷。微软首席执行官鲍尔默在新加坡举行的微软亚洲政府领导人论坛上表示, Linu x 操作系统当前侵犯的知识产权专利已超过228 项。他说: “对于那些正在加入世界贸易组织
的国家来说,  使用Linu x 操作系统就意味着将来有一天, 突然会有人上门来向他门收取知识产权专利费用”。今年年初,  S CO 组织就将多家使用Linu x 的公司告上法庭,  称这些公司使用的操作系统中含有S C O 的专利代码(Unix) 。此外,  S C O 目前还与I BM 在法庭上纠缠不清,  原因是S C O 认为IBM 非法将S CO 的软件代码(Un 键入)  健入了Linu x 操作系统当中。虽然对于S CO 是否拥有Unik 代码版权仍然是很大的疑问。但这些诉讼, 已经足以提醒使用开源软件的用户应该加强对开源软件源代码的审查和国际法律的认识。
313    加强开源软件的源代码审查备案制度。要知道开源软件也并不是绝对的安全。开源代码审查备案制度是确保信息安全管理的手段,  而且是最可能的有效手段。开源代码的备案审查必须保证开源代码的完整性和真实性。为此必须提供相应的工具和文档,  以便可以将通过编译得到可执行的软件与发行的软件进行对比,  验证所提供源代码的完整性和真实性。同时源代码备案还必须对源代码进行全面彻底的测试、评估和认证,  才可以确定开源软件的安全性。要到这一切必须认真制定“源代码备案的细则”,  才能使源代码备案这一制度真正发挥作用。
314    政府采购开源软件模式孤相应改变。开源软件的采购和传统商品的采购不同,  甚至和一般商用软件的采购也不同的。后者的采购过程要经过卖家提供购买意向书等正式的程序,  开源软件的采购一般却不会有卖家提出和提供产品,  这就要求政府部门进行积极的调查和评估,  意味着政府采购方式和途径也要作相应的改变。
4 小结
尽管存在着诸多的挑战,  政府部门采购开源软件的替代也代表着最大的潜在成本的节约和最大的安全保证。但同时我们也要看到开源软件的使用对于贸易、安全、知识产权、研究开发、政府运转甚至经济发展都会产生重要的意义。同时开源软件对于公共政策提出挑战,  政府需要确定由于开源软件使用引起的复杂的问题。要看到目前还没有任何一个单独的政策足以完成这项重要的任务。需要不同的制度共同合作才能在保证不破坏知识产权的情况下完成。
(本文责编:  熊俊)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。