Project Contributions
Contributing to Open Horizon
"If you can't describe what you are doing as a process, you don't know what you are doing."
W. Edwards Deming
Updates
v0.1 - @Joseph Pearson, initial creation
v0.2 - @Joseph Pearson, pointed to developer documentation site
v0.3 - @Joseph Pearson, added Feature Request Lifecycle section
Introduction
This is a living document, intended to be updated periodically as needed by a majority of the TSC or designees as specified.
Working on issues
Thank you for expressing an interest in learning more about our community. The following steps will help you understand how we work together. Each person wishing to join us should:
Read and understand:
Read the Developer Certificate of Origin and sign all commits (per Technical Charter, section 7.b.ii).
For step-by-step instructions, visit the Common Requests section of the documentation to find:
How to contribute to the project
How to get technical support
Our tool of choice for tracking work is GitHub, and this is where all of our code, artwork, and documentation live. Tasks to be worked on are created as GitHub issues, and you can view open issues in each repository to see what tasks are available to be worked on. Issues that are labelled "good first issue" are most suitable for those learning how to contribute to an open source project.
Reporting issues
If you have noticed a problem or bug with the code, or problem with the documentation, please create a new issue in the right repository. If you have a question about which repository to use, feel free to ask on the #open-horizon-help chat room at https://chat.lfx.linuxfoundation.org/.
Requesting new features
If you'd like to propose a new product feature read about our Feature Request Lifecycle processes. These processes will show you how requests move from Feature Candidate through the requirements design process, and ultimately become supported.
Submitting ideas
If you have a thought or idea for something we should be working on, create a new discussion in our GitHub project's Project Summary repo. This will allow you to specify as much about the idea as you can, and then allow others to give feedback and to flesh it out into something actionable. If possible, add descriptive labels to your discussion topic.
Large Code Contributions **DRAFT**
If you would like to contribute a large amount of code, it should be self-contained, complete, functioning, and compatible with the existing project codebase. To begin the process, please reach out to the TSC Chair to discuss. Any persons involved in this contribution would ideally already be active stakeholders in the project.
The high-level process for accepting the code is as follows:
TSC ... are these the correct steps, in the right order, and is anything missing?