How to contribute
September 18, 2024 ยท View on GitHub
You may still contribute even if you don't have software development skills or in-depth knowledge of this project.
This guide discusses several ways to contribute to the open source/hardware community around this project. If you find another way to contribute, do not hesitate.
Improve documentation
The author is not a native English speaker. If you find errata or unclear text, please open an issue.
Report unexpected firmware behavior (bugs)
-
Ensure the "bug" was not already reported by searching on GitHub under Issues, both open and closed.
-
If you find a similar open report:
- Add a post to the existing thread. Explain the details of your case.
- Add any relevant information not known before.
-
If you find a similar closed report, it should solve your problem.
- If not, add a post to the existing thread.
- If you don't have permission to post, create a new issue. Place a mention to the existing report.
-
If you did not find any similar report, create a new issue, using the given template.
Before posting a new issue, check you are using the latest project version and the tested dependencies (see Software tools).
Make proposals, help other people, share concerns or ask any question
Participate in the discussion forums:
- Use the best-matching category (general, ideas, ...)
- Check for similar thoughts both in closed and open threads.
Create social media
- Share your experience.
- Show your custom devices.
- Contribute with a tutorial.
- Provide a link to your own project.
- Tell others about this project.
Share your knowledge
There are many aspects not fully covered by this project. Use the discussion forums to share your knowledge about:
- Hardware that fits button boxes or sim wheels the best.
- Sim-wheel housing acquisitions or design.
- Skills to build homemade circuits.
- Tools.
- Etc.
Contribute new hardware
You may contribute with new open hardware designs. Consider adding design files for printed circuit boards. Consider adding design files for sim-wheel housings. Use the discussion forums.
Contribute new code
This is a pull-request policy.
Target the development branch when submitting a pull-request.
New features
Code adding new features will be rejected unless previously discussed. Expose your idea in the discussion forums first. New features have an impact on software design that needs to be thoroughly examined.
Bug fixes
Code fixing a bug will be rejected unless previously reported.
- All relevant quality controls must be updated along with the new code, including new test units when needed.
- You must run all relevant quality controls.
- Provide an explicit declaration that all relevant quality controls failed (so, the software passed the Q controls).
- You must contribute to the documentation as you do with code.
Evolutionary maintenance
There are a few software/development dependencies in this project:
A change in those dependencies may prevent the firmware from compiling or working as expected. If you find this kind of failure, open a new issue first. If you test a new version of those dependencies and it works as expected, please, inform.
All integration tests must run again in response to these changes. The author makes his best to keep the code up to date with them.