Mojaloop Community Central

Contribution Acceptance Guide

Mojaloop Foundation Contribution Acceptance Guide

Overview
This document outlines the process for accepting substantial incoming contributions to the Mojaloop Foundation. The process is designed to ensure that all contributions align with the Foundation's goals, technical standards, and product vision.
Contribution Acceptance Process

  1. Prerequisites

Before a contribution is to be considered for adoption, it:

● Should be in-line with the Level One Project Principles
● Should contain documentation to get started: the more, the better.
● Contain tests with a high level of coverage. At a minimum, a contribution should contain unit tests, but a test suite with unit, integration and functional tests is preferred.
● Should be licensed under the Apache License, Version 2.0 or compatible open source license.
● Should be free from any encumbrance

  1. Submission
    ● The process begins when a submitter completes and submits the project through a designated submission form.

  2. Product Council Review
    ● Upon receiving the submission, the Product Council invites the submitter to make a presentation and provide an overview of the submission.
    ● The Product Council deliberates on the product-market fit of the proposed contribution and its benefit to the Mojaloop ecosystem.
    ● If the Product Council determines there is a good product-market fit, the submission is approved at this level and proceeds to the next stage.
    ● If the product-market fit is not established, the contribution is declined, and the process ends here.

  3. Design Authority (DA) and Change Control Board Reviews
    ● The Design Authority conducts mandatory code and design reviews of the approved submission.
    ● The DA also checks for any technical debt associated with the contribution.
    ○ If technical debt is identified, it must be cleared before the DA can make a recommendation to proceed.
    ● If the submission includes an API or changes to existing APIs, the Change Control Board will conduct a mandatory review of the same.
    ● Upon successful completion of reviews and resolution of any technical debt, a formal recommendation is made to the Technical Governing Board (TGB) to accept the contribution.
    ● If the reviews by DA or CCB find significant issues that cannot be resolved, the contribution may be declined at this stage, ending the process.

  4. Technical Governing Board (TGB) Decision
    ● The TGB reviews the DA's recommendation and makes a final decision on whether to accept the contribution.
    ● If the TGB accepts the contribution, the process moves to the final stage.
    ● If the TGB declines the contribution, the process ends here.

  5. Product Council Integration
    ● For accepted contributions, the process returns to the Product Council.
    ● The Product Council develops a product backlog for the new contribution.
    ● A new workstream is created to house and manage the accepted contribution.
    Process Termination
    ● The contribution acceptance process may be terminated at any of the following stages if the contribution is declined:

  6. Product Council Review

  7. Design Authority/Change Control Board Review

  8. Technical Governing Board Decision

If a contribution is declined at any of these stages, the process ends, and no further action is taken on that particular submission.

Conclusion
This guide ensures that all substantial contributions to the Mojaloop Foundation undergo a thorough review process, involving product, technical, and governance aspects. This process helps maintain the high standards and coherent vision of the Mojaloop ecosystem.