User Tools

Site Tools


scratchpad

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
scratchpad [2011/06/09 16:05] drdatascratchpad [2022/02/10 13:34] (current) – external edit 127.0.0.1
Line 1: Line 1:
-===this is a test===+====== this is a test ====== 
  
 testing testing
 +[[scratchpad:2012-06-15 This week in]]
 [[#12/15_testing]] [[#12/15_testing]]
  
-====== 12/15 testing ====== +====== 06/17 testing ======
 <html> <html>
 +<head>
 +</head>
 <body> <body>
-<h1>An Evergreen and Open Source Glossary</h1> +<div align="left"> 
-<h2>Introduction</h2>  +<caption class="b"><strong>Contents</strong></caption> 
-<p align="left">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 (“<strong><a href="#proprietary">proprietary</a></strong>”) 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.</p>+<table>
  
-<p align="left">Linked terms in <strong>boldface</stronghave entries in the glossary.</p+<p></p> 
- +<p></p>
-<table border="1" cellspacing="1" cellpadding="2" width="100%" align="left">+
 <tr> <tr>
-<th width="20%" align="left">Apache</th> +<td scope="row"><a href="#what">What is Evergreen</a></td></tr>
-<td width="80%" align="left"><a name="Apache"></a>Apache is <strong><a href="#open_source">open source</a></strong> Web server project that develops and maintains the Web server software used by <strong><a href="#Evergreen">Evergreen</a></strong>. It is the most popular Web server software and is used throughout the Web. The project began in 1994. The Apache software Foundation&#8217;s Web site is <a href="http://httpd.apache.org/">http://httpd.apache.org/</a>+
-</td> +
-</tr> +
 <tr> <tr>
-<th align="left">Brick</th> +<td scope="row"><a href="#history">A Short History of Evergreen</a></td></tr>
-<td><a name="brick"></a><br /> +
-<p>In an <strong><a href="#Evergreen">Evergreen</a></strong> installation, a &#8220;brick&#8221; is a unit consisting of one or more servers. It refers to a set of  servers with <strong><a href="#ejabberd">ejabberd</a></strong>, <strong><a href="#Apache">Apache</a></strong>, and all applicable Evergreen services.  It is possible to run all the software on a single server, creating a  &#8220;single server brick.&#8221;  Typically, larger installations will have more than one such brick and, hence, be more robust.</p> +
- +
-<p>Bricks will vary according to local requirements but small brick might have one &#8220;head&#8221; with (<strong><a href="#ejabberd">ejabberd</a></strong>, <strong><a href="#Apache">Apache</a></strong>, and open-ils.settings) and one or more &#8220;drones&#8221; which will handle general application processing.</p> +
-</td> +
-</tr> +
 <tr> <tr>
-<th align="left">The Cathedral &amp; the Bazaar</th> +<td scope="row"><a href="#SoE">The Growing Evergreen Universe</a></td></tr>
-<td align="left">A book written by Eric S. Raymond (O&#8217;Reilly, 1999). A must read if you are new to <strong><a href="#open_source">open source</a></strong> +
-<p>Librarians who read it and hear the poetry behind the details will realize that open source works very much like we do.</p> +
-<p>Wikipedia has a short discussion of the major principles of open source development in its entry on this book:<br /> +
-<a href="http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar</a></p> +
-<p>The essay is also available on the Web at Raymond&#8217;s Website, although the printed version is easier to read:<br /+
-<href="http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/">http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/</a></p> +
-</td> +
-</tr> +
 <tr> <tr>
-<th align="left">Cloud computing</th> +<td scope="row"><href="#FAQ">What is Open Source Software?</a></td></tr>
-<td align="left"><name="cloud"></a>&#8220;&#8230;Web-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smartphones) on demand over the Internet.&#8221; <a href="http://en.wikipedia.org/wiki/Cloud_computing">http://en.wikipedia.org/wiki/Cloud_computing</a>+
- +
-<p>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 <em>Software as a Service (SaaS)</em> refer to these kinds of services. In this sense, all such hosted solutions used by libraries are cloud computing and <strong><href="#Evergreen">Evergreen</a></strong> 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.</p> +
-</td> +
-</tr> +
 <tr> <tr>
-<th align="left">commit</th> +<td scope="row"><href="#whyOSS">Why Open Source Library Software?</a></td></tr>
-<td align="left"><name="commit"></a>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. +
-</td> +
-</tr> +
 <tr> <tr>
-<th align="left">community</th> +<td scope="row"><a href="#scale">Scaling to Large Installations</a></td></tr>
-<td align="left"><a name="community"></a>In the <strong><a href="#open_source">open source</a></strong> world, there is much talk about the &#8220;community&#8221; 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. +
-<p>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.</p> +
-<p><strong><href="#Evergreen">Evergreen</a></strong> has an active community and its Web home is at: <a href="http://www.open-ils.org">http://www.open-ils.org</a></p> +
-</td> +
-</tr> +
 <tr> <tr>
-<th align="left">compiled</th> +<td scope="row"><a href="#design">Evergreen is Modern Software</a></td></tr>
-<td align="left"><a name="compiled"></a>Describes a program once it has been translated into computer language. It is usually not readable by people. <strong><a href="#proprietary">Proprietary</a></strong> software in the library world will usually only be available in a compiled format. In contrast, <strong><a href="#open_source">open source</a></strong> software is normally available as <strong><a href="#source_code">source code</a></strong> which is downloaded and compiled by its users and modified if required. Hence, the underlying code can be read by the users of <strong><a href="#open_source">open source</a></strong> software and modified to suit their needs, if desired. +
-</td> +
-</tr> +
 <tr> <tr>
-<th align="left">Consortial Library System</th> +<td scope="row"><a href="#EGdevelopment">Development Begins</a></td></tr>
-<td align="left"><a name="CLS"></a>An <strong><a href="#ILS">ILS</a></strong> designed to run consortia. <strong><a href="#Evergreen">Evergreen</a></strong> was the first and is currently the only such system of library software. A 2008 blog post first described this type of system: <a href="http://blog.esilibrary.com/2008/05/19/consortial-library-systems/">Consortial Library Systems</a>+
-</td> +
-</tr> +
 <tr> <tr>
-<th align="left">Debian</th> +<td scope="row"><a href="#EGcommunications">Communications Within the Evergreen Community</a></td></tr
-<td align="left"><a name="Debian"></a>Debian is a computer operating system using the <strong><a href="#Linux">Linux</a></strong> kernel and tools from the <strong><a href="#GNU">GNU project</a></strong>. It is one of the preferred operating systems for Evergreen, the other being <strong><a href="#RedHat">Red Hat</a></strong>. Most development of Evergreen occurs on Debian. With all such development work, of course, the Debian is in the details. +</table></div>
-</td> +
-</tr>+
  
-<tr> +<h1>An Introduction to Evergreen</h1
-<th align="left">DIY</th+<p>The documentation for the Evergreen project is primarily geared towards technical audience&mdash;that is, one which focuses on development, installation, and support of the Evergreen software and the environment it requires to function well.</p
-<td align="left"><name="DIY"></a>Do It Yourself. One of open source advantages is, of coursethat it is free and readily available for download by anyone. A result has been that both <strong><a href="#Evergreen">Evergreen</a></strong> has been adopted by libraries without paying for the software or for support but by staff at libraries learning the systems and installing it.+
  
-<p>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 la carte&mdash;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 &#8220;pay me now, pay me later proposition.&#8221; Howeverwork is going on in both communities to improve documentation and make the DIY process easier.</p>+<p>The purpose of this article is to provide an introduction to Evergreen for general, non-technical audienceAnd from itprovide links to community resources for those wishing both to learn more about Evergreen and to explore the reasons for its success.</p>
  
-<p>Evergreen has a complex infrastructure that sets 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.</p> +<a name="what"></a> 
-</td> +<h2>What is Evergreen?</h2> 
-</tr>+<p>Evergreen is software used to run the back-end processes of libraries. This kind of software is referred to as an &#8220;Integrated Library System&#8221; (ILS) or &#8220;Library Management System.&#8221; Evergreen is unusual in such software for several reasons. Two reasons are key: First, it was designed to run large, geographically-dispersed, resource-sharing networks and, as such, it has been described as <href="http://blog.esilibrary.com/2008/05/19/consortial-library-systems/">Consortial Library System</a>. Evergreen is used to manage processes at individual libraries either as part of a consortium or independently of a consortium when required. Second, Evergreen was developed using open source principles. (Open source development is discussed in more detail <a href="#FAQ">below</a>.) Open source, while relatively new to librariesis a method for developing software that is well-known outside the library world and one which has proved to be a successful model and one that has been used in a number of other areas before being adopted in the library worldMost users of ILS software are familiar with the older &#8220;<a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_and_open_source_glossary#proprietary">proprietary</a>&#8221; model of software development.</p>
  
-<tr> +<p>Consortial software, then, was designed to handle transactions of separate libraries which share some resources. It must be configurable to allow for local variations in practices among the member libraries and Evergreen has been adapted to variety of local requirements. Consortia that share resources find that their users like having access to more materials and they avail themselves of the increased resources. It is a common experience in these libraries to observe a &#8220;<a href="http://blog.esilibrary.com/2011/04/05/the-consortial-effect/">consortial effect</a>&#8221; where such intra-consortial lending increases dramatically.</p
-<th align="left">ejabberd</th> +
-<td align="left"><name="ejabberd"></a>&#8220;<a href="http://www.process-one.net/en/ejabberd/">ejabberd</a> 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.&#8221;  ejabbered is free source software distributed under the <strong><a href="#GNU">GNU</a></strong> <strong><a href="#GPL">GPL</a></strong>It is an application server for the <a href="http://xmpp.org/">eXtensible Messaging and Presence Protocol (XMPP)</a>. ejabbered is used to exchange data in Evergreen.+
  
-<p>The ejabbered Web page is <a href="http://www.process-one.net/en/ejabberd/">http://www.process-one.net/en/ejabberd/</a> and the Wikipedia entry is found at: <a href="http://en.wikipedia.org/wiki/Ejabberd">http://en.wikipedia.org/wiki/Ejabberd</a>.</p+<p>Consortial software must also be able to scale to large installations so the underlying database structure must be robust. The <a href="#scale">ability of Evergreen to handle</a> large installations is discussed further below. Another aspect of scaling is the notion of &#8220;scale economies&#8221; from Economics and we turn now to that concept within the context of consortial software.</p>
-</td> +
-</tr>+
  
-<tr> +<p>In the Google eramaintaining individual libraries is increasingly impractical as a solution to users' information requirementsLarge consortia also gain the benefit of <a href="http://open-ils.org/blog/?p=455">scale economies</a>The most expensive way to provision an ILS is for libraries to purchase the software independently of any other library. Costs per unit go down as installations increase in size. For example, ten small installations can save money by joining consortium and having a single installationThe savings can be dramatic as the size of the libraries joining the group increaseHowever, it should be noted that in resource-sharing consortia, savings from scale economies will often be redeployed to pay for increases in courier services because of the consortial effect&mdash;there is greater demand for library materials when resources are shared within the consortiumFor less money, your libraries will get much more use and they will have happier users.</p>
-<th align="left">Equinox SoftwareInc.</th> +
-<td align="left"><a name="Equinox"></a>The company founded by the developers of <strong><a href="#Evergreen">Evergreen</a></strong>. Its Website is at: <href="http://www.esilibrary.com/">http://www.esilibrary.com/</a> +
-</td> +
-</tr>+
  
-<tr> +<a name="history"></a
-<th align="left">Evergreen</th+<h2>A Short History of Evergreen</h2> 
-<td align="left"><a name="Evergreen"></a>The first <strong><a href="#ILS">ILS</a></strong> designed to handle the processing of geographically dispersed, resource-sharing library networksIt is the first <strong><a href="#CLS">Consortial Library System</a></strong>. Evergreen is the <strong><a href="#open_source">open source</a></strong> software that runs a growing number of libraries and consortiaThe Wikipedia entry gives more information: <a href="http://en.wikipedia.org/wiki/Evergreen_%28software%29">http://en.wikipedia.org/wiki/Evergreen_(software)</a>. It first went live in 2006 in the Georgia <strong><a href="#PINES">PINES</a></strong> consortium.+<p>The Evergreen project began in the US state of Georgia with <a href="http://pines.georgialibraries.org/">PINES</a>, the Georgia resource-sharing library networkPINES began as a Y2K project where a number of Georgia public libraries had outdated software that, it was feared, would not be able properly to handle dates after 1999. Georgia libraries have had a long history of cooperation going back at least to the 1940s and with PINES, the  
 +<a href="http://www.georgialibraries.org/">Georgia Public Library Service</a> (GPLS), the state library of Georgia, used digital means to improve the resource sharing between libraries. <a href="http://pines.georgialibraries.org/files/WhitePaper-PINES-Evergreen-Equinox-8-09.pdf">GPLS whitepaper</a> goes into some detail on the factors involved in the various decisions behind PINES and, later, EvergreenAs mentioned, PINES experienced the &#8220;<a href="http://blog.esilibrary.com/2011/04/05/the-consortial-effect/">consortial effect</a>&#8221; as users of the various libraries discovered a vastly richer set of available library materials. In response, not only did use at each of the libraries increase but also more libraries wanted to join. Eventually, the software used initially for PINES reached a limit and it could not add any more libraries. The software had not been designed for multilibrary consortial environments and it reached the . As the white paper discusses, the decision was made to examine library software market and following that analysis, to develop what became Evergreen in house at GPLS. Given that they were starting from scratch, they designed a system to handle resource-sharing consortia like PINES and the decision was made to use open source prinicples to develop the software. It is also worth noting that the software was designed in a library and with the active cooperation from the library community in Georgia.</p
  
-<p>Evergreen is licensed under the <strong><a href="#GNU">GNU</a></strong>General Public License (<strong><a href="#GPL">GPL</a></strong>).</p+<p>More links to sources on the history of Evergreen can be found under the heading of the <a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_and_open_source_glossary#EGCommunity">Evergreen Community</a> in the <cite>Evergreen and Open Source Glossary</citefor those who wish to learn more of Evergreen's beginningsWhat happened after the first PINES libraries went live with Evergreen over the US Labor Day weekend in September of 2006?</p>
-</td> +
-</tr>+
  
-<th align="left">Evergreen Community</th> +<a name="SoE"></a> 
-<td align="left"><a name="EGCommunity"></a><br /+<h2>The Growing Evergreen Universe</h2
-<strong>Community Resources</strong><br /+<p>Two tables here give summary data illustrating the growth of the Evergreen community. Table 1 gives count of types of libraries over time.</p>
-<p>The Evergreen community Website is at: <a href="http://www.evergreen-ils.org/">http://www.evergreen-ils.org/</a>.</p>+
  
-<p>The community communicates via mailing lists as listed on this page:<br /> +<p>The column heads may not be clear. &#8220;EG@0&#8221; presents the data on the day Evergreen first went live in 2006There were 45 library systems and GPLS was the state library. &#8220;EG@1&#8221; is the cumulative count on the first anniversary of Evergreen's going live in PINES The cumulative total of public libraries was then 47 as two more library systems joined in that year. &#8220;EG@2&#8221; gives summary data on Evergreen's second birthday15 more public libraries went live on Evergreen and one academic libraryAnd each year since thenthere have been more libraries and more of various types joining the communityThe last column, &#8220;EG@4 9th month&#8221; gives cumulative totals through June2011.</p>
-<a href="http://evergreen-ils.org/listserv.php">http://evergreen-ils.org/listserv.php</a></p> +
- +
-<p>and via Internet Relay Chat (IRC) channels. More information can be found here:<br /> +
-<a href="http://evergreen-ils.org/irc.php">http://evergreen-ils.org/irc.php</a></p> +
- +
-<p>Evergreen blog aggregator is at Planet Evergreen: <a href="http://planet.evergreen-ils.org/">http://planet.evergreen-ils.org/</a></p> +
- +
-<p><strong>Sources of information on Evergreen history and background:</strong><br /> +
-Georgia Public Library Service, &#8220;White Paper: PINES/Evergreen/Equinox,&#8221; <a href="http://pines.georgialibraries.org/files/WhitePaper-PINES-Evergreen-Equinox-8-09.pdf">http://pines.georgialibraries.org/files/WhitePaper-PINES-Evergreen-Equinox-8-09.pdf</a><br /> +
-<br /> +
-Molyneux, Robert, &#8220;Evergreen in Context,&#8221; <cite>American Society for Information Science and Technology, Bulletin</cite>, v35, no 2, December 2008/January 2009. <a href="http://www.asis.org/Bulletin/Dec-08/DecJan09_Molyneux.html">http://www.asis.org/Bulletin/Dec-08/DecJan09_Molyneux.html</a><br /> +
-<br /> +
-Molyneux, Robert and Mike Rylander, &#8220;The State of Evergreen: Evergreen at Three,&#8221; <cite>Library Review</cite>, v59, no. 9, 2010, pp, 667-676.<br /> +
-<br /> +
-Schaeffer, Steve, &#8220;Growing PINES in Georgia,&#8221; <cite>American Libraries</cite>, v31, no11December 2000, pp54-56.<br /> +
-<br /> +
-Stutz, Michael, &#8220;Librarians stake their future on open source,&#8221; <cite>linux.com</cite>December 21, 2006<a href="http://www.linux.com/archive/feature/58836">http://www.linux.com/archive/feature/58836</a><br /> +
-<br /> +
-Weber, Jonathan, &#8220;Evergreen: Your Homegrown ILS,&#8220; <cite>Library Journal</cite>, December 15, 2006. <a href="http://www.libraryjournal.com/article/CA6396354.html">http://www.libraryjournal.com/article/CA6396354.html</a></p+
- +
-<p>As well as numerous blog posts. Planet Evergreen: <a href="http://planet.evergreen-ils.org/">http://planet.evergreen-ils.org/</a> is probably the best source for these posts.</p> +
-</td> +
-</tr>+
  
 +<a name="Table1"></a>
 +<div align="center">
 +<table border="1" cellpadding="2" cellspacing="0" width="500">
 +<caption><strong>Table 1: Cumulative Totals for Evergreen Systems by Year, by Type</strong></caption>
 <tr> <tr>
-<th align="left">Evergreen Superconsortium</th> +<th>&nbsp;</th> 
-<td align="left"><a name="Superconsortium"></a>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 &#8220;Superconsortium.&#8221; 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. +<th>EG@0</th> 
- +<th>EG@1</th
-<p>The original post is here: <a href="http://evergreen-ils.org/blog/?p=339">http://evergreen-ils.org/blog/?p=339</a>.</p+<th>EG@2</th> 
-</td>+<th>EG@3</th> 
 +<th>EG@4</th
 +<th>EG@4,<br />9th month</th>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">Evergreen Support options</th> +<th align="left">Public</th> 
-<td align="left"><a name="EGsupport"></a><br /+<td align="right">45</td> 
-<strong><a href="#Evergreen">Evergreen</a></strong>, being open source, does not have one support company which handles all support so users are not subject to <strong><a href="#vendor_lockin">vendor lockin</a></strong>. A list of firms supporting Evergreen is kept on the Evergreen wiki:<br /+<td align="right">47</td
-<a href="http://www.evergreen-ils.org/dokuwiki/doku.php?id=faq:evergreen_companies">http://www.evergreen-ils.org/dokuwiki/doku.php?id=faq:evergreen_companies</a+<td align="right">62</td> 
-<p>Free support is also available via the <a href="#EGCommunity">community resources</a> listed with the entry on Evergreen.</p> +<td align="right">126</td
-</td>+<td align="right">202</td
 +<td align="right">420</td>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">Fork</th> +<th align="left">Academic</th> 
-<td align="left"><a name="fork"></a>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 <a href="http://en.wikipedia.org/wiki/Fork_(software_development)">&#8220;schism.&#8221;</aUsually 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 <a href="http://meatballwiki.org/wiki/RightToFork">source of strength</aor weakness in open source development. Schisms are seen in other aspects  of human activity, such as religion. +<td align="right">0</td> 
- +<td align="right">0</td> 
-<p><a href="http://www.catb.org/jargon/html/F/fork.html">Jargon File</aargues that forks are rare and, hence, the &#8220;individual instances look large in hacker folklore.&#8221;</p> +<td align="right">1</td> 
-</td>+<td align="right">10</td
 +<td align="right">13</td> 
 +<td align="right">22</td>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">FOSS or FLOSS</th> +<th align="left">K12</th> 
-<td align="left"><a name="FLOSS"></a><strong>F</strong>ree (<strong>L</strong>ibre) <strong><a href="#open_source"><strong>O</strong>pen <strong>S</strong>ource</a></strong> <strong>S</strong>oftware. Also called <strong><a href="#OSS">&#8220;OSS&#8221;</a></strong>+<td align="right">0</td> 
-</td>+<td align="right">0</td> 
 +<td align="right">0</td> 
 +<td align="right">2</td> 
 +<td align="right">5</td> 
 +<td align="right">27</td>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">Free software</th> +<th align="left">State Libraries</th> 
-<td align="left"><a name="Free"></a>Free software is not to be confused with <strong><a href="#open_source">open source</a></strong> software although the two often have similar objectives, they do not always. +<td align="right">1</td> 
- +<td align="right">1</td
-<p>See <cite>the Free Software Definition</cite> at <a href="http://www.gnu.org/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a> for a discussion of the philosophy behind free software.</p> +<td align="right">1</td
- +<td align="right">2</td> 
-<p>For a discussion of the differences in philosophy between Free software and <strong><a href="#open_source">open source</a></strong> software, see <cite>Why Open Source misses the point of Free Software</cite> at <a href="http://www.gnu.org/philosophy/open-source-misses-the-point.html">http://www.gnu.org/philosophy/open-source-misses-the-point.html</a>. The Wikipedia entry for the Free software movement is at: <a href="http://en.wikipedia.org/wiki/Free_software_movement">http://en.wikipedia.org/wiki/Free_software_movement</a>.</p> +<td align="right">3</td> 
-</td>+<td align="right">4</td>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">FUD</th> +<th align="left">Special Libraries</th> 
-<td align="left"><a name="FUD"></a>Fear, Uncertainty, Doubt. Do you want to trust your library&#8217;s functions to open source software written by a bunch of tattooed, dope-smoking hippies with orange hair? +<td align="right">0</td> 
- +<td align="right">0</td
-<p>FUD, as the example above might demonstrate, has been a useful marketing tool for sellers of proprietary software but with the growth of the <strong><a href="#Evergreen">Evergreen</a></strongand 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.</p+<td align="right">0</td> 
-</td>+<td align="right">21</td> 
 +<td align="right">28</td
 +<td align="right">38</td>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">FulfILLment &#8482;</th> +<th align="left">Systems</th> 
-<td align="left"><a name="FulfILLment"></a>FulfILLment is being developed by <strong><a href="#Equinox">Equinox Software, Inc.</a></strong> under contract with <a href="http://www.ohionet.org/">OHIONET</a>. 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&mdash;no matter which integrated library system his or her library uses. The project&#8217;s Website is: <a href="http://fulfillment-ill.org/">http://fulfillment-ill.org/</a>. +<td align="right">46</td> 
-</td>+<td align="right">48</td> 
 +<td align="right">64</td> 
 +<td align="right">160</td> 
 +<td align="right">251</td
 +<td align="right">511</td>
 </tr> </tr>
 +</table>
 +</div>
  
-<tr> +<p>The second table gives totals for the number of consortia and independent systems running Evergreen. As observed above, Evergreen is the first library system designed from the ground up to be consortial library system and, as the reader can see, Evergreen has been adopted by consortia in increasing numbers with more on the wayMost of these consortia are state or province wide and most are large and growing.</p>
-<th align="left">Git</th> +
-<td align="left"><a name="Git"></a>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 <href="#GPL">GNU GPL.</a>. For more information see the <a href="http://en.wikipedia.org/wiki/Git_%28software%29">Wikpedia</a> entry. +
-</td> +
-</tr>+
  
 +<a name="Table2"></a>
 +<div align="center">
 +<table border="1" cellpadding="2" cellspacing="0" width="500">
 +<caption><strong>Table 2: Other Cumulative Totals for Evergreen Systems by Year</strong></caption>
 <tr> <tr>
-<th align="left">GNU</th> +<th>&nbsp;</th> 
-<td align="left"><a name="GNU"></a>GNU is <strong><a href="#Free">free software</a></strongthat is a &#8220;Unix-like&#8221; operating system. The GNU Project was launched in 1984. The project&#8217;s Web site is <a href="http://www.gnu.org/">http://www.gnu.org/</a>. More background is found here: <a href="http://www.gnu.org/gnu/gnu.html">http://www.gnu.org/gnu/gnu.html</a>. Wikipedia&#8217;s entry: <a href="http://en.wikipedia.org/wiki/GNU">http://en.wikipedia.org/wiki/GNU</a>+<th>EG@0</th> 
-</td>+<th>EG@1</th> 
 +<th>EG@2</th> 
 +<th>EG@3</th> 
 +<th>EG@4</th> 
 +<th>EG@4,<br />9th month</th>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">GPL</th> +<th align="left">Consortia</th> 
-<td align="left"><a name="GPL"></a>The GNU General Public License is an <strong><a href="#open_source">open source</a></strong> license that is used by <strong><a href="#Evergreen">Evergreen</a></strong> as well as most open source applications. There are various versions of the GPL and other kinds of open source licenses. The GNU Project&#8217;s Website: <a href="http://www.gnu.org/">http://www.gnu.org/</a>. The discussion of its licenses: <a href="http://www.gnu.org/licenses/licenses.html">http://www.gnu.org/licenses/licenses.html</a>. Wikipedia&#8217;s article: <a href="http://en.wikipedia.org/wiki/GPL">http://en.wikipedia.org/wiki/GPL</a>+<td align="right">1</td> 
-</td>+<td align="right">1</td> 
 +<td align="right">4</td> 
 +<td align="right">10</td> 
 +<td align="right">13</td> 
 +<td align="right">18</td>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">GPLS</th> +<th align="left">Independent systems</th> 
-<td align="left"><a name="GPLS"></a>Georgia Public Library Service, the state library of Georgia. GPLS administers the <strong><a href="#PINES">PINES</a></strong> network and is where <strong><a href="#Evergreen">Evergreen</a></strong> was originally developed. Its Website is at: <a href="http://www.georgialibraries.org/">http://www.georgialibraries.org/</a>. +<td align="right">0</td> 
-</td>+<td align="right">0</td> 
 +<td align="right">3</td> 
 +<td align="right">8</td> 
 +<td align="right">16</td
 +<td align="right">20</td>
 </tr> </tr>
  
 <tr> <tr>
-<th align="left">ILS</th> +<th align="left">States/provinces<br />with Evergreen<br />Libraries</th> 
-<td align="left"><a name="ILS"></a>Integrated Library System. Also known as a <em>Library Management System (LMS)</em>. Wikipedia&#8217;s entry: <a href="http://en.wikipedia.org/wiki/Integrated_library_system">http://en.wikipedia.org/wiki/Integrated_library_system</a>. +<td align="right">1</td> 
-</td>+<td align="right">1</td> 
 +<td align="right">7</td> 
 +<td align="right">16</td> 
 +<td align="right">22</td
 +<td align="right">28</td>
 </tr> </tr>
 +</table>
 +</div>
  
-<tr> +<p>As of this writing, then, Evergreen is being used in more than 500 library systems with just over 950 branchesAll but one of these systems are in the US or Canada. </p
-<th align="left">IndexData</th> +
-<td align="left"><a name="IndexData"></a>This firm has been active for 15 years in developing open source software to aid in indexing and searching. <strong><a href="#Evergreen">Evergreen</a></strong> uses components developed by IndexData including ZOOM, among others. Its Website is at: <a href="http://www.indexdata.com/">http://www.indexdata.com/</a>+
-</td> +
-</tr>+
  
-<tr+<p
-<th align="left">LMS</th> +There are two additional sources of information on the growing Evergreen community. One is a <a href="http://www.open-ils.org/dokuwiki/doku.php?id=evergreen_libraries">list of the Evergreen libraries</a> found elsewhere on this wiki and the second are <a href="http://www.molyneux.com/EGmaps/">two Google maps</a>One of these maps is in order by the various consortia and the second is in order by the date the libraries migrated to Evergreen. Google Maps has the ability to animate the growth of the community if you like. The directions on the page will tell you how.</p>
-<td align="left"><a name="LMS"></a>Library Management System. Also known as an <strong><a href="#ILS">Integrated Library System (ILS)</a></strong>. +
-</td> +
-</tr>+
  
-<tr> +<p>One of the themes of this article is to investigate the reasons for Evergreen's success as illustrated by the numbers in the two tables above. There are several discussed so far: the fact that Evergreen was designed to handle the transactions of consortial systems was certainly important as was the fact that the first code was written in library and with the active participation of the Georgia public library community. The fact that Evergreen is robust and designed for consortia meant that Evergreen can handle large systems at time when the value of this functionality became clear to librarians. The fact that librarians were involved in the design meant that the software was easy to use. Another important factor is that Evergreen has been developed using open source principles.</p>
-<th align="left">Linux</th> +
-<td><a name="Linux"></a>An <strong><a href="#open_source">open source</a></strong> operating system used by <strong><href="#Evergreen">Evergreen</a></strong>.+
  
-<p>The Linux Foundation (<a href="http://www.linuxfoundation.org/">http://www.linuxfoundation.org/</a>) maintains Linux.com (<a href="http://www.linux.com/">http://www.linux.com/</a>.) The Linux Wikipedia entry is at: <href="http://en.wikipedia.org/wiki/Linux">http://en.wikipedia.org/wiki/Linux</aand that of the Linux Foundation is: <a href="http://en.wikipedia.org/wiki/Linux_Foundation">http://en.wikipedia.org/wiki/Linux_Foundation</a>.</p+<a name="FAQ"></a> 
-</td> +<h2>What is Open Source Software?</h2> 
-</tr>+<p>The term &#8220;open source&#8221; refers to method for developing softwareAlthough relatively recent addition to the library world, open source methods have been used for some time and, in fact, once understood by librarians, they will see the similarities with normal library practice. One is the cooperative nature of the &#8220;community&#8221; of users of Evergreen.</p> 
  
-<tr> + <p>If you are new to open source, two good places to start for more information are elsewhere on the Evergreen wiki: the <a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_faq_3"><cite>Open Source Software FAQ</cite></ais one and the <a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_and_open_source_glossary"><cite> Evergreen and Open Source Glossary</cite></a> is another. The glossary attempts to define the terms most commonly encountered in the open source world but also provides a number of links to more information for those wishing to gain deeper understanding of how open source development works and to contrast it with the traditional model. A reader new to open source software in libraries would likely find the glossary entry for <a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_and_open_source_glossary#open_source">Open Source</a> itself interesting  along with the next two entries: one on the advantages and the other on the disadvantages of open source software.</p>
-<th align="left">Load Balancing</th> +
-<td><name="Loadbalancing"></a>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.+
  
-<blockquote>&#8220;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&mdash;instead of a single component&mdash;may increase reliability through redundancyThe load balancing service is usually provided by dedicated program or hardware device (such as a multilayer switch or a DNS server).&#8221;<br /> +<p>One clear distinction with open source software is that the software itself&mdash;the code&mdash;is readily available for free and can be changed and adapted to suit local requirementsIn addition, no one company owns the code so that there are often number of companies supporting the software and they will compete for your businessIf you are unhappy with your relationship with one firm, you can find another. A <a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_companies">list of companies supporting Evergreen</a> is on this wiki.</p>
-<a href="http://en.wikipedia.org/wiki/Load_balancing_(computing)">http://en.wikipedia.org/wiki/Load_balancing_(computing)</a></blockquote> +
-</td> +
-</tr>+
  
-<tr> +<p>The traditional model for library software relied on companies which used  &#8220;<a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_and_open_source_glossary#proprietary">proprietary</a>&#8221methods. The entry in the glossary for <a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_and_open_source_glossary#proprietary">proprietary software</a> and the next two entries on the advantages of proprietary software as well as its disadvantages are similar in structure to those cited above for open source advantages and disadvantages.</p>
-<th align="left">Memcached</th> +
-<td><a name="memchached"></a>&#8220;Free &amp; 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.&#8221; from: <a href="http://memcached.org/">http://memcached.org/</a>.+
  
-<p>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 drivesMemcached is the means by which this mirroring of the database in memory is done.</p+<p>With this older model for software development, companies owned the software, developed and supported it, and users could not see the code nor could they change it to fit local practices. Normally, one company could support and develop the software which meant that libraries were locked into the one vendor whose software was protected from copying or adapting. With open source software, you can pick another support vendor or use multiple vendors for different functions if that is your preference. In fact, there are a number of libraries which use their own resources to support their installation and do not rely on one of the support companiesOne finds a good deal of variation in support options in the Evergreen universe as a result of libraries not being locked into what is, functionally, a monopoly supplier under the traditional model. With open source, no company owns the software. Who owns the software if no one does? In this case, the community of users owns the software. There is a great deal of talk about the &#8220;community&#8221; among the users and developers of Evergreen&mdash;that is, the people in its community.</p>
-</td> +
-</tr>+
  
-<tr> +<p>As important as the freedom open source software gives users, the freedom to develop and work on enhancements to the software is no less important. Open source software development is rapid and practical because the software is cooperatively developed by the community of its users. They see the software in use and they can change things that don't work or suggest changes rather than relying on company to develop functions at the next upgrade cycle. In open sourceone saying heard frequently is: &#8220;release earlyrelease often.&#8221;. Another is &#8220;working code wins.&#8221; These two sayings illustrate that the goal is fastworking code. A third: &#8220;scratching an itch&#8221; refers to a fact of open source development because most development is directed at solving real, practical problems, not theoretical problems.</p>
-<th align="left">migration</th> +
-<td align="left"><a name="migration"></a> If you change <strong><href="#ILS">ILS</a></strong> vendorsyour library&#8217;s data will have to be moved from one vendors&#8217database structures to another&#8217;sPatrontransaction, and bibliographic records will have to be moved. This is normally not a process undertaken lightlyIf the data are in a <strong><a href="#proprietary">proprietary</a></strong> database, do you own your data so you can migrate them? +
-</td> +
-</tr>+
  
-<tr> +<p>While open source software is free to download and install, that does not mean there are no costsIn the case with Evergreen, it is complex software requiring skilled administrators and support, but you will not pay for functions in the software already developed elsewhere. Given the complexity of the software and the requirement for technically knowledgeable staff, while the software may be free but it is not always cheapCost savings normally occur because factors such as the scale economies discussed earlier and as a result of savings that result in not having to pay for maintenance contracts as with proprietary vendors.</p>
-<th align="left">OpenSRF</th> +
-<td align="left"><em><a name="OpenSRF"></a>Open Service Request Framework</em> (pronounced &#8220;open surf.)&#8221; This is the software architecture at the core of <strong><a href="#Evergreen">Evergreen</a></strong> and the <strong><a href="#FulfILLment">FulfILLment</a></strong> consortial borrowing platformInvented 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. +
-</td> +
-</tr>+
  
-<tr> +<p>Recently, a new kind of cooperative development has taken hold that follows from the open source software development environment. It has been called the  &#8220;<a href="http://open-ils.org/blog/?p=339">Evergreen Superconsortium.</a>&#8221; In consortium, a library may give up some autonomy in exchange for richer environment for that library's users. What is happening in the Evergreen community is cooperation between consortia where they work together to pay for and develop functionality for Evergreen. Development costs will be lower for each participant and the functionality being developed will be for broader audience. Superconsortial development is increasingly becoming an important part of the community's development practices.</p>
-<th align="left">open source</th> +
-<td align="left"><a name="open_source"></a>Open source is number of things. It is a class of licenses, a culture, a communityand a way of producing and sharing softwareIt is not to be confused with <strong><a href="#Free">free software</a></strong>, although the two movements share many objectives.+
  
-<p>In these senses, it is normally distinguished from <strong><a href="#proprietary">proprietary</a></strong> licenses or software. Software produced by this method is released under an open source license like the <strong><a href="#GPL">GPL</a></strong> and the <strong><a href="#source_code">source code</a></strong> is freely available. There are a number of open source licenses. Generally, these licenses permit users to adapt, make changes, and improve software. The <strong><a href="#GPL">GPL</a></strong>used by <strong><a href="#Evergreen">Evergreen</a></strong>, is a bit stricter than some other open source licenses and, among other things, also requires the adapted software be released through a <strong><a href="#GPL">GPL</a></strong> license.</p>+<p>While open source development has proven to be rapid and practicalthere were other forces which encouraged libraries to use open source methods.</p>
  
-<p>The Website of the Open Source Initiative is at <a href="http://opensource.org/">http://opensource.org/</a>. The Wikipedia entry: <a href="http://en.wikipedia.org/wiki/Open-source_software">http://en.wikipedia.org/wiki/Open-source_software</a></p>+<a name="whyOSS"></a> 
 +<h2>Why Open Source Library Software?</h2> 
 +<p>There are at least two wellsprings of the current open source projects in the library worldOne is that the traditional model, which had been largely successful, was increasingly strainedMany of the vendors were being sold and resold and moving from being owned by people with a library background to those with a background in finance and investmentThis development was occurring at the time when many of these software products were old and in need of substantial revision to better handle the new information technologies in common use in libraries. If software was originally developed before the Internet or any such newer technology, then the capabilities of using these technologies can be added but often in awkward ways.</p>
  
-<p>Open source is relatively new to the library world. One normally speaks of the alternative <strong><a href="#proprietary">proprietary</a></strong> vendors as &#8220;legacy&#8221or &#8220;traditional&#8221vendors.</p>+<p>The second wellspring is a characteristic of the structure of the library world: there are few well-financed and large libraries and many small and underfunded librariesThis is a consistent fact of the library world. If your company is selling software, are you going to aim to sell to the libraries with more money or those with less? This point is <a href="http://www.asis.org/Bulletin/Dec-08/DecJan09_Molyneux.html">elaborated elsewhere</a> . On the other hand, if you are a library director who wants the capabilities of good software for your library's users and staff but you can't afford expensive but capable software&#8230;what are your choices? Both of the two major open source ILSs&mdash;Evergreen and Koha&mdash;started out as projects with small public libraries. Evergreen specialized in the consortial approach&mdash;small libraries joined together to share resources&mdash;while Koha was developed for small public libraries operating independently. Each has grown well beyond its beginnings, however.</p>
  
-<p><strong>Additional sources of information on open source software in libraries</strong></p+<a name="scale"></a> 
-<p>Engard, Nicole, <cite>Practical Open Source Software for Libraries</cite>, (Chandos Publishing2010.)</p> +<h2>Scaling to Large Installations</h2
-</td> +<p>Evergreen is used in a number of small installations and will run on laptops when necessary but it also runs a few quite large installations. One report that has been published each of the last five years illustrates with summary data this point. PINES' busiest day is the day after the US Memorial Day (usually in late May). The <a href="http://open-ils.org/blog/?p=573">latest report</acan be consulted for details butbriefly116,000 items were checked out that day by PINES libraries, and 97,000 were returned for over 200,000 circulation transactions that day During the busiest hour, 13,000 items were checked out. During the busiest minute, 319 items circulated and the busiest second: 18. Moreover, these numbers were down from last year. The latest figures we have for PINES annual circulation (only check outs but not check ins in this reporting sourcereport it at 19 million. <a href="http://www.kcls.org/">King County Library System's</a51 branches circulated over 20 million and although their totals for that day are lower than those of PINES, they are still impressive.</p>
-</tr>+
  
-<tr> +<p>What is it about Evergreen that makes it this flexible? We will now take brief sojourn into Evergreen's structure and its development to address this questionThis is not a detailed explanation but is first approximation for the non-technical reader to which this article is addressed. Readers with deeper technical interest are encouraged to join the <a href="#EGcommunications">various mail lists and IRC channels</a> listed below in the discussion of &#8220;Communications Within the Evergreen Community.&#8221; These readers will also find the <a href="http://www.evergreen-ils.org/documentation.php">Evergreen documentation</a> which is undergoing continuous revision.</p>
-<th align="left"><name="open_source_advantages"></a>open source software advantages:</th> +
-<td align="left"> +
-<ul> +
-<li> Easy customization for your own local situationIf there is not much interest in the <strong><href="#community">community</a></strong> 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.</li> +
-<li> If there are support companies to support an <strong><a href="#open_source">open source</a></strong> application, such applications will have about the same support levels as one finds with vendors of <strong><a href="#proprietary">proprietary</a></strong> software. In addition, support options are more varied with open source software as seen in <strong><a href="#DIY">DIY</a></strong> implementations and in the support options available with <strong><a href="#EGsupport">Evergreen</a></strong>. 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</li> +
-<li> As the community grows, it will attract more users who are developers. &#8220;given enough eyeballs, all bugs are shallow.&#8221; This is <a href="http://en.wikipedia.org/wiki/Linus%27s_Law">Linus&#8217;s Law</a>.</li> +
-<li> Fast development - &#8220;release early, release often&#8221;</li> +
-<li> Cost: it&#8217;s free.</li> +
-</ul> +
-</td> +
-</tr>+
  
-<tr> +<a name="design"></a> 
-<th align="left">open source software disadvantages:</th> +<h2>Evergreen is Modern Software</h2
-<td align="left"><a name="open_source_disadvantages"></a> +<p>Any large piece of software has a design architecture: how it organizes its elements, what tools it uses, that is, how it does what it does. The design architecture, in turn, is a function of various factors, the two most important being system architecture and computer costs.</p>
-<ul> +
-<li> Who supports it if you can&#8217;t?</li+
-<liIt&#8217;s free&mdash;but it may not be cheap.</li> +
-</ul> +
-</td> +
-</tr>+
  
-<tr> +<p>Many versions of old software still litter the ILS ecosystem. The software that first ran PINES began development in the era when mainframes ruled the earth. This legacy software has been adapted and changed and added to over the years. Elements had been bolted on and kludged, but, it is fact that updating old, deployed software has proven to be an almost impossible task almost every time it has been tried. There are thousand problems&mdash;the older the software, the greater the number of problems&mdash;and what most vendors of library software have done is start over using the more modern updated practices of the time.</p
-<th align="left">OSS</th> +
-<td align="left"><name="OSS"></a><strong><a href="#open_source"></a>open source</strong> software</td> +
-</tr>+
  
-<tr> +<p>When the original PINES software was developed, computers were immensely expensive and software comparatively primitive. Better practices and more capable small computers existed when Evergreen was envisioned, and the developers used more modern software development processes to run on more capable computers that no longer cost million dollars each to buy. An examination of alternatives in the market found none that had the capabilities necessary to run PINES then or in the futureWhat was Georgia to do? Limit PINES? Give up and abandon policy direction it had followed so consistently, for so long, and that had produced such benefits? Over software?</p
-<th align="left">OSS4lib</th> +
-<td align="left"><a name="OSS4lib"></a> Website that maintains a listing of free software and systems designed for libraries but is broader than the <strong><href="#ILS">ILS/LMS</a></strong> focus of this glossaryIt was started in 1999. Its Website is at: <href="http://www.oss4lib.org/">http://www.oss4lib.org/</a></td> +
-</tr>+
  
-<tr> +<p>After much discussion, GPLS embarked on revolutionary path&mdash;an open sourceconsortial library system to run PINES and to grow with it.</p>
-<th align="left">Perl</th> +
-<td align="left"><name="Perl"></a>&#8220;Perl is a highly capablefeature-rich programming language with over 22 years of development.&#8221; (<a href="http://www.perl.org">http://www.perl.org/</a>.) Perl is used extensively in the Evergreen community.+
  
-<p>From Wikipedia&#8217;s entry: +<a name="EGdevelopment"></a
-<blockquote>&#8220;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.</p> +<h2>Development Begins</h2> 
-&#8220;The language is intended to be practical (easy to useefficientcomplete) rather than beautiful (tiny, elegant, minimal).&#8221;<br /> +<p>Work began on Evergreen mid-2004. The later a software system is developed, the more modern practices can be used in that development. Evergreenfor instancewas Web-aware and used <a href="http://en.wikipedia.org/wiki/Unicode">Unicode</a> for text storage and representation from the beginningTo implement these capabilities, Evergreen did not require the costly and difficult rewrites to the foundational code necessary for ILSs that had their basic code written before Unicode had been developedUnicode is important because it allows system to handle non-Roman scripts, including characters in Chinese and Arabic.</p>
-<br />(<a href="http://en.wikipedia.org/wiki/Perl">http://en.wikipedia.org/wiki/Perl</a>)</blockquote></p+
-</td> +
-</tr>+
  
-<tr> +<h3>Technology - The Underlying Software Architecture*</h3
-<th align="left">PINES</th+<p>Evergreen uses a <a href="http://en.wikipedia.org/wiki/Service-oriented_architecture">service-oriented architecture</a> (SOA) with <a href="http://en.wikipedia.org/wiki/REST">representational state transfer</a> (REST) and &#8220;n-tier&#8221; &#8220;<a href="http://en.wikipedia.org/wiki/Multitier_architecture">multiier&#8221; architectural</a> design concepts. Let us explore these concepts bit.</p>
-<td align="left"><name="PINES"></a>The Georgia statewide public library resource sharing network. It currently has 51 systems and 280 library outlets. It was the first system to use <strong><a href="#Evergreen">Evergreen</a></strong>. The <a href="http://gapines.org/opac/en-US/skin/default/xml/index.xml">PINES catalog</a> searches the largest installation of Evergreen with 10 million item collection. In 2010, PINES circulated 19 million items.+
  
-<p>The PINES web home is at <a href="http://pines.georgialibraries.org/">http://pines.georgialibraries.org/</a>.</p>+<p>The development philosophy behind these elements is that software is based on distributed services that communicate and collaborate through a set of standards, that is, it should be &#8220;service oriented.&#8221; In Evergreen, the open scalable request framework (<a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_and_open_source_glossary#OpenSRF">(OpenSRF)</a>, pronounced “&#8220;open surf&#8221;) is such an SOA framework.</p> 
  
-<p><strong>Sources of information on PINES’history and background:</strong></p>+<p>OpenSRF is, in many ways, the key to Evergreen because it does so many things. OpenSRF provides load balancing and is robust and scalable. It also allows the development of software without requiring a detailed knowledge of Evergreen'structure. In effect, the Evergreen layer consists of a number of applications each of which rides on top of OpenSRF. The result is that the developer need only know the APIs and what information the program elements require and what they will reply to write new capabilities into Evergreen. OpenSRF handles the details of implementing a stateful, decentralized service architecture while the Evergreen code supplies the interface and business logic. <a href="http://www.evergreen-ils.org/opensrf.php">OpenSRF</ais now a separate open source project.</p>
  
-<p>A short history <cite><a href="http://pines.georgialibraries.org/10-years-pines">10 Years of PINES</a></cite> provides retrospective on PINES.<br /> +<p>Networking follows a design philosophy that is often introduced to students with the <a href="http://en.wikipedia.org/wiki/OSI_model">OSI Reference Model</a>. The model describes seven layers that pass information among each other to provide network services in manner similar to what one finds with SOA“N-tier” application architecture is a related idea where the tiers communicate and collaborate with each other by established standards. We see these operations in our daily lives. Iffor examplea new version of Firefox comes out, we can change the old version for the new one without changing the operating system or reformatting our hard drivesWe usually do not even have to reboot. Why? Because of the underlying architecture where each program communicates with the other parts of the network software by established rules &mdash;application programming interfaces (APIs)&mdash;that specify how the various elements involved exchange needed information. Soto change a part or one tier does not require a massive rewrite of the entire codejust what needs to be adjustedAs mentionedthe Evergreen middle layer rides on top of OpenSRF, and the user interfaces (the OPAC and staff client) ride on top of Evergreen.</p> 
-HardyElaine&#8220;The Georgia Public Library Service and Georgia’s Public Libraries: A timeline of important events in Georgia public library history.&#8221<cite>Georgia Library Quarterly</cite>Summer 2008pp. 12-18Includes a fullrich bibliography on PINES and the events leading up to the formation of PINES.</p+
-</td> +
-</tr>+
  
-<tr> +<p>In shortREST is a set of principles that establishes an architectural style for largescalable applications.</p
-<th align="left">PostgreSQL</th> +
-<td align="left"><a name="Postgres">PostgreSQL</a>, commonly shortened to &#8220;Postgres,&#8221; is a powerful, <strong><a href="#open_source">open source</a></strong> relational database system that is used in <strong>Evergreen</strong>. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliabilitydata integrity, and correctnessTo learn more about PostgreSQL visit <a href="http://www.postgresql.org/">http://www.postgresql.org/</a>.+
  
-<p>Wikipedia&#8217;s entry: <a href="http://en.wikipedia.org/wiki/PostgreSQL">http://en.wikipedia.org/wiki/PostgreSQL</a></p> +<p>Evergreen also uses other open source projects&mdash;there are no proprietary pieces in Evergreen&mdash;to supply needed functionality. One advantage of open source applications is that a developer working on one project can use what is already tested and proven by other projects. <a href="http://www.open-ils.org/dokuwiki/doku.php?id=faqs:evergreen_and_open_source_glossary#Postgres">PostgreSQL (&#8220;Postgres&#8221;)</a> is an enterprise-grade relational database system with over 15 years of development. It was chosen for Evergreen because it was virtually the only open source database system that had the capabilities to support a system with the database structure and the transactions load the size of PINES. Another key application is <a href="http://en.wikipedia.org/wiki/XUL">XUL</a> (pronounced &#8220;zool&#8221;) which stands for XML user interface language. Developed by the <a href="http://www.mozilla.org/">Mozilla project</a>, XUL allows fully featured cross-platform Web applications. Perhaps the best known XUL-driven application is the Firefox Web browser.</p>
-</td> +
-</tr>+
  
-<tr> +<p>There are, as you see, number of pieces to the Evergreen puzzleThese modules work together, and each can be changed when necessary without affecting the others as long as the changes do not affect the communications among themUsing these practices, coupled with the open source frameworkprovided a flexible method for very rapid development of Evergreen in the early days and continues to this day.</p>
-<th align="left">proprietary software</th> +
-<td align="left"><a name="proprietary"></a>A method for producing software that is normally distinguished from <strong><a href="#open_source">open source</a></strong> software. Proprietary software is not normally distributed as <strong><href="#source_code">source code</a></strong> but as <strong><a href="#compiled">compiled</a></strong> programs so that one cannot see what the code doesIt would normally be only supported by the company that manufactured it which can lead to <strong><a href="#vendor_lockin">vendor lockin</a></strong>Since users cannot see the codethey cannot easily make permanent improvements or changes in it and have to wait for the next release. +
-</td> +
-</tr>+
  
-<tr> +<h3>Development Philosophy</h3
-<th align="left"><a name="proprietary_advantages"></a>proprietary software advantages:</th+<p>As a result of what was learned about the first iteration of PINES, there were several key results expected from Evergreen. The original charge was to build something &#8220;scalablerobust and fault-tolerant.&#8221And, of courseopen sourceWhat do those three new terms mean?</p>
-<td align="left"> +
-<ul> +
-<li> Supported by the company you buy it from (can be good)</li> +
-<li> Normally <strong><a href="#Turnkey">turnkey</a></strong></li> +
-<li> Support and documentation is said to be better than open source.</li> +
-<li> You don&#8217;t have to worry your pretty little head about your software.</li> +
-<li> It hashistorically, been a successful modelIf it weren&#8217;t for companies using this modelmany libraries would still be using card catalogs. Many of the traditional firms have been in the field for some yearsknow the library world, and have made contributions to it.</li> +
-</ul> +
-</td> +
-</tr>+
  
-<tr> +<p><em>Scalable</emmeans that the software can be deployed in different-sized libraries and that adding capacity is relatively easy. At the point where the decision was being made to move from the proprietary system that ran PINES, the server upgrade for the old system would have cost $1.5 million for a large serverEvergreen development cost the GPLS much less than that.</p>
-<th align="left"><a name="proprietary_disadvantages"></a>proprietary software disadvantages:</th> +
-<td align="left"> +
-<ul> +
-<li> Supported by the company you buy it from. This fact can be bad if it is the only option because of potential <strong><a href="#vendor_lockin">vendor lockin</a></strong> or it can be good if the company is strong and committed to support and development of its software.</li> +
-<li> Slow development cycle which may have difficulty balancing the requirements of various users. For instancewhat happens if your vendor will not develop something you require?</li> +
-<li> Some vendors have been bought by firms that don&#8217;t know the library field nor have any particular affinity to itIt often appears that the decision to purchase these library vendors was financialIn these cases at least, support and development have arguably suffered.</li> +
-</ul> +
-</td> +
-</tr>+
  
-<tr> +<p>Learning that lesson early, Evergreen's design permits relatively easy upgradesIt  can be upgraded by adding &#8220;commodity &#8221; servers&mdash;that is, servers from any manufacturer or any do-it-yourself builder, and they can be added as needed.</p>
-<th align="left">Red Hat</th> +
-<td align="left"><a name="RedHat"></a>Red Hat corporation is a company founded in 1993 which supports a major <strong><a href="#Linux">Linux</a></strong> distributionRed Hat&#8217;s Web site is at <a href="http://www.redhat.com/">http://www.redhat.com/</a> and its Wikipedia entry is:<br /> +
-<a href="http://en.wikipedia.org/wiki/Red_Hat">http://en.wikipedia.org/wiki/Red_Hat</a>. <strong><a href="#Evergreen">Evergreen</a></strong> is supported on the Red Hat distribution. +
-</td> +
-</tr>+
  
-<tr> +<p>Because Evergreen is easy to use, as library's users learn the software, they use it more, and growth can be done by adding relatively cheap, redundant servers, not million dollar boxes running proprietary softwareAdd server or two, load OpenSRF, and you have upgradedEvergreen runs on laptops and runs PINES with 19 million circulation transactions and King County with 20 million.</p>
-<th align="left">Repository</th> +
-<td align="left"><name="repository"></a>An online archive for open source software where current and past versions of the software can be foundPopular repositories include <href="http://sourceforge.net/">SourceForge</a> and <a href="http://freshmeat.net/">Freshmeat</a>+
-</td> +
-</tr>+
  
-<tr> +<p>Robust. Evergreen was designed to be able to keep functioning in dire circumstances. When a backhoe severed the PINES network, the Evergreen staff clients allowed libraries that were disconnected from the central databases to continue checking out books. When the network was restored, the database was updated by an established procedure. There was no need to write down transactions on paper. Consider: PINES has number of days with 100,000 circulationsIf half the network were down for half day, that could be 25,000 sheets of paper to be managed. Not with Evergreen.</p>
-<th align="left">Service Oriented Architecture</th> +
-<td align="left">A software architecture based on a collection of loosely-coupleddistributed services which communicate and interoperate via agreed standards<strong><href="#OpenSRF">OpenSRF</a></strong> is an example of Service Oriented Architecture.</td> +
-</tr>+
  
-<tr> +<p>Fault-tolerant. Servers can fail, and the system will keep on functioning. The use of redundant servers allows one to fail and the others to keep on functioning. Evergreen was designed as much as possible to not go down.</p>
-<th align="left">source code</th> +
-<td align="left"><a name="source_code"></a>&#8220;..text written in a computer programming language.&#8221; +
  
-<p>Source code is written in human-readable language by software programmers or developers. Before it can be run on computers, it must be <strong><a href="#compiled">compiled</a></stronginto language that these computers can readWikipedia has more (<a href="http://en.wikipedia.org/wiki/Source_code">http://en.wikipedia.org/wiki/Source_code</a>including related links.</p+<a name="EGcommunications"></a> 
-</td> +<h2>Communications Within the Evergreen Community</h2> 
-</tr>+<p>The conversations between members of the community takes place in public venuesThere are various <a href="http://www.open-ils.org/listserv.php">mailing lists</a> that one can subscribe to from a general list to one for developers who are working on the code and others including discussions of documenting the Evergreen software. Another active means of communicaions take place on <a href="http://www.open-ils.org/irc.php">Internet Relay Chat (IRC)</a> channels. Evergreen users and developers also meet at conferences, including the Evergreen International Conference which has proven to be a popular meeting place for community members and those investigating Evergreen. The last one was held in April in Decatur, Georgia and the next one will be in Indianapolis, Indiana. The conversations take place in these various places and are continous.<p>
  
-<tr> +<a name="whatnow"></a
-<th align="left">Turnkey</th+<h2>What now?</h2> 
-<td align="left"><name="Turnkey"></a>Of software, an application or suite of applications that vendor sets up and all you have to do is turn the key and you are in business. +<p>This introduction to Evergreen gives general information that is intended to give a non-technical overview of the Evergreen project.  If you want to learn more, you can follow the various links given here or head to the <a href="http://www.open-ils.org/">main Evergreen page</a>. There are a number of decisions that would have to be made. If your library or consortium employs a staff with technically trained staff in IT functions you might encourage them to join any of the <a href="#EGcommunications">communications</a> media listed above and <a href="http://www.open-ils.org/downloads.php">download the software and examine <href="http://www.open-ils.org/documentation.php">the documentation</a> to help set up Evergreen. If you are investigating setting up a new Evergreen consortium, there is a great deal of experience with this kind of work in the community and you will find its members are willing to helpYou might also read <cite>&#8220;<a href="http://blog.esilibrary.com/2010/06/09/things-to-think-about-for-a-new-evergreen-library-consortium/">Things to Think About for a new Evergreen Library Consortium</a>&#8221;</cite> which has general observations gleaned from the experiences of librarians who have already done this. Pay particular attention to the discussion of governance as this has proved to be a problem with some of the new consortia. If the governance is not organized well, it may well not scale if and when your consortium starts to grow. Meanwhile, you will find that you have more choices for support and migration options than you would if you were dealing with a proprietary product. For instance, you can do it yourself&mdash;migrate your data out of your legacy system to Evergreen&mdash;as a number of libraries and consortia have done or you can contract with one (or more) of the companies offering to help you with the various aspects aspects of training staff, migrating data, and/or maintaining your Evergreen installation.</p>
-</td> +
-</tr>+
  
-<tr> +<p>Good luck and welcome to the Evergreen community.</p
-<th align="left">Ubuntu</th+<br /> 
-<td align="left"><a name="Ubuntu"></a>Ubuntu is a <strong><a href="#Linux">Linux</a></strong> distribution originally begun by a team of developers which worked on the <strong><a href="#Debian">Debian</a></strong> project. The two projects are <a href="http://www.ubuntu.com/community/ubuntu-and-debian">related</a>There are <strong><a href="#Evergreen">Evergreen</a></strong> installations running Ubuntu in production. +* This section and the next are adapted from an article in the <cite>ASIS&T Bulletin</cite>, December 2008/January 2009, <a href="http://www.asis.org/Bulletin/Dec-08/DecJan09_Molyneux.html">&#8220;Evergreen in Context&#8221;</a> and used with their kind permission.
-</td> +
-</tr> +
- +
-<tr> +
-<th align="left">Vaporware</th> +
-<td align="left">Software that does not exist&#8230;but has been promised. +
-</td> +
-</tr> +
- +
-<tr> +
-<th align="left">Vendor lockin</th> +
-<td align="left"><name="vendor_lockin"></a>If you buy from a <strong><a href="#proprietary">proprietary</a></strong> vendor, it is protected from competition for your business by<br /> +
-<ul> +
-<li> your multi-year contract,</li>  +
-<li> from the challenges of data <strong><a href="#migration">migration</a></strong>, and</li>  +
-<li> the fact that it alone supports the software including development and updates.</li>  +
-</ul> +
-</td> +
-</tr>                                                                 +
-</table>+
  
-<p align="left">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.</p> 
 </body> </body>
 </html> </html>
scratchpad.1307649931.txt.gz · Last modified: 2022/02/10 13:34 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.