论用开源软件建设会计信息系统

 国务院机关事务管理局采购中心 何滨 城市:北京 邮政编码:100017 国家行政学院培训部 翟江虹 城市:北京 邮政编码:100089

摘要:本文介绍了开源软件概况,分析用开源软件建设会计信息系统的优势,总结了开源软件在信息化实践工作的经验,提出了用开源软件建设会计信息系统的方案,并阐述了国内开源软件应用的一些相关思考。

关键词:开源软件 会计信息系统 思考

一、什么是开源软件

开源软件Open Source Software(简称为OSS),即公开源代码的软件。它被定义为描述其源码可以被公众使用的软件,并且开源软件的使用,修改和分发也不受限制。获得开源软件是免费的,只需对所获取源码的使用遵循该开源软件的许可协议即可。开源软件常用的许可协议包括BSD、Apache Licence、GPL等,其中GNU的GPL被最多的开源软件组织所采用。

开源软件的种类、数量繁多,应用很广泛。在操作系统领域,Linux的应用遍布最小的嵌入式系统家电到最大的超级计算机,全球500强超级计算机站点有90%以上使用Linux。无论是70%以上的全球股票交易系统,还是Facebook、谷歌、亚马逊网站,以及许多消费电子产品中都可以找到Linux的应用;Web中间件方面,全球有一半以上的Web服务器在使用开源的Apache、Nginx系统;数据库方面,有针对互联网应用的轻量级数据库MySQL,也有针对大型应用的PostgreSQL,以及满足超大容量、高性能网络应用的NOSQL数据库。其他还有各种非常流行的软件,如办公软件Openoffice,文本处理软件Emacs、图形处理软件GIMP、排版软件TeX等等,可以说应有尽有,基本满足了各种信息化需要。

今天,不仅仅有数以万计的组织、企业、个人用户在积极地参与开源软件,连IBM、HP、GOOGLE、Oracle等一些著名的软硬件厂商也在加大在开源方面的投入,并积极向开源社区贡献优秀开源软件。开源加快了软件业快速向服务业的转变。

二、开源软件建设会计信息化的优势

选择用开源软件建设会计信息化有以下优势:

(一)节约成本

胡锦涛同志在2010年6月向两院院士讲话中指出:按照可靠、低成本信息化的要求,构建泛在的信息网络体系。会计信息化提高了会计工作效率,降低了会计工作工作量,提升

了会计工作水平,具有节约成本、规范核算、加强监督等重要职能。这就要求我们在会计信息化建设中注重节约经费,体现会计工作政策功能。众所周知,只要不用于商业目的,开源软件完全免费,任何人可以修改和发布源代码,符合可靠、低成本信息化的要求。科技部等主管部门也拟将基础开源软件课题列入“十二五”规划。随着会计信息化工作的加强,对于网络环境下的会计信息系统建设和运维,采用免费的开源软件是完全足够的,不需要采购高额的国外商业软件。据报道,因为能节省巨额费用,连美国政府信息化项目也开始青睐开源软件。美国白宫网站已经完全采用了开源平台,就连一直固守专有软件的美国国防部也开始对开源软件敞开了大门。对开源的支持也使奥巴马被外界冠以“开源总统”之称。我国在会计信息化中,首先考虑到成本原则,在会计信息化建设中确保少花钱、多办事、办好事。

(二)安全性高

会计信息化关系国家财政、政府机关、公司企业乃至个人等多方利益,必须要确保系统的安全平稳运行。传统闭源软件可能存在“阴暗的死角”,隐藏了Bug和后面却不易被发现。在传统软件公司,只有极少数人能接触到核心源码,而对核心源码的安全检查至关重要。尤其是在当前信息安全风险挑战日趋激烈,互联网环境下会计信息系统的安全性要求更高。有专家认为:互联网已成为继领土、领海、领空之后的第四维空间,并对现实空间有直接制约作用,其战略地位不亚于领土、领海和领空。奥巴马政府将网络空间安全威胁定位为“我们举国面临的最严重的国家经济和国家安全挑战之一”。目前,互联网硬件设备、基础设施和商业软件的核心技术绝大部分掌握在西方少数国家的大企业手中。在1991年海湾战争时期,美国将所有伊拉克国家域名的网站全部封锁,并激活预先安装在伊拉克军队打印机中的所有病毒;2009年11月,伊朗核工厂的P—1离心机在2009年遭到美国网络病毒的攻击,导致984台离心机报废,伊朗核计划遇到重大技术障碍,2015年前不会取得突破性进展。以上问题的核心原因都在源代码,因为源代码背后有许多我们看不到的“后门”,而这些后门可能被利益链条所控制。2010年底,俄罗斯总理普京签署了一项命令,要求所有的政府机构在2015年前用开源软件替代西方企业如微软和Adobe开发的商业闭源软件。此举可帮助俄罗斯节省数十亿美元的软件授权费用,更重要的是因为开源软件的源代码公开透明,可由用户严格审查,确保安全可靠,减少对国外商业软件的依赖。用户可控制软件核心知识,这在传统闭源软件模式下是闻所未闻的事情。

