How-To contribute

From AGILE IoT Wiki
Jump to: navigation, search

Report Bugs and Enhancements

Download the latest version of AGILE and verify that the issue still appears. If it does, please check the the agile-issues repository for for the same problem encountered by others and join the discussion, or create a new issue following the provided report template. Note that this repository is for bug reports and feature requests only. Support requests should be sent to

Enhancements: the the agile-issues repository is also available for starting a structured discussion on your killer feature ideas! Noy yet ready to formulate your idea? Head to and talk to the community!

Code Contribution

Did you encounter some bug and have a fix for it? Did you extend AGILE for your own use and would like to share your results? Contribute code and become part of the AGILE ecosystem! Since the AGILE framework is relatively complex, we have set up different procedures for different types of contributions, so please make sure to follow the appropriate one. We are also happy to discuss feature request or other proposals on

AGILE code is licensed under the Eclipse Public License 2.0. In order to keep the code clean and reusable, code contributions should also follow Eclipse procedures. For you code to be accepted, you should also be either an Eclipse Committer or Contributor. This latter is a simple procedure, which we need in order to guarantee that your code is compliant with the terms of the License.

Fixes in existing AGILE repositories

For your code to be considered, you should use the GitHub pull request (PR) mechanism of the specific repository. Please create a GitHub user, fork our repository, develop your change on a dedicated (topic) branch, and prepare an upstream PR against our repository (preferably the master branch).

New device implementation

Please create a GitHub PR against the agile-core repository. Your PR should not contain anything else than the implementation of the device class. To include the device, we need to code under EPL2.0, and you should either be an Eclipse Committer or Contributor.

If your device implementation is closed source or not (yet) under EPL, contact us!

New protocol implementations

Protocol implementations are added to the system at docker compose level. We can include your protocol implementation in the codebase if it is correctly licensed under the Eclipse Public License 2.0. For closed source and non EPL licensed protocol implementations, we are happy to host pointers in our Wiki, but we cannot directly link them to the code.

In both cases, please provide a "feature request issue in the agile-issues repository, containing:

  1. Link to a repository with your code,
  2. The docker-compose fragment required to add your code the the system,
  3. A walk-through like example of how your protocol can be used in the system.