You can contribute to libcoap in several ways:

Mailing Lists

You are welcome to subscribe to the libcoap developers' mailing list and ask questions, discuss the latest features or report bugs.

View details »

Report Bugs

If you have encountered bugs or want to request a new feature, you can open a new ticket at the libcoap bug tracking tool.

Bug Tracker »

Fix Bugs

If you encounter bugs in the main tree please include a patch or a link to your fork with your bug tracker ticket. You can also start a discussion on the mailing list.

Write Documentation

Howtos, more API documentation
platform-specific documentation

User Guides

User guides and howtos are collected here.

API Reference

A doxygen-generated API reference is available here

Cleanup Code

As the library has evolved while no explicit coding style was published, the code style has become inconsistent and cluttered with whitespace here and there. You can help by cleaning it up!

Coding style

Develop Code

New features are developed in topic branches and will be merged into the develop branch once they are tested and agreed to. Please make sure that your contribution adheres to the libcoap coding style and that you have read and understood the rules given in the CONTRIBUTE document of the library.

Write Tests

libcoap comes with a set of unit tests to check the core functionality. As always, more tests are needed, including a port of the ETSI CoAP plugtest specs to the CUnit test framework used my libcoap.

Moreover, libcoap is part of the Continuous Fuzzing for Open Source Software activity. More fuzzing tests are needed (see tests/oss-fuzz in the libcoap repository).

Branching Model

libcoap follows a branching model presented in this post by Vincent Driessen. The main branches are the main where stable releases go. A release being in preparation lives in branch release, while the current development branch is develop.

Roadmap

If you want to engage in developing libcoap features, please have a look at the Roadmap document for additional guidance on the bigger plan.

libcoap

  • Olaf Bergmann •  bergmann@tzi.org  •  2015—2023
  • PGP key fingerprint: 5E5B E022 04CA 0B0E A2A0 0CBA A845 261A 9F38 A9A0

    (former PGP key fingerprint: 5111 C4C4 4DB3 7FFB 1EA3 E264 606A 6D46 C40B F79B)