开源软件在图书馆的应用研究

2012-04-29 02:54路莹郝继英王红军
现代情报 2012年12期
关键词:数字图书馆应用

路莹 郝继英 王红军

〔摘 要〕文章简要介绍了开源软件及其发展优势,分析并例举了开源软件在图书馆的典型应用,指出开源软件在图书馆应用中应注意的问题,并就如何选择符合需求的开源软件进行了初步的分析。

〔关键词〕开源软件;数字图书馆;应用

1 开源软件及优势

1.1 开源软件

开源软件即开放源代码软件。区别于商业软件和免费软件,开源软件是基于通用性公开许可证(GPL,General Public License)等各种相关许可协议规范发布的软件。其显著特性是任何人不仅可以免费自由获得软件的源代码,还可以根据自身需要不同程度、不同方式地使用、复制、研究、改进并重新发布源代码[1]。

开源软件起源于上世纪90年代,它倡导的是“自由、开放、共享”的开源精神。其低成本、开放自由、可灵活定制、公开透明、可消除软件“后门”隐患等特点,正好克服了成熟商业软件购买费用高、源代码封闭、后续开发困难、可扩展性差、不能满足个性化需求的弊端,具有强大的创新性和发展动力。随着开源运动的深入,人们开始认识与认可开源理念,并积极投身于开源运动。他们关注开源、研究开源,并为开源软件的发展做出自己的贡献,开源软件项目的数量和开源系统的规模也随之呈指数增长。其典型代表是Linux操作系统,自1991年由芬兰赫尔辛基大学的林纳斯·托瓦兹开发以来,经众多软件精英修改、完善,以其低成本、高品质、安全稳定等特性,形成对微软视窗系统强有力的挑战,并已成功应用于各个领域。

1.2 开源软件独特优势

1.2.1 节约软件开发成本、缩短开发周期

开源软件零许可证费用,直接降低了软件整体拥有成本。且开源软件共享开发成果,避免重复建设,能极大地缩短软件系统开发实施周期。

1.2.2 软件质量性能优越

开源软件虽然免费,但优秀的开源软件往往能吸引大量的软件高手,聚集群体的力量,使软件性能不断提升,保证了软件的适用性和先进性。

1.2.3 公开透明,安全性强

开源软件开放、共享。能充分接受软件使用者们的评审。软件的漏洞、缺陷能够被及时发现并进行修补,还可避免软件“后门”的发生,具有比一般商业软件更高的可靠性和安全性。

1.2.4 标准规范、可灵活定制

开源软件开发、扩展都必须遵循开放规范标准,兼容性和互操作性强。可根据自己的实际情况进行定制开发和功能扩展。还可以进行软件本地化,以满足特定区域的需求。

1.2.5 可学习性、创新性强

最流行的和被广泛认可的开源软件往往是最有创意的软件,社区化开发环境下,好的想法被大家共享。阅读源代码可了解软件工作原理,丰富软件开发经验,激发自主创新热情。开发效率比在集中开发环境下反而要高许多。

2 图书馆开源软件典型应用

开源软件打破组织边界,彻底改变了软件的开发模式,使持续创造出高品质、安全、易用的软件成为可能,是当代信息技术产业发展的源动力。如今开源软件已不再仅限于Linux环境,基本上能跨跃所有操作系统的界限,遍布Web服务器、操作系统、浏览器、数据库、电子邮件等诸多方面。使得软件业经历着从技术、应用到服务模式的深刻变革,连微软也推出了自己的开源实验室。

不可避免,开源软件也同样深刻地影响着图书馆的发展建设。其中既包括Linux操作系统、Apache服务、MySQL数据库、PHP程序设计语言等通用基本软件;也包括Koha、OpenBiblio、Learning Access ILS等开源图书馆自动化管理软件;还包括知识仓储、数字对象长期保存等数字图书馆专用软件,比较典型的应用有:

Dspace是由美国麻省理工学院图书馆与惠普实验室经过2年多的合作研究,于2002年10月开发完成的[2]。旨在为麻省理工学院的教学科研人员提供保存、共享和检索数字研究成果的平台,实现本校的电子研究成果稳定长期地保存和共享。

DSpace遵循Mozilla协议基于BSD开放源代码许可,是一个专门的数字资产管理系统,是目前国内外用于机构存储的比较成熟的、代表性创建工具。DSpace系统定义了社区、合集、条目、数字包和比特流5种数据模型,并采用DC元数据标引数据模型为数字信息资源的存储、索引、检索、定位和利用提供良好的数据基础。此外,DSpace系统支持OAI-PMH协议,通过OAI接口,可以实现系统元数据定期或不定期收割,加快数字资源传播与利用。

