Reticulum/Contributing.md

3.1 KiB

Contributing to Reticulum

Welcome, and thank you for your interest in contributing to Reticulum!

Apart from writing code, there are many ways in which you can contribute. Before interacting with this community, read these short and simple guidelines.

Expected Conduct

First and foremost, there is one simple requirement for taking part in this community: While we primarily interact virtually, your actions matter and have real consequences. Therefore: Act like a responsible, civilized person - also in the face of disputes and heated disagreements. Speak your mind here, discussions are welcome. Just do so in the spirit of being face-to-face with everyone else. Thank you.

Asking Questions

If you want to ask a question, do not open an issue. The issue tracker is used by people working on Reticulum to track bugs, issues and improvements.

Instead, ask away on the discussions or on the Reticulum Matrix channel at #reticulum:matrix.org

Providing Feedback & Ideas

Likewise, feedback, ideas and feature requests are a very welcome way to contribute, and should also be posted on the discussions, or on the Reticulum Matrix channel at #reticulum:matrix.org.

Please do not post feature requests or general ideas on the issue tracker, or in direct messages to the primary developers. You are much more likely to get a response and start a constructive discussion by posting your ideas in the public channels created for these purposes.

Reporting Issues

If you have found a bug or issue in this project, please report it using the issue tracker. If at all possible, be sure to include details on how to reproduce the bug.

Anything submitted to the issue tracker that does not follow these guidelines will be closed and removed without comments or explanation.

Writing Code

If you are interested in contributing code, fixing open issues or adding features, please coordinate the effort with the maintainer or one of the main developers before submitting a pull request. Before deciding to contribute, it is also a good idea to ensure your efforts are in alignment with the Roadmap and current development focus.

Pull requests have a high chance of being accepted if they are:

  • In alignment with the Roadmap or solve an open issue or feature request
  • Sufficiently tested to work with all API functions, and pass the standard test suite
  • Functionally and conceptually complete and well-designed
  • Well-documented

Even new ideas and proposals that have not been approved by a maintainer, or fall outside the established roadmap, are occasionally accepted - if they possess the remaining of the above qualities. If not, they will be closed and removed without comments or explanation.

By contributing code to this project, you agree that copyright for the code is transferred to the Reticulum maintainers and that the code is irrevocably placed under the MIT license.