This is documentation for the old, first-generation Kaa platform v0.x.
Next generation Kaa Enterprise IoT platform is now available! Try it free with a 30-days trial.
Kaa Enterprise documentation is here.
. . .

Contribution guide

Welcome to the Kaa community!

As an open-source project, Kaa platform thrives from contributions by people like you. We would love to see you mastering the Kaa source code; however, writing code is not the only way you can contribute to Kaa.

Feel free to use all of the contribution options:

  • Join Kaa Stack Overflow to find answers to technical Kaa-related questions, and help others in the community. Make sure to include the kaa tag in your post.
  • Join Kaa forum to find answers to common user questions, give your feedback, ideas and suggestions, as well as for general discussions.
  • Use Jira to report issues and request new features. When reporting issues, please make sure you provide as much detail as possible so that the reported issue can be resolved effectively. See Jira flow.
  • Contribute to Kaa project repositories on GitHub. See Git flow.

Contribute to source code

If you are willing to contribute to the Kaa code base, or submit sample applications for Kaa Sandbox:

  1. Register at Kaa public Jira.

  2. Fill out and sign the Individual Contributor Licensing Agreement (ICLA).

    NOTE: If you are contributing on behalf of an organization, you would also need to sign the Corporate Contributor License Agreement (CCLA). Please sign, scan and send the forms to

  3. Create a Jira ticket describing your finding and/or the proposed change.

    NOTE: When you contribute to Kaa project on GitHub, make sure you post your pull request link in the comments section of the related Jira ticket and change the ticket status to In review. See Git flow and Jira flow.

Contribute to documentation

Documentation is a part of the Kaa code base. You can find the documentation files in the doc/ subdirectory of the main repository. This means that the contribution process is the same for both the source code and documentation.

Contributing to the Kaa documentation, make sure to complete the following:

  • Select Component: Documentation in the corresponding Jira ticket.
  • Generate and check documentation locally before committing. See Preview documentation.
  • Check with the Documentation style guide to make sure your contribution complies with the Kaa requirements.

Preview documentation

To preview the documentation locally and make sure it meets the Kaa requirements:

  1. Install the required software:

    Follow the instructions for your platform below.

  • sudo apt-get update
    sudo apt-get install -y git ruby2.0 ruby2.0-dev build-essential
    sudo gem2.0 install -N jekyll jekyll-gist jekyll-sitemap rouge
    sudo apt-get update
    sudo apt-get install -y git build-essential ruby ruby-dev ruby-ffi
    sudo gem install -N jekyll jekyll-gist jekyll-sitemap rouge
    sudo yum install -y ruby git ruby-devel
    sudo yum groupinstall -y 'Development Tools'
    sudo gem install -N jekyll jekyll-gist jekyll-sitemap rouge
    nix-shell doc/shell.nix --run ./
  1. Open the root directory of your git code branch and delete the test-gh-pages-*/ folder if it exists.
  2. Run the script to generate documentation and access it at your http://localhost:4000/.

    user@host:/kaa$ ./
    Server address:
    Server running... press ctrl-c to stop.