This document is a work in progress. As the Hydra Project grows, both in numbers of participants and maturity, our way of doing things will continue to evolve. This document should evolve with it!
The purpose of this page
There are those, we are told, who point to the Hydra project as one of the most successful, current, open source projects. Whether we deserve that accolade is up to others to judge but we in the Hydra Community are proud of what we have done and what we do. This page is an attempt to record just what was and is "The Hydra Way", and why we think it was and is successful.
So what is the Hydra Project?
The Hydra Project is a large, multi-institutional collaboration which has produced a repository solution that is being used by institutions around the world to provide access to their digital content. The project gives these like-minded institutions a mechanism to combine their individual repository development efforts into a collective solution with breadth and depth that exceeds the capacity of any individual institution to create, maintain or enhance on its own. The motto of the Project Partners is “if you want to go fast, go alone. If you want to go far, go together.”
How did it start?
In fall 2008, a group of universities, Hull, Stanford and Virginia, shared a need for a digital repository solution based on (what is now called) the Fedora Commons repository software. A meeting was arranged and it was agreed that, working together and with the collaboration of Fedora, they should be able to produce a better solution than any one of them working alone. Early on, the original four partners were joined by MediaShelf LLC and became five. From the start this was a true collaboration: there was no senior partner and the meetings (of which there were many over the next twelve months) did not even have a formal Chair. Around the table all were equal and everyone's opinions were valued: a practice that we continue to this day.
There was a realization, almost from day one, that a four- or five-way collaboration might be good but that a six- or seven- or 20-way one might be better. It was always the intention of the original team that more collaborators would be brought into the mix as time went on and that, in any case, all the work done for the project would be released as open source code in the hope that others would want to adopt it. It is worth noting that, at the time of writing, Hydra has never had any funding beyond that contributed "in kind" by those involved in the Project.
How did it grow to so many Partners?
As time went on "real" production Hydra heads (as we christened them) began to appear and others beyond the initial partnership became seriously interested in what we were doing. A few adventurous institutions started making noises about joining the party and we Hydra folks started to think that maybe we'd better get serious about formalizing such a process and making it attractive.
The idea of Hydra Partners was born: institutions who would commit to contributing to, and furthering, the emerging community and its aims. Recognising that there were potential legal implications to expansion the original group of five jointly put in place a formal Memorandum of Understanding setting out such things as the aims of the project, its governance structure, and the terms of its intellectual property licensing and ownership.
What are the aims that new Partners signing up to?
We could list a set of formal aims and objectives (and we do list some in our wiki), but to sum it up succinctly: The Hydra Project and its Partners are on a journey. The community is headed down a road to sustainability for digital libraries, toward repositories that have good uptime, that have robust communities to draw on for support, and together we are agreeing an active, shared development agenda for new features.
You keep mentioning "community"
You're right. We do keep mentioning the word! As much as being about software development, Hydra is about developing a vibrant, supportive community around the development and use of the code.
Hydra invests in its Partners, both in their developers and more managerial staff. We try to hold three or four Partner Meetings each year. All Partners, new and old, are invited and can expect a warm welcome and an inclusive meeting. Generally, meetings nowadays have a twin track for some of the time: sessions for "manager" types, and sessions for developers, as well as plenary sessions for everyone. Within these sessions, everyone has a voice and we particularly try to encourage new faces to get involved. Almost always the evening food and drinks is a good mix of all the folks in attendance. These evening sessions are an essential part of the meeting; we learned early on that nothing beats meeting colleagues from other Partner institutions face-to-face.
Sometimes at, and frequently between, Partner Meetings we provide workshops and training. We have a newly developed "Hydra for Managers" workshop and sessions ranging from half-day introductions to five day Hydra Camps for training Developers (both in matters of code and in Hydra's test-driven software methodology).
In between all this there are monthly Partner conference calls and active mailing lists.
Who actually writes the code?
The Hydra Partners do! Development of code for Hydra, using a test-driven approach, is very much a collaborative venture. Partners from all over the world may contribute code and/or patches to the Hydra gems that are held on GitHub. There is a core of established Hydra developers who will review code contributions, offering positive feedback and suggestions as appropriate, and able to commit code to the gems when it is deemed ready. As developers become established, they may be invited to joint the core committers. The developers share a very active mailing list and IRC channel, and hold conference calls usually once a week.
What features get written is generally determined by the needs of the community at any given time, guided by joint discussions at Partner Meetings and on Partner calls.
How does the Community function?
As far as we are able, decisions about Hydra and its community are made at Partner Meetings and using the Partners' mailing list. We try hard to be transparent in what we do. All Partners have an equal vote and we use a simplified form of Apache's +1/0/-1 voting. We generally work on the basis that "if it isn't written down, it didn't happen" and so we try to document meetings, procedures and decisions in a public wiki space.
Standing behind the Partners is Hydra's Steering Group. Currently this consists of the original five founding partners and nowadays it exists largely to fulfil necessary legal and administrative functions. Members of the Steering Group have no greater voting power than any other Partner.