(三)适应需求变化

古希腊哲学家赫拉克利特曾说过:“唯有变化才是永恒”。这句话正是我国会计信息系统建设的写照。我国财政体制正在逐步完善,制度法规和体制机制正在逐步向国际接轨,会计法规、会计准则、财务通则等随着市场经济发展不断更新出台和修订。日常会计工作流程、规范、内容、要求等也随之不断变化。会计信息化呈现为变化性、多样性、复杂性。因此,会计信息化要主要适应环境的变化。会计信息化目的是为会计工作做好支持和服务,它受实

际工作情况影响很大,不可照搬某些成功的个别模式来简单实施。据统计,ERP项目只有20%左右成功,而且所有项目成本平均超预算240%,安装时间超预计178%。其中大部分失败的案例中存在流程死板,缺乏变化,不适合实际需要的情况。可见会计信息化必须适合变化的现状,如果经不起实践的考验,最终会付出惨重的代价,造成的巨大损失。我认为:导致ERP项目失败的直接原因就是两点:项目完成的成本超支和周期超长。项目管理可能是在传统瀑布模式下是规范的,秩序井然的,但因为需要永远在变,编程跟不上变化,项目实施却比较混乱,甚至不能满足现实需求。开源软件本身免费,投入少,其代码公开透明、标准化规范化高、可读性强、文档齐全,可以根据现状随时修改,特别适合敏捷开发战略,为会计信息系统开发人员提供了更为低成本、敏捷、适应变化的可能。由于源代码对用户公开,用户可以根据现状,实现快速低成本修改源代码,还最大可能地降低了后期运维风险。因此采用开源软件,实施敏捷开发战略,可以解决成本超支和周期超长的问题,极大地降低会计信息系统项目失败的机率。

三、实践经验总结

我们在信息化实践中通过应用开源软件,取得了一些效果。我认为采用开源软件取得有以下效益:

(一)低成本实现了正版化

开源软件是免费的,将极大地节约用户成本,尤其是做大型网站集群应用时,开源软件将惊人地节约支出。同时,如果选择开源软件,bug修复,开发功能和编写文档都有开发人员在免费参与,用户可以享受他人成果。另外,业界有许多提供企业级开源产品支持服务的专业型公司,组织可以根据自身的情况,有选择性地购买需要的服务。服务费用将大大低于传统商业软件。我们在信息化系统开发中采用开源软件,以最低投入完全实现了软件正版化,仅数据库一项,软件采购成本减少500-1400万元左右,日常维护节支更加显著,据估计,仅数据库方面,开源软件的维护服务可能不到传统商业软件的10%。如果用户的技术实力较强,可以自行布署维护,完全可能实现零成本完成正版化。

(二)降低了市场风险

由于拥有了所有源代码,减少了市场风险。传统商业软件往往闭源,牢牢控制了源代码,用户只能受制于商业软件公司。如果市场变化,商业软件公司倒闭破产或者合同终止,意味着项目的前途暗淡。而开源软件拥有大量个人和社区在随时维护升级,因此新版本的软件很容易获取。源代码开放透明,用户也可能参与,进行自行修改升级,极大地降低了市场风险。今后即使开发方无论何种原因退出,我们作为使用方并不担心系统的可持续发展。

(三)软件质量更加可靠

传统商业软件往往由公司内部人员开发,公众无法参与。软件的质量通常与软件公司的开发人员水平有关,而开源软件通常是由社会大量技术高手在维护升级,用户自身也可以参与修改。因为开源软件的用户较多,软件存在的bug一般都会被及时发现和修补,也不存在商业公司为了声誉而故意隐瞒缺陷,软件更加安全,质量更加可靠。在规范的开源软件基础上开发应用,也可使今后我们的软件项目的设计、编程等工作更加规范。

四、开源软件建设会计信息系统方案

目前,我们认为在会计信息系统建设运维中最好选择了以下开源软件。

(一)操作系统Centos

Centos是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定所编译而成。会计信息系统的服务器和客户机均可采用Linux,将极大降低费用,还可确保不受病毒木马的攻击,保证财务数据安全。

(二)数据库Mysql

MySQL是一个开源关系型数据库管理系统。目前MySQL被广泛地应用在互联网的网站中,具有体积小、速度快、成本低的特点,非常适合财务系统。MySQL支持集群布署,支持大型网络应用也没有问题。

(三)中间件Nginx

Nginx一款轻量级的Web 服务器。由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强,它的性能超过了另一款应用最广的开源中间件Apache。

(四)编程软件Ruby on Rails

Ruby On Rails是一个用于编写网络应用程序的免费开源软件框架,适合编写B/S模式的财务系统。它基于开源计算机软件语言Ruby,给程序开发人员提供了敏捷快速的框架支持,可以用更短的代码和更少的时间编写出简洁优美代码,它可用采用开源编程工具NetBeans来配合开发。据统计,Ruby On Rails的开发效率是其他某些传统开发工具比如JAVA的10倍以上。