DSpace系统结构合理、标准规范、具有较为完善的功能和实用性、可扩展性强,不仅适用于单一数据库建设,也适用于跨组织的机构存储,利用虚拟存储技术,还可以实现虚拟馆藏等。是国内外学术机构普遍采用的机构知识库系统平台。截止目前,在全球著名的开放获取仓储检索网站OpenDOAR上登记收录的2 000多个知识库系统中,采用Dspace构建的就有890多个。除麻省理工大学图书馆、纽约大学图书馆、美国国家航空和航天局外,我国被OpenDOAR收录的中国科学院知识网格、中国西部环境及生态数据中心、厦门大学学术典藏库都是采用DSpace构建的[3]。

2.2 Lucene

Lucene是由Apache软件基金会提供的一个开放源代码的全文检索开发包,包括完整的查询引擎、索引引擎和部分文种的分析引擎。作为一个高性能的全文检索引擎架构,Lucene为数据分析、管理、查询、获取提供了简单、通用的应用程序接口,便于嵌入各种系统,使用户在实际应用中能快速建立起一整套全文检索机制,实现全文索引和检索[4]。

Lucene采用面向对象的设计,体系架构开放、藕合度低,易于二次开发。支持字段检索、停用词、词干等多模式检索,可跨平台调用,支持多种语言环境。Lucene对数据源格式没有特定的要求,它采用一个通用的Docuemen对象来接受索引。不管要建立索引的数据源是什么格式,只要调用相应的解析转换器将数据源构造成Docuement对象,映射到Lucene的存储结构或接口中。就可以被Lucene分析利用,经语法分析、内容提取和词语切分后后,建立倒排索引。常见的文件格式Word、PDF、Html甚至数据库等等都可以是数据源,实现全文检索。

信息技术的发展,一方面极大丰富了现代读者的信息资源需求,另一方也使他们面临无法快速、准确、全面地获取需要信息资源的难题。传统的以题名、著者、出版社等关键词进行检索的方式显然已不能满足读者的需求, 建立数字资源全文信息索引, 实现基于内容的全文检索已成为当前数字图书馆建设的重要课题。Lucene以其优异的架构设计、开放共享的特性和卓越你的全文索引、检索性能得到全世界范围的广泛认可。利用Lucene构建全文检索系统在国内外图书馆界已得到广泛应用。

2.3 Drupal

Drupal是2000年发布的开放源码内容管理框架,包括内核、模块、主题3个部分,并通过Hook机制紧密相连。由于它整体设计思想先进、架构灵活,扩展方便且源码开放,吸引了全世界数以万计的WEB开发专家,经过他们不断地修改、完善,如今Drupal已经发展成为一套强大的内容管理系统,支持从个人博客到大型社区等各种不同应用的网站项目,具有业界顶级的网站开发能力[5]。

Drupal的定制开发能力、灵活扩展性、代码安全性和系统健壮性等方面都具备世界最高水平。这使得它成为众多有技术实力的网站建设公司优先选用的网站开发平台,包括联合国、美国白宫、法国政府、哈佛大学等著名政府和机构纷纷采用采用基于Drupal的框架建站。

2011年,Drupal7把RDF 相关模块作为Drupal的核心。作为一个内容管理系统平台,Drupal对关联数据的支持把Drupal带入一个全面应用RDF的富语义时代,为Web20时代的遗留系统向语义网进化做出了贡献。2005年7月,美国密歇根州安阿伯市地区图书馆率先开通了基于Drupal的新网站,随后Simon Fraser University Learning Commons、University of Alaska Fairbanks Libraries等纷纷利用Drupal进行图书馆门户网站建设、图书馆原有系统整合和图书馆20化,提高用户参与度,改善用户体验。

Drupal聚集了全世界WEB专家的智慧,任何一个公司自己开发的系统,在技术上都无法达到Drupal水平。相反,是否具有Drupal技术的开发能力已成为鉴别网站建设公司实力的试金石。Drupal的学习曲线相对漫长和陡峭,只有精通XHTML、CSS、Javascript、PHP、MySql的开发人员,经过长期刻苦的学习,才有可能真正的驾驭Drupal,这也给在图书馆的普及应用带来一定的挑战。

3 图书馆界应用开源软件应注意的问题

