摘要:通過合理利用開源軟件,高校圖書館將極大提升數字化水平,提高讀者滿意度。積極、穩妥、深入、持續應用開源軟件作為高校圖書館發展戰略,既是高校圖書館在重塑使命和目標過程中邁出的關鍵步驟,也是高校圖書館新時期提升服務水平和服務質量、開拓新服務模式的有力保障和技術支撐。
關鍵詞:開源軟件 高校圖書館 開源軟件評估
1 開源軟件簡介
在個人電腦還未普及之前,美國很多著名的高校和研究機構像麻省理工學院、斯坦福大學、加州伯克利大學、卡內基梅隆大學、貝爾實驗室、Palo Alto 研究中心就出現了黑客群體,他們分享彼此的代碼,進行研究和各種軟件應用。這段時間涌現了很多影響深遠軟件,如早期的UNIX和C語言、伯克利TCP/IP協議棧、BSD操作系統等等。埃里克·斯蒂芬·雷蒙德在《黑客文化簡史》稱贊這些黑客“一次次被人預測即將毀滅,卻在商業軟件充斥的世界中,披荊斬棘,開創出另一番自己的天地”。他們是時代的拓荒者,播下了開源軟件的種子(需要注意的是我們所說的開源軟件是自由軟件和狹義的開源軟件的合集)。
1983年,理查德·斯托爾曼創建了GNU項目,并于1985年成立了著名的自由軟件基金會,正式提出自由軟件概念。1991年,林納斯·本納第克特·托瓦茲發布Linux內核。1997年,埃里克·斯蒂芬·雷蒙德發表《從大教堂到集市》并于次年成立開源軟件促進會,第一次提出開源軟件的正式概念,開源軟件運動從此被人們熟知。理查德·斯托爾曼的自由軟件運動特別強調軟件的自由、開放、分享;強調軟件開放者賦予使用者自由地使用、復制、修改發布軟件的權利。開源軟件運動則強調開放,鼓勵最大化參與和協作;尊重作者的權利,同時保證程序的完整性;保持獨立和中立,不排斥商業使用。正如埃里克·斯蒂芬·雷蒙德所說,集市的開發方式將戰勝了大教堂的開放方式,開放、不斷通過反饋、協作進行開發的軟件也必將超過封閉的軟件。
正如預言,經過多年的發展,開源軟件數量已經十分龐大,從操作系統到應用平臺,從大數據到云計算,從ERP到CRM,幾乎各行各業都能找到開源軟件的身影。
2 開源軟件的優勢
開源軟件成本低廉,授權費用很低。絕大部分開源軟件都是免費的,就算是收費也一般比同類的商業軟件要低。高校圖書館的資金一般都比較緊張,節省下來的費用能支援圖書館數字化或其他方面的建設。
開源軟件的源代碼是公開的,可以被公眾直接修改,便于開發人員大范圍內協作開發。就像創造了Linux的托瓦茲,創造了GCC的斯托爾曼一樣,優秀開源軟件的貢獻者一般都是業界比較有名的。現在最新的軟件技術以及理論都會一般都會有相應開源實現,開發人員能迅速理解開源軟件系統內部運行機制,借鑒軟件的閃光點,便于二次開發和提升開發人員自身的技術水平。
開源軟件靈活性和可擴展性很強,與商業軟件的開發緩慢,二次開發很難相比,使用開源軟件可以讓高校圖書館定制符合自己需要的系統。高校圖書館結合自身的應用需求,在開源軟件基礎上做二次開發,能更貼切、更切合實際地解決工作中遇到的問題,有利于提高圖書館的研發創新能力,降低系統維護費用。
開源軟件一般是標準化的、開放的,很難出現廠商鎖定的情況。也正是因為開源軟件的標準化和開放性,開源軟件很容易與其他開源軟件協作,形成力量倍增器。不像商業軟件一旦被選用,就很難更換其他的系統,其封閉性和一些私有的實現,也決定了它很難與其他的軟件協作。開源軟件降低了使用風險,它不會像商業軟件因公司倒閉而無法維護。
一般來說,開源軟件可靠性、穩定性、安全性都很高,由于代碼能被公開審查,軟件大部分的bug和設計失誤能被發現,及時解決。
由于國情使然,有很多高校圖書館還在使用一些盜版軟件,引入開源軟件,有利于高校圖書館做出表率,遵守知識產權條約和世貿組織規定,減少盜版。
3 開源軟件的問題和不足
開源軟件由于數量眾多,開發者水平各異,軟件質量參差不齊,這需要高校圖書館仔細評估、測試、挑選開源軟件。開源軟件的學習曲線也必較陡峭,國際化、個性化、用戶體驗關心不夠,有水土不服的問題;其系統化、集成度不夠,需要高校圖書館有一定實力的技術團隊花費相當的時間來進行整合、二次開發。
4 高校圖書館開源軟件應用策略
高校圖書館來開展的業務很多,既有常規的辦公和傳統服務:借閱、信息檢索、采購編目、讀者培訓、參考咨詢;又可能有數字化館藏加工、數字化開發、學科服務等深層次的服務。每個高校館自身的辦學條件、管理機制、服務對象、服務形式和內容都或多或少有差異。開源軟件種類繁多,變化很快,信息更新很快,因此要找到適合高校圖書館應用的開源軟件不是一件容易的事情。
高校圖書館首先要有一個明晰的發展規劃,對今后要開展、改進的服務,變更、改進的工作流程要有一個總的規劃,要對讀者和工作人員的需求比較了解。規劃和需求明確了,高校圖書館才能根據規劃和需求來評估,測試、應用相應的開源軟件,才能在開源軟件基礎上來針對自己的需要來開發應用,減少應用開源軟件的盲目性和風險。
開源軟件一般是免費的,但高校圖書館同時要重視開源軟件知識產權問題,開源軟件的協議很多,像GNU通用公共許可證(GPL)、Apache許可證、Mozilla公共許可證(MPL)。
通用開發和發布許可證(CDDL)、BSD許可證、MIT許可證每個許可證的協議都是不同,對用戶使用、改寫、發布軟件的方式、方法、范圍都有或多或少,或寬或松的要求和規定。高校圖書館要仔細評估許可證的內容,不能違反開源軟件的協議。
開源軟件的各項信息可以通過開源軟件網站來獲得。我們能了解、評估、試用、開發、實施開源軟件,甚至能與開發人員直接溝通,提出需求、提出改進意見、提交bug,來推動開源軟件發展,使其更適合高校圖書館。例如sourceforge網站(http://sourceforge.net/),是開源軟件的開發者進行開發管理的集中地,也是全球最大開源軟件項目平臺和倉庫之一。Google code網站(http://code.google.com/);是谷歌公司提供的開源軟件項目開發、存儲平臺。Google code已經成為一個開放的項目托管平臺,類似Sourceforge提供版本控制、問題跟蹤、Wiki、下載托管等工具。社交編程網站GitHub(https://github.com/),GitHub是一個現在非常流行的用于使用Git版本控制系統的社交編程網站。GitHub同時提供商業和開源托管服務。目前已托管四百多萬項目,擁有近一百五十萬開發者的社區,它不僅是開源軟件的淘金地,也是獵頭公司搜集人才的寶地。還有開放源代碼促進會(OSI)的官方網站(http://www.opensource.org/)和自由軟件基金會(FSF)的官方網站(http://www.fsf.org/),值得我們去關注。中國國內的開源軟件網站也比較多,像開源中國網(http://oss.org.cn/)、開源中國社區(http://www.oschina.net/)、Linux伊甸園(http://www.linuxeden.com/)、ChinaUnix(http://www.chinaunix.net/)都比較有名,上面的開源軟件新聞和使用案例、指南都比較多。專門關于圖書館的開源軟件可以在http://www.oss4lib.org/、http://www.code4lib.org/及時找到信息,這兩個網站針對主要用于圖書館應用,對相關的開源軟件做了大量介紹。
另外開源軟件像Infoworld組織的BossieAwards和Packt出版社組織的“開源大獎”(OpenSourceAwards)都很有分量,能幫助大家聚焦優秀的開源軟件。LITA(美國圖書館和信息技術協會)、eIFL(圖書館電子信息協會)、IFLA(國際圖聯)、DLF(數字圖書館聯盟)、D-Lib期刊也經常介紹一些適合圖書館應用的開源軟件。
開源軟件的評估、測試是應用的關鍵。按照“FURPS+”模型,我們一般要評價軟件的功能性(Functional):特性、功能、安全性;可用性(Usability):人性化因素、幫助、文檔;可靠性(Reliability):故障頻率、可恢復性、可預測性;性能(Performance):響應時間、吞吐量、準確性、有效性、資源利用率;可支持性(Supportability):適應性、可維護性、國際化、可配置性。我們還需要注意軟件一些其他因素,比如:實現(Implementation):資源限制、語言和工具、硬件等;接口(Interface);強加于外部系統接口之上的約束;操作(Operation):對其操作設置的系統管理;包裝(Packaging);授權(Legal):許可證或其他方式。另外,目前國際上比較流行的開源軟件評估模型OSMM of Capgeminni、OSMM of Navica、QSQS、OpenBRR、OMM等模型,都可以用來系統化評估開源軟件的成熟度。
開源軟件應用于高校圖書館,需要領導高度重視,需要人力資源,經費的投入。開源軟件對技術人員的管理維護能力提出了更高的要求。高校圖書館需要有專業的技術人員、專門的經費來進行評估、測試、二次開發、部署、后續的軟件管理、培訓和維護。
5 部分適合高校圖書館開源軟件簡介
5.1 基礎平臺
5.1.1 操作系統 Linux是一種自由和開放源碼的類UNIX操作系統。主要發行版有Redhat系列,包括RHEL、Fedora Core,CentOS跟Redhat類似;SUSE系列;Debian系列,包括Debian和Ubuntu;
Gentoo系列。推薦在圖書館使用CentOS、Debian、Gentoo。
BSD是Unix的衍生系統。主要發行版有FreeBSD, OpenBSD和NetBSD。推薦在圖書館使用FreeBSD。
Opensolaris是SUN公司開發的Solaris的開源版。Oracle收購SUN公司后,illumos 作為一個Opensolaris分支和后繼獨立出來。這個平臺適合圖書館部署一些需要兼容Solaris系統,很難遷移出來的軟件。
5.1.2 云計算和虛擬化 OpenStack是一個為公共及私有云的建設與管理提供軟件的開源項目,適合圖書館搭建私有云服務。
Xen和Kvm目前比較活躍的虛擬化軟件,可以用來替代昂貴vmware虛擬化軟件。
5.1.3 存儲、數據庫、大數據、搜索與數據分析 Freenas,openfiler是比較好的兩個存儲軟件,能充當NAS或者ISCSI設備,能搭建存儲熱備系統,數據安全性不錯。
Mysql、PostgreSQL等開源關系型數據庫已經非常成熟,能作為Oracle、SQL server的替代。Monodb Cassandra、Dynamo、CouchDB等新興的非關系型數據庫,已經在性能要求較高的大型站點上得到應用。高校圖書館可以借鑒其經驗,用于對性能要求較高的圖書館網絡應用后臺數據庫。
Hadoop是一個分布式系統基礎架構,由HDFS、MapReduce、HBase、Hive和ZooKeeper組成,是圖書館大數據的首選平臺。Lucene是一個高性能、多功能全文索引和檢索引擎,國內有許多高校在其基礎上開發了檢索平臺。Solr一個開源的企業級搜索服務器,經常與Lucene一同使用。開源數據分析軟件和框架主要有Orange、RapidMiner、Weka、JHepWork、KNIME等等。
5.1.4 網絡、網絡管理、信息安全、WEB服務、緩存、負載均衡、高可用、自動運營工具 Iptables是Linux環境下防火墻和NAT軟件。pfSense是一個FreeBSD下的免費開源的防火墻和路由器軟件。Vyatta是基于x86硬件的企業級的路由器/防火墻,功能很強大,路由、VPN、防火墻、NAT功能都有。Snort是一個入侵檢測系統,能防范黑客入侵。TCP_wrappers、Chkrookit、Tripwire、PortSentry、Nmap、Tcpdump、wireshark等開源信息安全工具能幫助信息安全管理人員迅速發現問題、修補漏洞、防范攻擊。Nagios、Hping、Cacti、MRTG、ZABBIX能協助網絡管理人員了解網絡實際狀況。Bacula、Rsync、Unison能用于數據的同步和備份。Bind和DNSPod-sr可以做DNS服務。
Apache和Ngix是高校圖書館最常使用的WEB服務器。高校圖書館能使用Varnish、Memcached、Squid、 Redis等軟件做網絡應用緩存,提升服務速度。Lvs、HAProxy、Heartbeat、DRBD是常見的負載均衡和高可用軟件,它們可以幫助圖書館提高數字化系統的可用性。
Puppet、cfengine、chef是比較流行的自動化配置管理工具,能協助系統管理員迅速完成系統配置、審計。
5.1.5 中間件 JBoss、Tomcat是著名的支持J2EE規范的web容器。LDAP、SAML2.0、OpenID、CAS、SSL、Shibboleth、OATH是常使用的聯合認證協議和程序庫。RabbitMQ、Activiti5與jBPM5是常見的開源工作流引擎。高校圖書館可以利用以上中間件開發自己的應用。
5.2 應用
5.2.1 圖書館自動化集成系統 Koha、Evergreen是目前最為著名也最為成熟的開源圖書館自動化系統。類似的系統還有Emilda、OpenBiblio、PhpMyLibrary等等。
5.2.2 門戶、網站與內容管理系統(CMS)、機構庫、wiki Liferay Portal、Jetspeed是信息門戶系統,門戶集成了單點認證系統,可以讓讀者可以很方便的訪問網絡資源。
Wordpress、Drupal、Joomla是目前最流行的php內容管理系統,適合做圖書館的網站。
DurSpace,由Fedora與DSpace兩個最有名的數字倉儲系統支持獲取、存儲、索引、保存和分發數字資源。類似的軟件還有Eprint。
MediaWiki是著名的維基百科全書的底層服務軟件,能作為圖書館的百科系統。
5.2.3 電子郵件服務、Voip、短信、聊天工具 Sendmail、Dovercot 可以用來實現圖書館自己的電子郵件服務。Asterisk是一個開源VoIPPBX系統,它是一個運行在Linux環境下的純軟件實施方案。Kannel是一個開源的短信網關,可以用來收發短信。Openfire、Spark可以搭建圖書館自己的IM服務平臺。
以上列舉的軟件僅僅只是開源軟件寶庫了的滄海一粟,在高校圖書館各種服務,都存在著相應的開放源碼軟件。在當今新技術日新月易,新服務層出不窮的情況下,高校圖書館要有更加開放的心胸和氣度來迎接新的挑戰。高校圖書館與開源軟件的精神內核都是自由、開放、共享、協作。通過合理利用開源軟件,高校圖書館將極大提升數字化水平,提高讀者滿意度。高校圖書館通過積極、穩妥、深入、持續應用開源軟件來提升服務水平和服務質量、開拓新服務模式、重塑使命和目標。恰當的開源軟件應用戰略將保障高校圖書館在新時期的發展。
參考文獻:
[1]呂晶,連理,邱小俠,等.開源軟件之道[M].北京:電子工業出版社,2010.
[2]工業和信息化部軟件與集成電路促進中心.開源軟件成熟度評估及選型指南[M].北京:中國水利水電出版社,2011.
[3]張智雄.支持數字圖書館的開源軟件[J]中國教育網絡,2009,(5):18-19.
[4]朱安柱,方紅,等.支持數字圖書館的開源軟件[J]中國教育網絡,2011,(4):61-63.
[5]Open source software assessment methodologies[EB/OL].Wikipedia,[2012-01-02].http://en.wikipedia.org/wiki/Open_source_software_assessment_methodologies.
[6]Howto Evaluate Open Source Software/Free Software(OSS/FS)Programs[EB/OL].dwheeler.com,[2012-01-07].http://www.dwheeler.com/oss_fs_eval.html.
[7]Various Licenses and Comments about Them[EB/OL].gnu.org,[2012-01-02].http://www.gnu.org/licenses/license-list.html.
科研項目:本論文系武漢市教育局科研項目研究成果(項目編號:2009K017,項目名稱:開源軟件在高校圖書館的應用研究。