Anyone who's interested in contributing code (features, fixes, documentation) to one of the OpenSearch Project open-source repositories for the first time.
- Understand the key concepts of the OpenSearch Project and how to find additional resources.
- Set up the accounts you'll need to contribute.
- Read (3 min) the project homepage to get a sense of what the OpenSearch software does and how it's used.
- Read (4 min) "About OpenSearch" to understand the primary project components and development principles.
- Optional - Read founding documents to understand the project history
- Read (2 min) "Linux Foundation Announces OpenSearch Software Foundation from September, 2024.
- Read (8 min) "Introducing OpenSearch" from April, 2021.
- Read (6 min) "Stepping up for a truly open source Elasticsearch" from January, 2021.
We model our way of working on "the Apache Way" (optional - read 4 min). Specifically, we've borrowed and adapted:
- Community Over Code: A healthy community is a higher priority than good code. Strong communities can always rectify problems with their code, whereas an unhealthy community will likely struggle to maintain a codebase in a sustainable manner.
- Earned Authority: All individuals are given the opportunity to participate, but their influence is based on publicly earned merit – what they contribute to the community. Merit lies with the individual, does not expire, is not influenced by employment status or employer, and is non-transferable (merit earned in one project cannot be applied to another).
- Open Communications: All communications related to code and decision-making should be publicly accessible to ensure asynchronous collaboration, as necessitated by a globally-distributed community.
- Community of Peers: Individuals participate, not organizations. Roles are equal irrespective of title, votes hold equal weight, and contributions are made on a voluntary basis (even if paid to work on code).
- Progress over Perfection: Struggling with a test failure? Can't quite figure out why that data structure isn't doing what you expect? Feeling defeated by the complexities of that massively distributed compute engine? The community idea exists to help each other through difficult problems. So fail early, commit often, ask for help, and don't be afraid.
Contributors are subject to a code of conduct, and it's essential that all contributions are original work.
- Read (6 min) the OpenSearch Code of Conduct.
- Read (6 min) the OpenSearch CONTRIBUTING Guide. Please make sure you understand the implications of the Developer Certificate of Origin.
There are more than 100 GitHub repositories that are part of the OpenSearch project. Explore the list to get a sense of the project breadth and scope.
- The roadmap provides a single place to keep track of upcoming releases and current projects.
Looking for answers? While the forum and Slack are always a good option, it's worth checking these first.
- Frequently Asked Questions.
- User Documentation.
- Developer Documentation
- Start with
DEVELOPER_GUIDE.md
in the repository you'll be working in (see OpenSearch or OpenSearch Dashboards guides). - Most repositories have many other documentation files. To find them, search for Markdown files (
*.md
- example), either on GitHub or in your editor.
- Start with
To create issues, leave comments, or submit pull requests, you'll need a GitHub account. Already have a GitHub account? Great! If not, it's quick to get started. (We've summarized the most important steps for the OpenSearch project here, but for more complete information, see the GitHub documentation.)
- Do (2 min) Sign up for an account by navigating to https://github.com/ and following the prompts (source).
- Do (4 min) Verify your email address.
- Recommended - Do (20 min) Set up GitHub to connect with SSH
- Recommended - Do (8 min) Configure 2-factor authentication.
- Optional - Read (5 min) If you're new to using GitHub or git, we recommend reviewing "Using GitHub's tools and processes".
There are multiple ways to connect with the OpenSearch community, the forum and Slack are the best places to start.
- Do (2 min) create an OpenSearch forum account.
- Do (2 min) create an OpenSearch Slack account.