开源软件给图书馆建设带来机遇也带来挑战。开发、利用、共享开源软件提高了数字图书馆建设的起点和层次、避免了重复劳动、提高了效率。但国内外可供图书馆界开发、利用的开放源码软件有上千种之多,几乎遍布数字图书馆各业务领域。这一方面满足丰富的应用需要,另一方面也给如何有效地选择、科学评估、合理利用开放源码软件提出了更高的要求。

虽然遍历自由软件基金会等综合性开源软件登记门户网站、查看国内外数字图书馆项目介绍等能一定程度地帮助我们找到适合自己功能目标的开源软件。但开源软件的非组织性更要求我们在选择评价开放源码软件时必须从软件质量、生命力等多方面全面衡量考察。而开源软件技术方案和源代码的公开性,其开发过程的开放性也为我们了解软件技术架构、实施方案等各种指标,评估开源软件质量特性等提供了便利。直接阅读、分析开源软件源代码,可以对代码的质量做出准确的、公正的判定。此外,由于大多开源软件是依托社区而建立并发展的,所以社区建设和社区参与就成为衡量该软件开发活跃程度以及软件应用支持力度的重要指标。

此外,针对不同的应用目标考察评价开放源码软件侧重的重点也不同。例如内容管理系统软件要将涉及文件、表格、图片、数据库中的数据甚至音、视频等各种格式的信息数据集成在一个平台下,统一管理。其难点是要在解决各种非结构化或半结构化的数字资源的采集、管理、发布、检索和利用的同时,将其有机集成到结构化数据的系统环境中。所以选取开源内容管理系统,除要考察上述技术架构、代码质量、社区活跃度外还要从以下几方面进行考察:

31 元数据

对内容数据的查询、修改和检索,必须以元数据为依托。系统对DC、EAD、MARC、LOM、METS、MODS等元数据架构的支持,是否支持Unicode字符集和特定元数据字段的增删及元数据缺省值设置等,都将直接影响软件最终质量。

3.2 内容数据管理

内容数据管理包括提交管理、提交查看、内容发布等。涉及数据提交权限管理;提交表单的自定义生产;提交内容数据的自动转换、元数据抽取、对接、索引和存储;发布格式的自定义确立等等。

3.3 检索支持

系统是否支持全文检索和特定元数据字段检索,及检索点浏览检索。检索结果相关度排序。

3.4 权限控制

用户权限管理是否可限制不同的访问层次,对用户角色管理、加密、数字签名等安全措施的支持。

3.5 I/O管理

对结构化、非结构化文档格式、元数据格式、图像格式和多媒体格式等多种形式、多种格式内容的输入/输出管理,系统能自动生成使用统计,支持个性化使用报表生成。

3.6 标准规范互操作性

系统能支持OAI-PMH、兼容Z3950协议以及其它研究协议。具有跨平台操作能力。

4 结 语

数字图书馆建设集网络、通讯、信息技术为一体,一个完整的数字图书馆信息系统往往是集成多个开源软件的综合应用平台。而开源软件不是由一个统一的组织进行开发的,所以不同的软件之间没有整体性,虽然各自有标准的开发接口,但多个开源软件间整合开发必不可少。这对长期在Windows平台体系中学习、工作的软件开发人员也是一个挑战。作为数字时代图书馆人,必须紧紧跟上信息领域发展潮流,积极学习开源软件新理念、新知识、新技术,并投身于开源软件应用与开发中,促进和推动开源软件在图书馆中的应用。

参考文献

[1]耿庆军,王朋,孙华玮.开源软件在教育信息化中的应用研究[J].软件导刊,2010,(4):26-28.

[2]李师龙.开源软件Dspace的本地化及开发探讨[J].科技情报开发与经济,2011,(35 ):65-67.

[3]http:∥www.opendoar.org[EB].

[4]孙西全,马瑞芳,李燕灵.基于Lucene的信息检索的研究与应用[J].情报理论与实践,2006,(1):125-128.

[5]马建玲.开放源代码的内容管理系统Drupal[J].现代情报,2007,(2):50-52.

(本文责任编辑:孙国雷)

猜你喜欢
数字图书馆应用
高校图书馆的未来发展模式刍议
浅析“互联网+”时代的图书馆管理
基于云计算的数字图书馆建设与服务模式研究
多媒体技术在小学语文教学中的应用研究
分析膜技术及其在电厂水处理中的应用
GM(1,1)白化微分优化方程预测模型建模过程应用分析
煤矿井下坑道钻机人机工程学应用分析
气体分离提纯应用变压吸附技术的分析
会计与统计的比较研究
刍议数字图书馆计算机网络的安全技术及其防护策略