How to Contribute
From something as little as a typo in the documentation to something bigger like a proposal or contribution of a whole new module, we create a constructive atmosphere in which your contribution advances the Camunda community. There are lots of ways to contribute.
Codebase
Make your idea part of Camunda by contributing code or documentation.
Expertise
Help other users get their processes running by sharing your subject matter expertise.
Ideas and feedback
Help make Camunda more awesome by contributing feature ideas and feedback.
Contributing to the codebase
Code contributions are your tool to get things done. Our core Camunda team continuously evaluates the backlog and prioritizes tasks. We try to focus on those tasks that are currently most useful to a majority of users, yet we take the liberty to choose our own work. By providing code, you can improve Camunda products independent of our teams’ priorities.
The range of possible contributions, code and non-code, covers:
- Improvement of documentation
- Issue triage and GitHub management
- Bug fixes
- API extensions
- Entirely new APIs
Code contributions take error reports and feature ideas one step further. We encourage you to share on the user forum before providing the corresponding code. With this additional feedback cycle, you can get hints from experienced Camunda users and developers before investing a lot of effort into implementation.
There are two ways to contribute to the codebase:
- As part of the core Camunda codebase
- As an independent community extension
Core codebase | Community extension |
---|---|
Contributions must fit into the scope of Camunda products. The ultimate decision is up to the core Camunda team. | Suitable for anything, especially things that are not in the core scope of Camunda. |
Code and API must have at least the quality of the core codebase. | No restrictions on code quality and API design. |
Once contributed, code is maintained and supported by Camunda. | Code is maintained and supported by community members. Camunda offers GitHub repository and testing infrastructure. |
Features and fixes remain stable for any future Camunda release. | Project evolution is up to the maintainers. |
Code is released as part of Camunda release cycles. | Release cycle is up to the maintainers. |
Camunda announces major contributions on its communication channels, including the blog, newsletters, and social media. | Possibility to provide content for distribution on Camunda communication channels. |
See the list of existing community extensions to get an idea of what a community extension can be. Some community extensions have been merged into the Camunda core codebase.
Throughout the contribution process, Camunda core developers and the community support you on the contributions forum with:
- Transforming an idea into a feature that can be implemented and documented in the project’s issue tracker
- Discussing whether a feature is in our current scope
- Estimating which release will contain your contribution
- Designing APIs
- Answering technical questions on the source code
For larger contributions (core codebase or community extension), a Camunda core developer will be primarily responsible to guide you through the contribution process and remove any obstacles. However, it’s still you who has to drive the contribution.
See the core Camunda GitHub organization for all the repositories available to you.
You can also browse the Camunda Community Hub GitHub organization for community-maintained extensions to contribute to, or add your own.
When writing code, make sure to adhere to the contribution guidelines provided in the respective repository. When you’re done, submit your contribution as a pull request. A maintainer of the repository will review it and may request improvements. If everything is fine, your code will be merged.
Contributing documentation
We welcome feedback and PRs on documentation as well. For small fixes, like a typo or broken link, each documentation page has a GitHub link that takes you to the source file of the page you are browsing.
For larger fixes, please read our documentation contributing guide for how to get started.
Share your expertise
Camunda forum
Help other users implement their processes with Camunda on the user forum. By sharing your own solutions, you can initiate a constructive discussion around them, gain new insights, and help others.
Join Camunda meet-ups
There are many ways to participate in Camunda meet-ups: as a participant you can join online or in-person events to learn alongside other community members. Become a speaker and share the latest project you’ve been working on, or even start your own Camunda Chapter in your region.
Community education and onboarding
There are many opportunities to share your Camunda expertise in the community:
- Create community content.
- Write a blog post about your experience with Camunda, how you built a Community Hub Extension, etc.
- Be a guest on our Camunda Nation podcast.
- Write walkthroughs, how-to guides, and more.
- Speak at events like CamundaCon, Camunda Community Summit, tech conferences, tech meet-ups, etc.
This list is just a starting point – there are infinite ways to share the Camunda love.
If you would like support to get your idea up and running, please reach out to [email protected].
Share your ideas and feedback
Do you have an idea of how to make Camunda even more awesome? Don’t hesitate to share your thoughts on the Camunda user forum. The forum allows Camunda users and developers to share their thoughts, and to challenge and validate your proposal. If a consensus is reached, we can distill concise feature requests to our issue tracker.
Find something not-so-awesome? Whether it is an error in our documentation or a bug in the core process engine, we welcome error reports of any kind so we can improve Camunda steadily. Share your findings on the Camunda user forum. Help others track down the problem by providing a precise problem description and steps to reproduce the problem.