Project: Pilosa (App Definition and Development / Database)
File: OPENSOURCE.md

Thank you for your interest in contributing to FeatureBase! We appreciate your support in making this open-source project even better. Here are some guidelines to help you get started with contributing to FeatureBase: Familiarize Yourself with the Project: Visit the FeatureBase website at www.featurebase.com to understand the project's goals, capabilities, and features. Read the documentation available on the website, including the installation guide, configuration options, and data modeling concepts. Explore the codebase by cloning the repository and reviewing the source code. Join the Community: Visit the FeatureBase community page at https://www.featurebase.com/community to learn more about the project's community and how to get involved. Join the Discord server at https://discord.gg/FBn2vEp7Na to chat with other contributors and users, ask questions, and share your ideas. Set Up Your Development Environment: Ensure you have Go installed on your machine. Make sure your shell's search path includes the go/bin directory. Clone the FeatureBase repository or download it as a zip file from the repository's page. Follow the "Build FeatureBase Server from source" instructions in the README file to compile the server binary and the ingester binaries. Choose a Contribution Area: Identify the area you'd like to contribute to, such as bug fixes, new features, performance improvements, documentation updates, or community support. Check the issue tracker on the repository or the FeatureBase community for open issues or feature requests that align with your interests and skills. Alternatively, propose your own idea by creating a new issue. Create a New Branch: Before making any changes, create a new branch in the repository's Git repository. This branch will contain your contributions. Give your branch a descriptive name that reflects the nature of your contribution. Make Your Changes: Follow the coding style and conventions used in the existing codebase. Write clear and concise commit messages for each logical change. If you're introducing new features or modifying existing behavior, make sure to update the documentation to reflect the changes. Test Your Changes: Run the existing test suite to ensure that your modifications do not introduce any regressions. If applicable, write additional tests to cover the changes you made. Document any new testing procedures required for your contribution. Submitting Your Contribution: Push your branch to the main repository or create a fork and submit a pull request to the main repository. Provide a detailed description of your changes, including the problem you solved and the approach you took. Be responsive to any feedback or suggestions provided by the project maintainers or other contributors. Once your contribution is approved, it will be reviewed and merged into the main codebase. Please note that by contributing to FeatureBase, you agree that your contributions will be licensed under the Apache 2.0 license, which governs the project. Thank you for considering contributing to FeatureBase! Your contributions are valuable and help improve the project for everyone.