How to contribute

We encourage everybody to contribute to this project in some way. Developers are always welcome, but we also need contributions in other areas. Here is the list of possible areas in which we need help.

  • graphics design (website, logo, icons, branding etc.)
  • documentation writing - tutorial, article, help tip or any other helpful content is welcome. Please see our wiki for this kind of contributions
  • quality control - if you find a bug, or want a feature implemented, please submit a ticket to our issue tracker
  • promotion - we need wide adoption for the project. If you own a website, blog, wiki or other Internet presence, please link to us or write about us.


Contribution requirements

DEMUX Framework is open source software and we welcome all contributions from the company. However, we require that each contributor accepts Contributor's agreement. Please go to this page to review and accept the agreement.

The purpose of the agreement is to clearly define the terms under which intelectual property is being contributed to DEMUX Framework. It ensures that we have legal ground to defend software in case of any legal dispute. Furthermore, it ensures users of the software that they can continue using without fear of any possible legal liability which can arise from disputes related to intelectual property.

Contribution guidelines

This section sumarizes recommended guidelines to follow when contributing to different areas of the project.

Contributing source code

Source code of DEMUX Framework is available from our git repository on BitBucket. The recommended way to submit patches is through fork-pull process, as described in this BitBucket page. When submitting source code patches, please make sure to do the following:

  • Maintain code style as defined in Checkstyle configuration. Maven Checkstyle plugin is configured for the project and can be used to check your code. Make sure there are no erros reposrted by this plugin
  • Static code analysis - we use PMD and FindBugs to perform static code analysis for possible defects. You can run both of these Maven plugins to check your code. Make sure that no errors are reported
  • Unit tests are recommended for all new functionality
  • When sending first pull request, mention that you have read and accepted contributos agreement

Contributing documentation

Good documentation is critical for success of the project. We use project wiki as main hub for documentation. Currently, editing pages is restricted for unauthorized users, and registrations are disabled. If you wish to edit wiki, please contact our administrator to get access. For writing documentation, we recommend the following:

  • all documentation should be written in english
  • examples source code (if any) should be available for download
  • choose a good title and make sure that content is relevant to that title
  • be willing to answer eventual questions about your post