The Open Source Experts
full-service open source library services provider

Evergreen 2015: Rhythm

Sundial by liz west. CC-BY on Flickr

Sundial by liz west. CC-BY on Flickr

In 2015, Evergreen saw two major releases, 2.8.0 and 2.9.0, and a number of maintenance releases.

Two major releases in 2015, just as there were two in 2014, and in each of the three years before that — just as there will be two major releases in 2016.

In 2015, the seventh Evergreen Conference was held in Hood River, Oregon — continuing an unbroken string of annual conferences that was started in 2009.

In 2015, Evergreen’s development team gained a new core committer, Kathy Lussier.

New folks started writing documentation; more libraries started using Evergreen; more bug reports were filed.

In 2015, in particular with the release of 2.9.0, a number of components of Evergreen that had served their purpose were removed. Gone was JSPac. Goodbye, old selfcheck page! Auf Nimmerwiedersehen, script-based circulation policies!

In 2015, work continued on the web-based staff client.

In 2015, the Evergreen web team took steps to ensure backwards compatibility.

To sum up: 2015 was not the most exciting year in the project’s history, but it was a solid one: a year continuing rhythms that had been established and strengthened as the project grew.

Rhythms matter to libraries, of course. There is the staccato of each visit to the library, each checkout, each reference question, each person finding refuge or hope or a few minute distraction. Themes arise and repeat each year: summer reading; the onslaught of undergraduates; conferences; board meetings and budgetary cycles. Sometimes a crescendo surprises us: the adoption of MARC; the disquiet and discussions of seeking to replace MARC; libraries deciding to reclaim their tools and embrace free software.

And the music does not stop: libraries must simultaneously embrace the now, do their part to keep the past alive, and look to the future.

— Galen Charlton, Infrastructure and Added Services Manager

This is the tenth in our series of posts leading up to Evergreen’s Tenth birthday.

Evergreen 2012: ownership and interdependence

"Cats that Webchick is herding" by Kathleen Murtagh on Flickr (CC-BY)

“Cats that Webchick is herding” by Kathleen Murtagh on Flickr (CC-BY)

A challenge common to any large project is, of course, herding the cats. The Evergreen project has pulled off a number of multi-year projects, including completely replacing the public catalog interface, creating acquisitions and serials modules from scratch, creating a kid’s catalog, writing Evergreen’s manual, and instituting a unit and regression testing regime. As we speak, we’re in the middle of a project to replace the staff client with a web-based staff interface.

All of this happened — and continues to happen — in a community where there’s little room for anybody to dictate to another community member to do anything in particular. We have no dictator, benevolent or otherwise; no user enhancement committee; no permanent staff employed by the Evergreen Project.

How does anything get done? By the power of Voltron interdependence.

In 2011, Evergreen become a member project of the Software Freedom Conservancy, representing a culmination of the efforts started in 2010 (as Grace mentioned).

As a member project of Conservancy, Evergreen receives several benefits: Conservancy holds the project’s money, negotiates venue contracts for the annual conference and hack-a-way, and holds the project’s trademark. However, Conservancy does not run the project — nor do they want to.

As part of joining Conservancy, the Evergreen Project established an Oversight Board, and in 2012, I had the privilege of beginning a term as chair of the EOB. The EOB is Conservancy’s interface with the Evergreen Project, and the EOB is the group that is ultimately responsible for making financial decisions.

Aha! You might think to yourself: “So, if the Evergreen Project doesn’t have a dictator in the mold of Linus Torvalds, it has elected oligarchs in the form of the Oversight Board!”

And you would be wrong. The Evergreen Oversight Board does not run the project either. The EOB does not appoint the release managers; it does not dictate who is part of the Documentation Interest Group; it does not mandate any particular sort of QA.

What does the EOB do? In part, it does help establish policies for the entire project; for example, Evergreen’s decision to adopt a code of conduct in 2014 arose from the suggestions and actions of EOB members, including Kathy Lussier and Amy Terlaga. It also, in conjunction with Conservancy, helps to protect the trademark.

