Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: more clear def of prefixes

For our development we now use a hybrid of review-board and "github pull requests with offline pulling". The processes around these tolls are elaborate and not inviting nor a satisfying degree of guarantee to the quality of the resulting applied patches. Here we gather requirements for a new patch submission process that will facilitate both the quality and the hospitality principles.

In the following MoSCoW prioritization, the prefixes 'H:' and 'Q:' to indicate that either of the mentioned principles are targeted;

  • H: = Hospitality, facilitate contribution
  • Q: = Quality, code, contribution quality.
must
  • H: the process must be inviting to both committers and contributors.
    • for contributors this will be the only means of submitting patches. For them it must be easy to enter and to update patches and to start a semi - or fully automated test and validation suite on the submitted patch. (see further requirements for formalization of this)
    • for committers it must be inviting enough so they will choose to use this process. Committers must feel the advantages over directly pushing commits to the apache git server. Commiters must be invited as they should always be allowed to commit outside this process due to for instance undisclosed security work.
  • H: Incremental Patch Set:
    • Reviewer: It must be able to add patches as suggestions for points of improvement as part of code review.
    • Submitter: It must be easy to enter and to update patches, either by adding commits or by replacing the commit stack altogether.
  • H: Ability to Comment: It must have a discuss facility to allow interaction between submitter and reviewers.
  • Q: Comments on patch during review process must be copied to dev mailing list
  • Q: Testability:
    • Automated testing of patch against the specified branch by the submitter is mandatory 
    • Test results should be readily available for review. The patch test status should be passed/failed
  • H: it must be possible for a committer to push a patch from the submission system.
  • -Q: it must be possible (for a committer) to either circumvent the gates, or to have security embargoes on patches for working on undisclosed vulnerabilities

...