Revised March 13, 2017

The Islandora Foundation has provision for accepting software created by third-parties into the Islandora Foundation distribution. Such acceptance requires that we exercise due diligence over the quality of the software and the provider's right to offer it. If the new functionality you are proposing could be accomplished by suggesting changes to an existing module, please consider submitting your changes through pull requests. If you are proposing a new submodule for an existing module in an Islandora Foundation GitHub repo, that submodule must also be reviewed by the process outlined below.

The stages below outline our acceptance procedure.

  1. The owner of the software:

    1. Verifies that all contributors have the rights to offer the software for further distribution.

    2. Has on file, or provides, a signed Individual Contributor License Agreement (iCLA) or a Corporate Contributor License Agreement (cCLA) to the Islandora Foundation.

    3. Decides whether to offer for inclusion in Labs or in the Islandora Release, and addresses the evaluation criteria in 2.

    4. Offers the software for inclusion in Islandora / the Islandora distribution, via the Islandora listserv following this template:

[Maintainer/Owner] proposes that:

[Module Name](module link) become [an Islandora component/a module in Islandora Labs], with a canonical repo on GitHub owned by the Islandora Foundation, subject to the same release management and documentation processes as other Islandora modules.

  [Description of the module and its relevance to the islandora community]


  The module is available under [OPEN SOURCE LICENSE]


  All contributors are included under a Contributor Licence Agreement [Include details as needed].
 

Thank you,

[Maintainer/Owner]

 

2. The Islandora Roadmap Committee evaluates the offer at their next meeting. If any of the following conditions are not met, these must be addressed by the Owner before a vote to accept or decline the offer.

  1. The software is accompanied by either:

    1. A GPLv3 license file if the software is a Drupal module.

    2. An acceptable open source license file if not a Drupal module.

  2. The owners, and all relevant contributors, have signed CLAs with the Islandora Foundation.

  3. README file that adheres to our template.

  4. Adheres to Drupal Coding Standards. 

For acceptance into the Islandora Release, the following conditions must also be met:

  1. The software is well known to the Roadmap Committee, and is implemented independently by at least three institutions.

  2. The software is accompanied by:

    1. One or more maintainers, who will by default act as Component Manager(s) through the release cycle

    2. CONTRIBUTING.md

    3. Has sufficient tests (Guidance available here)

    4. Has TravisCI integration

If the base criteria are met, but not all of the criteria for acceptance in the Release are met, the Roadmap committee may decide to vote on acceptance of the module into Islandora Labs.

3. If there are any deficiencies in the offer or suggestions from the Roadmap Committee, these are communicated to the Owner for correction before the final vote to accept or decline the offer.

4. Once the conditions are met, and any suggestions have been addressed, the Roadmap Committee votes on whether it is in the best interests of the Islandora community to accept or decline using the Apache model of consensus-based decision making, with a round of +1 / +0 / -1 voting from members of the Roadmap Committee and the motion being considered to carry with at least 3 +1's and no -1's. Members who are not present during the vote are asked to vote by email within five days.

5. A representative from the Islandora Foundation contacts the Owner to disclose the result of the vote, and if the vote carried, to accept the software on behalf of the Islandora Foundation. The representative will:

  1. File a final copy of the offer, vetting and acceptance;

  2. Register the acceptance and appropriate links on the List of Contributed Software.

  3. Work with the Owner to transfer the software to the proper Islandora GitHub organization.

  4. If added to the Release, add documentation to the Islandora Documentation Wiki.