Hydra has from its inception been designed to provide a generalizable, portable framework that would meet the needs not only of the three original institutions, but also those of a wider community. Originating as a multi-institutional project spanning three universities (Hull, Stanford and Virginia), and with support from Fedora Commons, Hydra has since expanded to include like-minded institutions with similar needs, technical infrastructures and complementary systems.
Community Structure and Responsibilities
At the heart of the Hydra community are the Hydra Partners, those who both use the software and contribute to the Hydra effort overall. As free and open source software, the community also includes Adopters, those who use the software but don't necessarily contribute back to the collaboration.
The Hydra Partners include groups that coordinate effort across multiple institutions and development efforts (or heads). These include the Steering Group and the Committers' Group, as well as project-specific teams that focus on particular heads such as Avalon or Sufia.
Hydra Partners are individuals, institutions, corporations or other groups that have formally committed to contributing to the Hydra community; they not only use the Hydra technical framework, but also add to it in at least one of many ways: code, analysis, design, support, funding, or other resources. Hydra Partners collectively advance the project and the community for the benefit of all participants.
Partners get to attend Hydra Partner meetings, provide input on the community and technical direction, and represent Hydra to the broader community. In addition, Hydra Partners are the first to be notified of any known security issues and fixes, ahead of the information being made public.
How do you become a Partner
The steps are:
- be nominated by an existing partner
- get invited to join by the Steering Group
- submit a brief letter of intent (see below) and a one page letter of agreement (see below)
- be voted in by the Steering Group, and
- be welcomed formally to the project as a provisional partner (see below)
- following a significant contribution (see below) to the project, become a full partner
How do you stop being a Hydra partner?
- get voted out by a majority of all current partners, or
- notify the Hydra Steering Group that you wish to withdraw from your partner agreement
Partners sign a formal one page agreement agreeing to support the formal, legal Memorandum of Understanding signed by the Steering Group in April 2012, and each Partner is asked at the time of joining the group to write a brief letter of intent indicating why they want to become a Hydra Partner and what they intend to contribute to the project. (Note that we post these letters publicly in the wiki, to share among the community.) The one-page agreement can be found here (with the full MOU attached). Partners are also strongly encouraged to file a corporate Contributor License Agreement to ensure that the project can accept code and other intellectual contributions from the partner institution.
Provisional Partners are Hydra Partners that are engaged in the project in a meaningful form and have the intent to become full-fledged Partners, but may require some time to fully meet the responsibilities of a Partner. Provisional Partners may join the Partners lists, attend Partner meetings and participate in Partner working groups; they do not yet receive a vote in Partner decisions. Provisional Partners become full partners after making a significant contribution to the project (which may be code, logistical support, advocacy, integration, or another form) and being voted in by a membership committee constituted by Steering Group. It is expected that Provisional Partners will become full Partners within one year of achieving provisional status (though elevation to full Partner may happen sooner than that, as it is contingent on making a significant contribution rather than the calendar). Provisional Partners were added to the Hydra Community Framework following a vote in November 2013.
Please note that submitting a letter of agreement may be deferred for partners at the time of acceptance as Provisional Partner, but must be completed before becoming a full Partner.
Roles and responsibilities
All Hydra partners
All Hydra partners, from the founding partners through to the newest additions, have a responsibility to promote the well-being and development of the Hydra Project. Collectively, the partners share responsibilities including, but not limited to:
- Community maintenance and growth
- Collaborative roadmapping (technical & community)
- Hydra head development
- Code contribution to the “technical core”
- Governance of the “technical core”
- Maintenance of previously contributed Hydra components
- Design contribution: UI's, API's, data models, et al.
- Documentation and sharing of contributions
- Project infrastructure provisioning & support (Bug trackers, Continuous Integration Servers, Web site, Wiki, etc.)
- Maintenance of the official Hydra website
- Resource coordination
- Project advocacy (e.g., public speaking, writing articles)
- Participation and leadership in "user groups" or "special interest groups" within the Hydra community
- Meeting organization & planning
- Determining project strategy
Hydra Steering Group
The Hydra Steering Group is drawn from the Hydra community. Steering Group members take on the same responsibilities as Partners and additional responsibilities including, but not limited to:
- Deciding what becomes official Hydra components
- Managing the licensing of Hydra code components
- Managing Hydra's legal records
- Seeding / supporting the development of "user groups" or "special interest groups" within the Hydra community
- Ensuring the quality of provision and support the project infrastructure
- Ensuring the quality of Hydra meetings
- Updating the governance structure of the project as necessary
- Formally admitting new Hydra Partners
- Formally accepting new Steering Group members
- Appointing individuals who have institutional authority to act on behalf of that member institution/entity
- Managing the Hydra brand and official project communications
- Ensuring the quality of the official Hydra website
- Formally representing the Hydra Project to funding agencies and (possible) commercial partners
Essentially, then, the Steering Group's role is stewardship and central administration of the project; they are responsible for helping create the structures to see that critical tasks are addressed, and backstopping the Partners' group in case it doesn't fulfill these tasks. So, such things as:
- creating decision making structures
- decision making when decisions are not otherwise being made
- backstopping partners when issues go unaddressed
- delicate issues handling
- stewardship and caretaking of the project as a whole
- responsibility for providing continuity of the project
How do you become a member of the Hydra Steering Group?
- The Steering Group periodically reviews and adjusts its membership to reflect growth and evolution in the Hydra community.
The current membership of the Hydra Steering Group can be found listed here.
In October 2014, the Steering Group adopted a set of bylaws clarifying its membership and decision making procedures.
Anyone is welcome to use, improve, and hack on the Hydra codebase -- the code is open source!
How do you become a member of the Hydra developer community?
- Join the hydra-tech group and mailing list listed on our Connect page
- Hop on the #projecthydra IRC channel - find instructions on the Connect page
- Submit code to the project (see guidelines), contribute resources to the group, and engage in the technical development process.
The developers who have demonstrated ongoing interest in Hydra have a standing weekly call.
Some of the things Hydra developers do:
- Define Technical Architecture
- Coordinate development of common functionality
- Implement Data & Content Models
- Define & Enforce Development Practices
- Code Development
- Integration & Release
- Developer & Deployment Documentation
- Developer & Sys Admin Training
All Hydra Project code is distributed under an open source license (Apache 2.0 as of 2013), and Contributor License Agreements (CLA's) based on the Apache Foundation CLA's are required from contributors before their code can be added to the project's code base. See the Hydra Project Intellectual Property Licensing and Ownership page for more details.