This is an old revision of the document!
The focus of this glossary is on the open source ILS Evergreen which is being used in an increasing number of libraries throughout the world. Open Source software is developed by a different method from that used by traditional (“proprietary”) library software. Evergreen is being deployed rapidly as many libraries are converting from traditional ILSs. The traditional vendors have made and continue to make contributions to libraries and were it not for them, it can be speculated, libraries would still be using card catalogs if they relied on the technical expertise found in libraries. But a new wind is blowing and for a growing number of libraries, open source software has proven to be economical and has provided librarians with more flexibility with and control over their libraries’ environments. For these reasons and others, there are many librarians looking for an introduction to open source applications and their underlying principles of development.
Linked terms in boldface have entries in the glossary.
|Apache||Apache is open source Web server project that develops and maintains the Web server software used by Evergreen. It is the most popular Web server software and is used throughout the Web. The project began in 1994. The Apache software Foundation’s Web site is http://httpd.apache.org/.|
In an Evergreen installation, a “brick” is a unit consisting of one or more servers. It refers to a set of servers with ejabberd, Apache, and all applicable Evergreen services. It is possible to run all the software on a single server, creating a “single server brick.” Typically, larger installations will have more than one such brick and, hence, be more robust.
Bricks will vary according to local requirements but a small brick might have one “head” with (ejabberd, Apache, and open-ils.settings) and one or more “drones” which will handle general application processing.
|The Cathedral & the Bazaar||A book written by Eric S. Raymond (O’Reilly, 1999). A must read if you are new to open source
Librarians who read it and hear the poetry behind the details will realize that open source works very much like we do.
Wikipedia has a short discussion of the major principles of open source development in its entry on this book:
The essay is also available on the Web at Raymond’s Website, although the printed version is easier to read:
|Cloud computing||“…Web-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smartphones) on demand over the Internet.” http://en.wikipedia.org/wiki/Cloud_computing.
ILS vendors offer hosting where they manage the servers used by the online catalogs of libraries and provide access to those catalogs via the Internet. Terms such as Software as a Service (SaaS) refer to these kinds of services. In this sense, all such hosted solutions used by libraries are cloud computing and Evergreen was doing cloud computing before the term became popular. As with many new things in the IT world, the definition of what constitute cloud computing is a bit fuzzier and covers a multitude of computing arrangements.
|commit||To make proposed changes in software code permanent. In open source software development, the ability to commit is usually limited to a core group of experienced, skilled developers.|
|community||In the open source world, there is much talk about the “community” of users and developers of the software. In open source development, the term “community” usually refers to users and developers who work in concert to develop open source software, communicating openly and collaborating on the direction of the project. Effectively, these software projects and their development courses are directed by the community through email lists, IRC channels, and an array of communications mechanisms. As a result, anyone in the community can develop improvements to the software and those improvements come not just from a relatively small number of developers at a company which owns the software.
A robust community surrounding an open source project creates an environment that is similar to that a proprietary vendor has from a large customer base. Robust communities create a larger pool of resources to sponsor and contribute to projects. Such communities also mitigate risk for users of the software.
|compiled||Describes a program once it has been translated into computer language. It is usually not readable by people. Proprietary software in the library world will usually only be available in a compiled format. In contrast, open source software is normally available as source code which is downloaded and compiled by its users and modified if required. Hence, the underlying code can be read by the users of open source software and modified to suit their needs, if desired.|
|Consortial Library System||An ILS designed to run consortia. Evergreen was the first and is currently the only such system of library software. A 2008 blog post first described this type of system: Consortial Library Systems.|
|Debian||Debian is a computer operating system using the Linux kernel and tools from the GNU project. It is one of the preferred operating systems for Evergreen, the other being Red Hat. Most development of Evergreen occurs on Debian. With all such development work, of course, the Debian is in the details.|
|DIY||Do It Yourself. One of open source advantages is, of course, that it is free and readily available for download by anyone. A result has been that both Evergreen has been adopted by libraries without paying for the software or for support but by staff at libraries learning the systems and installing it.
It does happen but there is considerable technical knowledge required to carry it off and some of the DIY implementations have used paid support options a la carte—picking and choosing what support they need. The technical knowledge is held by people and those people who install these systems are generally highly paid so DIY can be a “pay me now, pay me later proposition.” However, work is going on in both communities to improve documentation and make the DIY process easier.
Evergreen has a complex infrastructure that sets a high bar for the required knowledge to install and support it but it , also has DIY implementations and is in the process of being adopted by several very large consortia which have capable IT staffs who are doing DIY implementations.
|ejabberd||“ejabberd is a high performance instant messaging server. It enables users to communicate in real time and allows status and presence information to be securely and rapidly transferred between servers.” ejabbered is free source software distributed under the GNU GPL. It is an application server for the eXtensible Messaging and Presence Protocol (XMPP). ejabbered is used to exchange data in Evergreen.|
|Equinox Software, Inc.||The company founded by the developers of Evergreen. Its Website is at: http://www.esilibrary.com/|
|Evergreen||The first ILS designed to handle the processing of geographically dispersed, resource-sharing library networks. It is the first Consortial Library System. Evergreen is the open source software that runs a growing number of libraries and consortia. The Wikipedia entry gives more information: http://en.wikipedia.org/wiki/Evergreen_(software). It first went live in 2006 in the Georgia PINES consortium.||Evergreen Community||
The Evergreen community Website is at: http://www.evergreen-ils.org/.
The community communicates via mailing lists as listed on this page:
and via Internet Relay Chat (IRC) channels. More information can be found here:
Evergreen blog aggregator is at Planet Evergreen: http://planet.evergreen-ils.org/
Sources of information on Evergreen history and background:
As well as numerous blog posts. Planet Evergreen: http://planet.evergreen-ils.org/ is probably the best source for these posts.
|Evergreen Superconsortium||In a June, 2010 blog post, Bob Molyneux and Mike Rylander discussed something each independently noticed and, curiously, each had invented the same new word to describe: the “Superconsortium.” Briefly, they noted that consortia in the Evergreen community were banding together to do common development on Evergreen. Since then, this method of development has grown and has given another economical means to improve Evergreen.
The original post is here: http://evergreen-ils.org/blog/?p=339.
|Evergreen Support options||
Evergreen, being open source, does not have one support company which handles all support so users are not subject to vendor lockin. A list of firms supporting Evergreen is kept on the Evergreen wiki:
Free support is also available via the community resources listed with the entry on Evergreen.
|Fork||In this context, a software development fork results when developers take a copy of the project software and begin a separate development path. Software forks are largely an aspect of software developed using open source principles and, in effect, it is what Wikipedia refers to as a “schism.” Usually a group of the developers decides to take the open code and create something new based on it. Forks can be friendly or unfriendly and can be seen as a source of strength or weakness in open source development. Schisms are seen in other aspects of human activity, such as religion.
Jargon File argues that forks are rare and, hence, the “individual instances look large in hacker folklore.”
|FOSS or FLOSS||Free (Libre) Open Source Software. Also called “OSS”.|
|Free software||Free software is not to be confused with open source software although the two often have similar objectives, they do not always.
See the Free Software Definition at http://www.gnu.org/philosophy/free-sw.html for a discussion of the philosophy behind free software.
For a discussion of the differences in philosophy between Free software and open source software, see Why Open Source misses the point of Free Software at http://www.gnu.org/philosophy/open-source-misses-the-point.html. The Wikipedia entry for the Free software movement is at: http://en.wikipedia.org/wiki/Free_software_movement.
|FUD||Fear, Uncertainty, Doubt. Do you want to trust your library’s functions to open source software written by a bunch of tattooed, dope-smoking hippies with orange hair?
FUD, as the example above might demonstrate, has been a useful marketing tool for sellers of proprietary software but with the growth of the Evergreen and other open source communities in the library world, it has a waning influence. By instilling FUD in prospective users about the viability, robustness, and support of open source competitors, proprietary vendors have attempted to make open-source projects with hundreds of developers and excellent support seem like a casual basement project for a few hobbyist programmers.
|FulfILLment ™||FulfILLment is being developed by Equinox Software, Inc. under contract with OHIONET. It is an open source project designed to link library catalogs. When completed in about a year, it will provide library users seamless access to materials owned by libraries using FulfILLment—no matter which integrated library system his or her library uses. The project’s Website is: http://fulfillment-ill.org/.|
|Git||A distributed software revision control system now used by Evergreen. It was developed by Linus Torvalds for Linux kernel development and is free software distributed under the terms of the GNU GPL.. For more information see the Wikpedia entry.|
|GNU||GNU is free software that is a “Unix-like” operating system. The GNU Project was launched in 1984. The project’s Web site is http://www.gnu.org/. More background is found here: http://www.gnu.org/gnu/gnu.html. Wikipedia’s entry: http://en.wikipedia.org/wiki/GNU.|
|GPL||The GNU General Public License is an open source license that is used by Evergreen as well as most open source applications. There are various versions of the GPL and other kinds of open source licenses. The GNU Project’s Website: http://www.gnu.org/. The discussion of its licenses: http://www.gnu.org/licenses/licenses.html. Wikipedia’s article: http://en.wikipedia.org/wiki/GPL.|
|GPLS||Georgia Public Library Service, the state library of Georgia. GPLS administers the PINES network and is where Evergreen was originally developed. Its Website is at: http://www.georgialibraries.org/.|
|ILS||Integrated Library System. Also known as a Library Management System (LMS). Wikipedia’s entry: http://en.wikipedia.org/wiki/Integrated_library_system.|
|IndexData||This firm has been active for 15 years in developing open source software to aid in indexing and searching. Evergreen uses components developed by IndexData including ZOOM, among others. Its Website is at: http://www.indexdata.com/.|
|LMS||Library Management System. Also known as an Integrated Library System (ILS).|
|Linux||An open source operating system used by Evergreen.
The Linux Foundation (http://www.linuxfoundation.org/) maintains Linux.com (http://www.linux.com/.) The Linux Wikipedia entry is at: http://en.wikipedia.org/wiki/Linux and that of the Linux Foundation is: http://en.wikipedia.org/wiki/Linux_Foundation.
|Load Balancing||An integral part of a robust server setup and one used in many Evergreen installations where the use of an array of redundant commodity servers runs best if the workload on the servers is distributed.
“In networking, load balancing is a technique to distribute workload evenly across two or more computers, network links, CPUs, hard drives, or other resources, in order to get optimal resource utilization, maximize throughput, minimize response time, and avoid overload. Using multiple components with load balancing—instead of a single component—may increase reliability through redundancy. The load balancing service is usually provided by a dedicated program or hardware device (such as a multilayer switch or a DNS server).”
|Memcached||“Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.” from: http://memcached.org/.
A factor which can greatly speed up Evergreen searches is by loading the entire database in memory so searches can be done much faster than they could be if the database had to be searched on the hard drives. Memcached is the means by which this mirroring of the database in memory is done.
|migration||If you change ILS vendors, your library’s data will have to be moved from one vendors’ database structures to another’s. Patron, transaction, and bibliographic records will have to be moved. This is normally not a process undertaken lightly. If the data are in a proprietary database, do you own your data so you can migrate them?|
|OpenSRF||Open Service Request Framework (pronounced “open surf.)” This is the software architecture at the core of Evergreen and the FulfILLment consortial borrowing platform. Invented by the developers of Evergreen, OpenSRF provides transparent load balancing, high-availability and abstraction features to applications, allowing developers to focus on functionality instead of infrastructure.|
|open source||Open source is a number of things. It is a class of licenses, a culture, a community, and a way of producing and sharing software. It is not to be confused with free software, although the two movements share many objectives.
In these senses, it is normally distinguished from proprietary licenses or software. Software produced by this method is released under an open source license like the GPL and the source code is freely available. There are a number of open source licenses. Generally, these licenses permit users to adapt, make changes, and improve software. The GPL, used by Evergreen, is a bit stricter than some other open source licenses and, among other things, also requires the adapted software be released through a GPL license.
Open source is relatively new to the library world. One normally speaks of the alternative proprietary vendors as “legacy” or “traditional” vendors.
Additional sources of information on open source software in libraries
Engard, Nicole, Practical Open Source Software for Libraries, (Chandos Publishing, 2010.)
|open source software advantages:||
|open source software disadvantages:||
|OSS||open source software|
|OSS4lib||Website that maintains a listing of free software and systems designed for libraries but is broader than the ILS/LMS focus of this glossary. It was started in 1999. Its Website is at: http://www.oss4lib.org/|
|Perl||“Perl is a highly capable, feature-rich programming language with over 22 years of development.” (http://www.perl.org/.) Perl is used extensively in the Evergreen community.
“Perl is a general-purpose programming language originally developed for text manipulation, but as of 2010 used for a wide range of tasks including system administration, web development, network programming, games, bioinformatics, and GUI development. “The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal).”
|PINES||The Georgia statewide public library resource sharing network. It currently has 51 systems and 280 library outlets. It was the first system to use Evergreen. The PINES catalog searches the largest installation of Evergreen with a 10 million item collection. In 2010, PINES circulated 19 million items.
The PINES web home is at http://pines.georgialibraries.org/.
Sources of information on PINES’s history and background:
A short history 10 Years of PINES provides a retrospective on PINES.
|PostgreSQL||PostgreSQL, commonly shortened to “Postgres,” is a powerful, open source relational database system that is used in Evergreen. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. To learn more about PostgreSQL visit http://www.postgresql.org/.
Wikipedia’s entry: http://en.wikipedia.org/wiki/PostgreSQL
|proprietary software||A method for producing software that is normally distinguished from open source software. Proprietary software is not normally distributed as source code but as compiled programs so that one cannot see what the code does. It would normally be only supported by the company that manufactured it which can lead to vendor lockin. Since users cannot see the code, they cannot easily make permanent improvements or changes in it and have to wait for the next release.|
|proprietary software advantages:||
|proprietary software disadvantages:||
|Red Hat||Red Hat corporation is a company founded in 1993 which supports a major Linux distribution. Red Hat’s Web site is at http://www.redhat.com/ and its Wikipedia entry is:
http://en.wikipedia.org/wiki/Red_Hat. Evergreen is supported on the Red Hat distribution.
|Repository||An online archive for open source software where current and past versions of the software can be found. Popular repositories include SourceForge and Freshmeat.|
|Service Oriented Architecture||A software architecture based on a collection of loosely-coupled, distributed services which communicate and interoperate via agreed standards. OpenSRF is an example of Service Oriented Architecture.|
|source code||“..text written in a computer programming language.”
Source code is written in a human-readable language by software programmers or developers. Before it can be run on computers, it must be compiled into language that these computers can read. Wikipedia has more (http://en.wikipedia.org/wiki/Source_code) including related links.
|Turnkey||Of software, an application or suite of applications that a vendor sets up and all you have to do is turn the key and you are in business.|
|Ubuntu||Ubuntu is a Linux distribution originally begun by a team of developers which worked on the Debian project. The two projects are related. There are Evergreen installations running Ubuntu in production.|
|Vaporware||Software that does not exist…but has been promised.|
|Vendor lockin||If you buy from a proprietary vendor, it is protected from competition for your business by
Thanks to Anoop Atre, Galen Charlton, Jason Etheridge, Nicole Engard, Rogan Hamby, and Glen Holt for many helpful suggestions. They are not, of course, responsible for any errors.