The trademark matters. It represents a key piece of collective ownership, ownership that is in the hands of the community via a nonprofit, disinterested organization. Evergreen is valuable, not just as a tool that libraries can use to help patrons get access to library resources, but in part as something that various institutions have built successful services (commercial or otherwise) on.  If you take nothing else away from this post, take this: if you plan to launch an open source project for the benefit of libraries, give a thought to how the trademark should be owned and managed.  The consequences of not doing so can end up creating a huge distraction from shipping excellent software… or worse.

But back to the question of governance: how does the day to day work of writing documentation, slinging code, updating websites, training new users, seeking additional contributors, unruffling feathers, and so forth get done? By constant negotiation in a sea of interdependence. This is complicated, but not chaotic. There are plenty of contracts helping protect the interests of folks contributing to and using Evergreen: contracts with non-profit and for-profit service providers like Equinox; contracts to join consortia; contracts to pool money together for a specific project. There are also webs of trust and obligation: a developer can become a committer by showing that they are committed to improving Evergreen and have a track record of doing so successfully.

Governance is inescapable in any project that has more than one person; it is particularly important in community-based open source projects. Evergreen has benefited from a lot of careful thought about formal and informal rules and lines of communication…. and will continue to do so.

— Galen Charlton, Added Services and Infrastructure Manager

This is the seventh in our series of posts leading up to Evergreen’s Tenth birthday.

Notes from day 2 of the 2015 Evergreen Hack-A-Way

My quest to drink all of NOBLE’s coffee may be at an impasse… it just. keeps. coming. Fortunately, the Evergreen Hack-A-Way is not actually about the coffee… it’s about the people.  Some highlights from today:

  • Kathy Lussier of MassLNC led a discussion of Evergreen’s catalog search and ways to improve it, ranging from performance boosts to the current search engine based on PostgreSQL Full Text Search to investigating adopting an external search engine.  Be sure to check out the shared notes document, as it includes a summary of the discussion and a number of tips for tweaking Evergreen and PostgreSQL to deliver search results faster.
  • Ken Cox gave a presentation on how to set up and deploy the Evergreen public catalog access Android app.
  • Ben Shum and I led a discussion of figuring out ways to help folks help each other learn how to code for Evergreen — and how to work up to becoming a core committer.
  • We are now at 18 software improvements (both enhancements and bugfixes) and a documentation patch incorporated into Evergreen since the Hack-A-Way began.

Friday morning concludes the Hack-A-Way for me, as I’ll be flying home tomorrow afternoon — but I intend to pack as much as I can into that morning.  It’s been a blast, and as always, if you’d like to follow along with the Hack-A-Way, you can track the #evghack15 hashtag on Twitter, follow along in the shared notes Google document, or join the Google Hangout.

Notes from day 1 of the 2015 Evergreen Hack-A-Way

I have two things to say to the North of Boston Library Exchange (NOBLE).  First, thanks for hosting the 2015 Evergreen Hack-A-Way, the annual in-person gathering of folks interested in Evergreen development!

Second: challenge accepted!

NOBLE and coffee

Some highlights today (in addition to my attempt to drink all of NOBLE’s coffee) include:

  • Work towards getting the new web staff interface ready for prime time for the circulation desk, including making Hatch (the receipt printing helper) easier to install
  • A wide-ranging discussion on options for improving course reserves functionality in Evergreen and Syrup.
  • Bill Erickson’s presentation on Sqitch (for managing database schema updates).
  • Work on acquisitions, including putting together some sample data for the test suite.
  • As of Wednesday evening, we’ve collectively reviewed 10 patches for enhancements and bugfixes from the list of submissions and incorporated them into Evergreen.

It’s been great to meet up with Evergreen contributors, both old and new.  On a personal note, today I was elected release manager for the spring 2016 release of Evergreen; I am both honored and humbled by the community entrusting me with this task.

If you’d like to follow along with the Hack-A-Way, you can track the #evghack15 hashtag on Twitter, follow along in the shared notes Google document, or join the Google Hangout.

It has been truly inspiring seeing libraries around the world unite in strengthening Koha and Evergreen.

Infrastructure and Added Services Manager