Skip to content

Contributing

wnicholson edited this page Jan 8, 2021 · 12 revisions

Thank you for expressing an interest in helping us create Morf. It's greatly appreciated. Please have a read below.

Bug reports, feature requests

Please check to see if it's already been reported. If not, feel free to raise a new issue.

Pull requests

Pull requests are extremely welcome. Please read on if you are interested in contributing directly to the code.

Before submitting a pull request

Before submitting, please:

Generally speaking, we try to keep PRs as small and tightly scoped as possible, making reviewing and merging clear. If the point of the change is to clean up some code, it's often clearer for that change to be a separate PR.

Bug fixes & documentation improvements

Bug fixes, documentation improvements etc are extremely welcome and will usually be approved as long as they pass our coding standards.

New features

No new features will be added without advance design and approval, and no feature pull requests without an associated issue.

  • Please check the roadmap and issues to see if someone else is already working on it.
  • Create a new issue, explaining your idea, so the community can discuss the requirements and approach. Once there is agreement, you will be welcome to submit a pull request with the changes.

A mailing list will be added soon to make discussions easier.

Review process

All submissions will be subject to the following review process, where each step is iterative:

  1. Must pass the Travis build
  2. Sonar metrics should be acceptable.
  3. A maintainer will perform a code review on the pull request to ensure coding standards, quality of testing etc.
  4. A maintainer from Alfa will merge the pull request to our integration testing branch and subject it to a suite of closed-source integration tests. These ensure that the changes do not cause regressions in our commercial products. If there are any failures at this stage, this will be treated as a gap in the tests - really nothing should fail at this stage!
  5. On success, the pull request will be merged.