(五)办公软件Openoffice

OpenOffice是跨平台的开源办公软件套件,能在 Windows、Linux、MacOS 等操作系统上执行。它与微软等主要的办公软件兼容,具有文字处理、电子表格、演示文稿、数据图表、公式编辑、简单绘图和图片处理等功能,完全可满足日常会计工作需要。

(六)监测软件Nagios

Nagios 是一个在linux及unix环境下运行的监控系统和网络的应用程序,它监控用户所指定的会计信息系统服务器,并在情况变化时提醒用户注意。

(七)全文检索Sphinx

Sphinx是一个基于SQL的开源全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,特点是检索速度很快,适合大量财务档案文件的查询。

(八)版本控制SVN

SVN(subversion)是会计信息系统开发维护所需要的开源版本管理工具。

(九)即时消息Openfire

Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。用户可以使用它轻易的构建高效率的即时通信服务器,适合财务人员的即时消息交流和文档传送管理。

(十)项目管理工具Redmine

Redmine 是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示,同时支持多项目管理。

还有许多优秀的开源软件,可根据会计信息化的实际情况进行选用。

五、一些思考

(一)美国政府都推崇开源软件,反而中国大部分信息化项目包括会计信息系统的开发语言、工具、数据库、中间件等,却采用的是西方的商业化软件?

原国信办副主任陈大卫曾一针见血地指出:信息化要以确保业务应用系统平稳运行为实际目标,尽可能避免贪大求洋造成浪费。我认为开源软件的低成本、安全、可控的特征,完全适合中国信息化的现状,应该大力推广。巴西、印度、俄罗斯等国政府在开源软件应用远超过我国。我国应迎头赶上,不要在信息化发展竞争中失去先机。

(二)开源软件是否安全?

开源软件的代码由大量的企业、个人、社区在查看、修改、升级、维护。阳光下公开的事业,要想隐藏不可告人的秘密是很困难的。因此,可以确定开源软件具有较高的安全性。

(三)在中国,开源软件的意义?

开源对中国是巨大的机遇。中国工程学院院士倪光南在与新浪科技对话时指出,中国软件产业可以借助开源和创新成长出软件巨头,并继而成就自己的软件产业。开源的好处就是使任何人都有创新的机会,同时,开源的方式打破了垄断。我想提醒的是,中国企业在利用开源时,必须要消化吸收其核心原理重新改写后才能进行商业化,或者修改后发布源代码,可收取服务费用,要避免从事商业销售引起的知识产权问题。开源软件对我国这种缺乏核心技术的国家是个机遇。有人说:法律条款都公开,但律师照样赚钱;医学知识都公开,但医生照样赚钱。开源软件靠专业服务盈利的模式,已逐步让大家接受,并且成为新的市场方向。我们一定要在吸收中创新,今后通过后续服务或出售专利等方式可获利,Red Hat Linux的成功就是证明。

(四)软件开发什么情况下用开源软件?

开源主要用于:非专门、非定制的通用性应用,比如,常规电子政务、电子商务、门户网站等等,互联网环境下的会计信息系统也适合用开源软件。信息化建设和运维中可采用开源的基础性、通用性软件包括开源操作系统、数据库、中间件、开发工具、辅助工具等,可极大地降低正版化成本,减少支出。这些基础软件不需要订制和二次开发。当然如果有足够的实力,在开源基础上二次开发,并不复杂。许多开源软件编程规范性通常远比于国内普通软件开发企业严格,可读性很强。

(五)开源软件的成本?

开源软件的成本主要是两部分:一是学习培训成本,二是购买服务成本。如果前者掌握得好,可以不需要后者,因此开源软件服务费用相对来说是很低的。我们在系统升级过程中,购买了数套MYSQL的1年服务,费用是oracle的10分之1左右。开始我们没有人会用MYSQL,1年后,我们开发人员就成长起来,不再需要服务了。中国问题是缺乏开源软件人才,大部分人都在学微软、oracle等商业软件,所以需要投入一些培训支出。

(六)国内开源软件的问题和不足?

国内开源软件应用面临的问题主要是当前国内的开源软件相关人才严重不足,各方面投入较少。国内开源软件主要靠个人和少数社区来牵头研究应用。许多企业往往中是简单照搬使用,缺乏创新。建议政府加大对开源软件的投入、支持和引导,尤其是在宣传、教育、培训方面增加投入。另外,采用开源的软件项目招标时可能会竞争不足,国内许多公司都有现成的商业化软件产品,不愿意采用开源软件来开发新项目,一方面如使用开源软件,要迫使其重新投入,改变技术方向,增加成本;另一方面,开源软件无法实现对技术的垄断,今后不容易控制客户。许多国内软件企业没有看到开源软件服务产业化带来的机遇,急需转变观念。

转载
Github对程序员职业生涯的影响
其实我们每时每刻都是在为自己的简历而努力