Contribution Policy
Overview
This page describes how to contribute code to the Bloomreach Content project. It outlines contributor roles, the patch submission process, and licensing requirements.
Roles and Privileges
The table below summarizes the available roles and their associated privileges:
| Role | Privilege |
|---|---|
| contributor | Supply patches |
| committer | Commit source code changes |
| reviewer | Approve or reject proposed changes |
- All users have read access to the community edition source code.
- Anyone can contribute by submitting patches. Contributors do not have direct write access.
- Only Bloomreach can grant committer status. To become a committer, you must submit multiple high-quality patches demonstrating your expertise.
Submitting Patches
Licensing Requirements
All external contributions must be licensed appropriately. Bloomreach only accepts contributions under the Apache Software License 2.0 (ASL 2.0) or a compatible license.
For small patches, you can confirm the license by adding a comment to the relevant Jira issue stating that your contribution is provided under ASL 2.0. For larger or ongoing contributions, Bloomreach may require a signed Contributor Agreement based on the Apache Software Foundation Contributor Agreement.
In most cases, a comment on the Jira issue confirming ASL 2.0 licensing is sufficient.
Patch Submission Process
To submit a patch:
- Create a Jira issue in the Bloomreach Content project.
- Specify the minimum version that should receive the patch as the fix version.
- Include a statement about the licensing (see above).
- Indicate if you want your name or company listed in the release notes. If not, use a customer-specific Jira project.
- Attach your code to the Jira issue.
- Ensure the code is properly formatted.
- Include Javadoc and unit tests.
- After you create the issue, the helpdesk will forward it to the Engineering team for triage.
- The Engineering team reviews the patch and determines if it can be applied.
- If changes are required, the Jira issue is reassigned to you. Address the feedback and resubmit (return to step 3).
- If the patch is accepted, the Engineering team commits the code to the current development branch and backports it to the relevant maintenance branch as appropriate.
Jira Issues and Backporting
Bloomreach creates separate Jira issues for backports. This approach ensures that fix version tracking remains accurate for both the initial commit and any backported changes. Using separate issues avoids ambiguity about when a backport was applied and eliminates the need to review commit logs for verification. For more information, see Backports.
Info:
Non-Code ContributionsBloomreach also welcomes non-code contributions, such as documentation. The process for these contributions is less formal. To get started, post a message in the forum.