First off, thank you for considering contributing to Orange Button Core. It's people like you that make Orange Button Core such a great libarary.
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
Orange Button Core is an open source project and we love to receive contributions from our community — you! There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into Orange Button itself.
Orange Button Core is intended to be soruce code that can be consumed by application programs, other orange button libraries, etc... It is not intended to be an end to end system. Generally speaking if a particular library component could not be used in at least two client scenarios it does not belong in Orange Button Core. Furthermore source code in Orange Button Core must:
- Follow the design goals stated in the Core documentation
- Be fully commented
- Contain comprehensive test coverage including but not limited to cross platform (Windows, Linux, and Mac) testing.
- Subject to vulnerability scan
- Will be peer reviewed
If source code does not meet all of the above criteria please place it in a different Orange Button repository. It is fine to start code elsewhere and add it to the Core repository at a future date.
Responsibilities
- Follow the notes in the overview.
- Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
- Keep feature versions as small as possible, preferably one new feature per version.
- Be welcoming to newcomers and encourage diverse new contributors from all backgrounds. Being a library programmed in Python the Python Community Code of Conduct is followed.
Unsure where to begin contributing to Orange Button Core? Please enquire on our Slack Channel.
You must sign the Orange Button Individual or Corporate Contributors agreement before enhancing or changing the documentation. Also please send an email to [email protected] or post a message on the Orange Button developers slack channel so we are aware of your intent to contribute.
For all changes follow the procedure documented at the bottom of the Orange Button Open Source Community Site. Our intent is to add more specific information on Continuous Integration, Vulnerability Scans, Code Style, Code Review, etc... as Orange Button Core evolves so please check back for more information.
If you find a security vulnerability, do NOT open an issue. Email [email protected] instead.
Please use GitHub Issues for all bug reports.
Please use the Orange Button Slack Channel to suggest features and enhancements at this point in time. At a future date a more formal process may be adopted.
All code is subject to a peer review. When a pull request is submitted one person with collobaration status must review the code before merging. They will also verify that a contributors agreement is no file before approving the request.
The Orange Button Slack Channel is the best online resource for discussions regarding Orange Button Core. You are also invited to join regular developer meetings (just ask to be invited on the Slack Channel) that occur.