GSoC/GCI Archive
Google Summer of Code 2011

Evergreen Project

Web Page:

Mailing List:

The Evergreen Project develops an open source ILS (integrated library system) used by approximately 800 libraries. The software, also called Evergreen, is used by libraries to provide their public catalog interface as well as to manage back-of-house operations such as circulation (checkouts and checkins), acquisition of library materials, and sharing resources among groups of libraries.

The Evergreen Project was initiated by the Georgia Public Library Service in 2006 to serve their need for a scalable catalog shared by (as of now) approximately 285 public libraries in the state of Georgia. After Evergreen was released, it has since been adopted by a number of library consortia in the US and Canada. It has also been adopted by various individual library systems, including the second-largest circulating library in the U.S., the King County Library System in Washington. It has started being adopted by libraries outside of North America.

The Evergreen development community has about nine active committers and roughly 50 individuals who have contributed patches. In addition, the Evergreen community is also marked by a high degree of participation by the librarians who use the software and contribute documentation, bug reports, and organizational energy. As such, Evergreen is very much about both the developers and the users. Because of the nature of ILSs, Evergreen has an interesting mixture of functionality, allowing for a wide mix of skills and interests by the developers who contribute.

For example:


  • Evergreen is a metadata search engine
  • Evergreen is a transaction processing engine
  • Evergreen is just another web application
  • Evergreen is based on a robust, scalable, message-passing framework¬†



  • Bring Sanity to the Evergreen Configuration Interface The current configuration interface on the staff client is a mess. More than a hundred settings in a list, it is only slightly better than about:config in Firefox, only due to its size. This project will bring search to that list, group the items in to relevant categories, and become smarter by being able to suggest similar items. Contextual support will also be added so the user doesn't need to look in a manual for what settings they need.
  • Debian and Fedora packaging for Evergreen and OpenSRF Create packages Debian, Fedora and Arch Linux packages of Evergreen and OpenSRF, and their dependencies, so that evergreen can easily be installed on these systems. Using the packages, I would then create an Evergreen LiveCD/Installer and Virtual Machine image generation scripts, along with a testing setup for carrying out in the virtual machine.