An Evergreen and Open Source Glossary

Introduction

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/.
Brick

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:
http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar

The essay is also available on the Web at Raymond’s Website, although the printed version is easier to read:
http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/

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.

Evergreen has an active community and its Web home is at: http://www.open-ils.org

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 (//see Red Hat below//). 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.

The ejabbered Web page is http://www.process-one.net/en/ejabberd/ and the Wikipedia entry is found at: http://en.wikipedia.org/wiki/Ejabberd.

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 is licensed under the GNUGeneral Public License (GPL).

Evergreen Community
Community Resources

The Evergreen community Website is at: http://www.evergreen-ils.org/.

The community communicates via mailing lists as listed on this page:
http://evergreen-ils.org/listserv.php

and via Internet Relay Chat (IRC) channels. More information can be found here:
http://evergreen-ils.org/irc.php

Evergreen blog aggregator is at Planet Evergreen: http://planet.evergreen-ils.org/

Sources of information on Evergreen history and background:
Georgia Public Library Service, “White Paper: PINES/Evergreen/Equinox,” http://pines.georgialibraries.org/files/WhitePaper-PINES-Evergreen-Equinox-8-09.pdf

Molyneux, Robert, “Evergreen in Context,” American Society for Information Science and Technology, Bulletin, v. 35, no 2, December 2008/January 2009. http://www.asis.org/Bulletin/Dec-08/DecJan09_Molyneux.html

Molyneux, Robert and Mike Rylander, “The State of Evergreen: Evergreen at Three,” Library Review, v. 59, no. 9, 2010, pp, 667-676.

Schaeffer, Steve, “Growing PINES in Georgia,” American Libraries, v. 31, no. 11, December 2000, pp. 54-56.

Stutz, Michael, “Librarians stake their future on open source,” linux.com, December 21, 2006. http://www.linux.com/archive/feature/58836

Weber, Jonathan, “Evergreen: Your Homegrown ILS,“ Library Journal, December 15, 2006. http://www.libraryjournal.com/article/CA6396354.html

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:
http://www.evergreen-ils.org/dokuwiki/doku.php?id=faq:evergreen_companies

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/.
Koha Koha (http://www.koha-community.org/.) is another open source Integrated Library System (ILS). Koha 1.01 was released in 2000 by Horowhenua Library Trust and Katipo Communications, Ltd. Today, thousands of libraries worldwide use Koha. Unlike Evergreen which has a staff client, Koha is completely web-based.
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).”
http://en.wikipedia.org/wiki/Load_balancing_(computing)
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.

The Website of the Open Source Initiative is at http://opensource.org/. The Wikipedia entry: http://en.wikipedia.org/wiki/Open-source_software

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:
  • Easy customization for your own local situation. If there is not much interest in the community for a capability you require, you can develop it on your own or hire someone to add that capability. In addition, the community will have developers who are users which is a good way to get development of practical software.
  • If there are support companies to support an open source application, such applications will have about the same support levels as one finds with vendors of proprietary software. In addition, support options are more varied with open source software as seen in DIY implementations and in the support options available with Evergreen. With open source software, then, you can choose no support, full support, or a la carte support where you pick and choose the level of support you wish
  • As the community grows, it will attract more users who are developers. “given enough eyeballs, all bugs are shallow.” This is Linus’s Law.
  • Fast development - “release early, release often”
  • Cost: it’s free.
open source software disadvantages:
  • Who supports it if you can’t?
  • It’s free—but it may not be cheap.
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.

From Wikipedia’s entry:

“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).”

(http://en.wikipedia.org/wiki/Perl)
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.
Hardy, Elaine, “The Georgia Public Library Service and Georgia’s Public Libraries: A timeline of important events in Georgia public library history.” Georgia Library Quarterly, Summer 2008, pp. 12-18. Includes a full, rich bibliography on PINES and the events leading up to the formation of 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:
  • Supported by the company you buy it from (can be good)
  • Normally turnkey
  • Support and documentation is said to be better than open source.
  • You don’t have to worry your pretty little head about your software.
  • It has, historically, been a successful model. If it weren’t for companies using this model, many libraries would still be using card catalogs. Many of the traditional firms have been in the field for some years, know the library world, and have made contributions to it.
proprietary software disadvantages:
  • Supported by the company you buy it from. This fact can be bad if it is the only option because of potential vendor lockin or it can be good if the company is strong and committed to support and development of its software.
  • Slow development cycle which may have difficulty balancing the requirements of various users. For instance, what happens if your vendor will not develop something you require?
  • Some vendors have been bought by firms that don’t know the library field nor have any particular affinity to it. It often appears that the decision to purchase these library vendors was financial. In these cases at least, support and development have arguably suffered.
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 has been supported on the Red Hat distribution in the past, but as of May 2012 we need contributors to test and support installation and configuration of current versions of Evergreen on current versions of Red Hat.
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.

Staff Client The term "staff client" refers to the relationship of two pieces of software in a client-server architecture. The "staff client" software communicates with the server software. Therefore, the client software is generally that software that is loaded on the end user's machine in order to run the program. With Evergreen, only the staff interface requires a "staff client." The the public interface for Evergreen is commonly referred to as the OPAC and is is completely web-based.
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
  • your multi-year contract,
  • from the challenges of data migration, and
  • the fact that it alone supports the software including development and updates.

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.

faqs/evergreen_and_open_source_glossary.txt · Last modified: 2012/05/03 22:33 by lebbeous
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Debian Driven by DokuWiki

© 2008-2013 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a member of Software Freedom Conservancy.