Thank you for considering contributing to OpenOps - any contribution is welcome!
Your involvement will help improve FinOps automation for everyone, and this guide outlines how you can do it effectively.
- Reporting and fixing bugs: If you encounter any issues, please open an issue to inform us. Please let us know if you plan to raise a PR for the issue.
- Suggesting Features: Have ideas for improvements? Propose a feature for discussion. We love every idea!
- Improving Documentation: Notice any gaps or errors in our documentation? Submit a PR with your corrections or enhancements in our docs repository.
- Sharing Use Cases: Real-world examples help others see the potential of OpenOps in their organizations.
- Joining the Community: We welcome you in the OpenOps Slack community.
- Spreading the Word: Tell others about OpenOps through blog posts, talks, or social media ❤️
To contribute code or documentation:
-
Fork the Repository: Create your own copy of the repository.
-
Create a Branch: Use a descriptive name, e.g.,
fix-issue-xyzorfeature-abc. -
Make Changes: Implement your changes in the new branch.
-
Test Your Changes: Ensure your code works as expected and doesn't break existing functionality.
-
Commit Changes: Write clear, concise commit messages.
-
Push to Your Fork: Push your changes to your GitHub fork.
-
Open a Pull Request: Navigate to the original repository and open a pull request from your forked repository.
-
Describe Your Changes: In the PR description, explain what your changes do and why they're needed.
Note: For any significant changes, we recommend discussing them via an issue or on our Slack before implementation to ensure alignment and gather feedback.
If you find a bug:
- Search Existing Issues: Check if the issue has already been reported.
- Open a New Issue: If not found, create a new issue with:
- A descriptive title.
- Steps to reproduce the issue.
- Expected and actual behavior.
- Screenshots or logs, if applicable.
- Your environment (OS, browser, version, etc.).
We take every bug report seriously and appreciate your help in making OpenOps better!
To propose a new feature:
- Search Existing Issues: Ensure the feature hasn't been suggested.
- Open a New Issue: If not found, create a new issue and tag it as an
improvement. Include:- A clear description of the feature.
- The problem it solves.
- Any relevant context or examples.
- Potential implementation approaches, if you have ideas.
- Through Slack: Discuss your ideas with the OpenOps team in the Slack community.
We love innovative ideas that can take OpenOps to the next level!
When contributing code, please follow these guidelines:
- Follow existing code style and patterns in the repository.
- Write clear, self-documenting code with descriptive variable and function names.
- Include comments for complex logic or non-obvious behavior.
- Write tests for new functionality and any changes.
- Update documentation for user-facing changes.
Join our community to discuss ideas, ask questions, and connect with other contributors:
We believe in recognizing contributions. Contributors will be:
- Mentioned in the release notes once their contribution is accepted
- Considered for early access to new features.
If you have any questions about contributing, please reach out:
We appreciate your contributions and look forward to collaborating with you!
OpenOps leverages code from other open-source projects, such as ActivePieces, Baserow, Superset, React Flow, and more. Huge thanks to the OSS community; we are thrilled to be a part of it and contribute back.
By contributing to OpenOps, you agree that your contributions will be licensed under the project's Apache 2.0 License.
