Thank you for your interest in contributing! This document explains how to contribute and the legal requirements for doing so.
- Fork the repository
- Create a feature branch
- Make your changes
- Sign your commits:
git commit -s -m "Description" - Open a pull request
- Sign the CLA (first-time contributors only)
All commits must include a Signed-off-by line certifying you have the right to submit the code:
git commit -s -m "Add feature X"This adds:
Signed-off-by: Your Name <your.email@example.com>
To configure git for signing:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"The DCO is a lightweight way to certify that you wrote or have the right to submit the code. See developercertificate.org for the full text.
First-time contributors will be asked to sign our CLA via the CLA Assistant bot. This is a one-time requirement.
Why a CLA?
The CLA grants replikativ the right to:
- Distribute your contributions under Apache-2.0 (the project's open source license)
- Offer your contributions under commercial license terms (for customers who prefer them)
Our commitment to you:
- The project will always remain available under an OSI-approved open source license
- Commercial licensing is in addition to, not instead of, the open source license
- Both versions receive the same contributions
- Follow existing code conventions in the project
- Use
clj-kondofor linting - Format with
cljfmtif available
- Follow existing conventions in
src/java/ - Prefer clarity over cleverness
- Document public APIs with Javadoc
- Use present tense ("Add feature" not "Added feature")
- Keep first line under 72 characters
- Reference issues when applicable: "Fix #123: Description"
Run tests before submitting:
clj -T:build compile-java && clj -M:testAdd tests for new functionality when possible.
- Create focused PRs - One feature/fix per PR
- Write clear descriptions - Explain what and why
- Respond to feedback - We may request changes
- Be patient - Reviews may take a few days
- Open an issue for bugs or feature requests
- Discussions for questions and ideas
- Tag maintainers if urgent
By contributing, you agree that your contributions will be licensed under Apache-2.0 and may be included in commercially licensed distributions per the CLA.