Here we are, ten years after the world started using Evergreen, twelve years after the first line of code was written. Gandhi may not have coined the phrase, but whoever did was right: first they ignore you, then they laugh at you, then they fight you, then you win.
Evergreen won, in many senses, a long time ago. If nothing else, these recent reflections on the last ten years have reminded us that winning takes many forms. Growing from a single-site effort into a self-sustaining project with a positive, inviting community is certainly one type of win. Outlasting the doubt, the growing pains, the FUD, which Evergreen has, is another. Then, when you get past all that, most of your detractors become your imitators. It’s interesting how that happens. And, we can call that a win as well.
There has been, in just the last couple years, much talk in the ILS industry of openness. Essentially every ILS available in the last two decades has been built on the shoulders of Open Source projects to a greater or lesser degree: the Apache web server; the Perl and PHP languages; the Postgres and MySQL databases. The truth is that while most always have been, it’s only recently become fashionable to admit the fact. Then, of course, there are the claims of “open APIs” that aren’t. Perhaps most interesting, though not at all surprising, is the recent claim by a proprietary vendor that it was taking “the unprecedented step” of trying to “make open source a viable alternative for libraries.” Some seem to have missed the last ten or fifteen years of technology in libraries.
And so here we are, ten years later. Evergreen is in use by some 1,500 libraries, serving millions of patrons. Other ILS’s, new and old, want to do what Evergreen has managed to do. We say more power to them. We hope they succeed. The Evergreen community, and our colleagues here at Equinox, have helped pave the way for libraries to define their own future. That was the promise of Evergreen twelve years ago, and that was the goal of the first, small team on Labor Day weekend ten years ago. We’ve won, and delivered on that promise.
Now it’s time to see what the next ten years will bring. We’re ready, are you?
— Mike Rylander and Grace Dunbar
This is the twelfth and final post in our series leading up to Evergreen’s Tenth birthday. Thank you to all those who have been following along!
By 2013 Evergreen was, to coin a phrase, “nominally complete.” It had gained the features needed to check off most of the right RFP boxes, and so be considered alongside other ILS’s with a significantly older code base. Acquisitions and serials, along with circulation, cataloging, authority control, and the (underrated, in my opinion) booking functionality were all in place. By this point it had a modern, pluggable OPAC infrastructure, integration with many 3rd party products to expand its functionality, and was attracting attention via non-traditional use cases such as publishing house backend systems. So, we developers were done, right?
Not at all.
In years past, the development team working on Evergreen had been small, and grew slowly. In important ways, though, that began to change around 2013. Previously, having more than twelve distinct contributors in a month submitting code for inclusion in the master repository was quite rare, and usually happened right around the time when a new release was being polished. But from late 2012 through all of 2013, 15-25 contributors became the rule and less than that was the exception. That is a solid 20-30% increase, and is significant for any project.
At the software level this was a period of filing down rough edges and broadening the talent pool. There were few truly massive technological advances but there were many, and varied, minor improvements made by a growing group of individuals taking time to dive deeper into a large and complex codebase. Importantly, this included ongoing contributions from a Koha developer on a now-shared bit of infrastructure, the code we both use to parse searches against our respective catalogs.
In short, 2013 is the year that we began to truly realize one of the promises of Open Source, something that is attributed to Linus Torvalds of Linux fame. Specifically that given enough eyeballs, all bugs are shallow. What this means is that as your project adds users, testers, and developers, it becomes increasingly likely that bugs will be discovered early, classified quickly, and that the solution will be obvious to someone.
In some ways this can be a critical test for an Open Source project. Many projects do not survive contact with an influx of new development talent. For some projects, that is political. For others, it is a consequence of early design decisions. Fortunately, Evergreen passed that test, and that is in large part a credit to its community. After seven years and significant scrutiny, Evergreen continued to improve and its community continued to grow.
— Mike Rylander, President
This is the eighth in our series of posts leading up to Evergreen’s Tenth birthday.
This is the second in our series of posts leading up to Evergreen’s birthday. The series starts with Jason’s post from yesterday. Please do read that if you haven’t already!
In 2007 Evergreen became Open Source software in practice, not just in name.
The three committers to the subversion repository in use at the time, Jason, Bill, and myself had, over nearly three years, personally typed all of the code that made up the software, gladly accepting the many suggestions for improvement we received via email and in person, of course.
On Monday, March 5, 2007 that changed when Bill applied the first actual patch we’d received over the previous weekend. It wasn’t a huge new feature or reams of documentation, but it was a watershed moment for the project — with that one commit, pictured below, Evergreen was now software owned by more than one entity, locking in the promise of its Open Source licence by making sure nobody could hide the code away in the future.
Soon after that we began receiving contributions of code from more individuals, some folks from libraries, such as Travis Schafer, and some, like Scott McKellar, just folks that make a hobby of “nosing about in other people’s code.” By the end of 2007, the list of committers had grown from 3 to 4 — Dan Scott got the commit bit on September 7 — and contributors were in the double digits. Both accelerated quickly in later years.
Some of these early contributors were at institutions either testing or deploying Evergreen. Some of them are still there, running those installations. Of the production deployments, most were small compared to the PINES. However, the seeds of large sites were being planted.
It was in late 2007 that the first two SITKA libraries migrated to Evergreen; Prince Rupert Library and Fort Nelson Public Library. Now SITKA numbers approximately 200, but I’ll remember those first two clearly forever. I’ll remember them because 2007 was also the year Equinox began providing services to libraries interested in Evergreen, and I had the opportunity to personally perform those migrations in the fall of 2007.
It’s interesting, to me, at least, to remember that SITKA was Equinox’s very first customer; they signed their support and migration contract with us more than a month before PINES. In a way I think of that as emblematic of Evergreen’s past and its future promise. We are a community that innovates. We are largely a community of early-adopters-cum-leaders. And we are a community focused on both the promise and the pledge of Open Source — the development methodology and philosophy. Looking back, all the way to the start, I see that’s always been the case and I’m proud to have been and still be a part of that.
— Mike Rylander, President
More than any previous year, 2015 was a year of growth and change for Equinox.
All in all, 2015 set a high bar for the future.
It was also a time of growth for me personally. I find I’m happiest when I’m learning something new, and the past year did not disappoint in that regard. It’s been just a bit more than a year since I took on my new role as president. It’s been a great ride so far, and I have learned a lot. Having the opportunity to set the direction for the place you work is a rare thing, and can be overwhelming. The most important ingredient for success is the people you work with and learn from to make your shared vision come true. It has been exceptionally rewarding to stand shoulder to shoulder with the amazing team at Equinox, solving problems and laying the ground work for bigger things to come. Looking back at what we’ve accomplished in the last year I’m very proud of the work we’ve done for our customers. Even more, though, I’m proud of the company we are continuing to build together.
What will 2016 hold for Equinox? More of the same if I can help it.