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. It’s up to you to choose how you want to contribute.
Help other users get their processes running by contributing your subject matter expertise on the Camunda forumLearn more
Share your Expertise
Assist other users to implement their processes with Camunda BPM on the user forum. By sharing your own solutions, you can initiate a constructive discussion around them, gain new insights and help others.
Contribute Error Reports
Be it an error in our documentation or a bug in the core process engine, we welcome error reports of any kind so that 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.
For anything code-related, consider creating a test case that reproduces the problem. See the unit testing template for a ready-made Java project that saves you the effort of setting up a Camunda Maven project from scratch.
Share your Ideas
We strive to make Camunda BPM better every day. Check our JIRA issue tracker for the entire backlog of feature ideas.
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. This environment allows Camunda users and developers to share their thoughts, to challenge and to validate your proposal. If a consensus is reached, we can distill concise feature requests to our issue tracker (e.g. Camunda JIRA issue tracker for the core of Camunda BPM).
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 most useful to a majority of users yet we take the liberty to choose our own work. By providing code, you improve Camunda BPM and become independent of our teams’ priorities.
The range of possible contributions covers:
- Improvement of documentation
- Bug fixes
- API extensions
- Entirely new APIs
Code contributions take error reports and feature ideas one step further. Unless it’s a simple fix, we encourage you to share those 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.
Code can be contributed in two forms:
- As part of the core Camunda codebase
- As an independent community extension
|Core Codebase||Community Extension|
|Contributions must fit into the scope of Camunda BPM. 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 BPM release cycles.||Release cycle is up to the maintainers.|
|Camunda announces major contributions on its communication channels (Blog, Twitter, …).||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.
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 Camunda Github organization for all the repositories available to you. The primary ones are:
- camunda-bpm-platform: Core codebase of the process engine, REST API, application server integration and core extension modules (CDI, Spring)
- camunda-modeler: Core codebase of the Camunda Modeler desktop application
- camunda-docs-manual: Documentation accessible on docs.camunda.org
When writing code, make sure to adhere to the contribution guidelines that are 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.
For documentation improvements, note that every page has a Github link that directly takes you to the source file of the documentation page you are browsing.
Stay Up to Date
Subscribe to our monthly Developer Community Newsletter to receive great technical content as well as information about upcoming events and more.Subscribe